From 32660f9ff9608dc595f4bdf3944a3ceb37d67a79 Mon Sep 17 00:00:00 2001 From: Davide Grohmann Date: Wed, 27 Apr 2022 16:49:07 +0200 Subject: Use ids for identifying messages sent to EthosU firmware Avoid to use pointers to kernel memory as identify messages, prior this change, if memory is reused that can lead to unexpected conflicts. Remove ref counting from capabilities and network_info since memory is freed in only one place. Finally, extract the capabilities code in its own files. Change-Id: I9ab7257f3ab85fa3347be65b3739e0daf9b5a441 --- kernel/ethosu_network_info.h | 30 ++++-------------------------- 1 file changed, 4 insertions(+), 26 deletions(-) (limited to 'kernel/ethosu_network_info.h') diff --git a/kernel/ethosu_network_info.h b/kernel/ethosu_network_info.h index 680be80..facca54 100644 --- a/kernel/ethosu_network_info.h +++ b/kernel/ethosu_network_info.h @@ -28,7 +28,6 @@ #include "ethosu_core_interface.h" #include "ethosu_mailbox.h" -#include #include #include @@ -44,7 +43,6 @@ struct ethosu_network_info { struct ethosu_device *edev; struct ethosu_network *net; struct ethosu_uapi_network_info *uapi; - struct kref kref; struct completion done; int errno; struct ethosu_mailbox_msg msg; @@ -55,34 +53,14 @@ struct ethosu_network_info { ****************************************************************************/ /** - * ethosu_network_info_create() - Create network info + * ethosu_network_info_request() - Send a network info request * * This function must be called in the context of a user space process. * - * Return: Valid pointer on success, else ERR_PTR. + * Return: 0 on success, . */ -struct ethosu_network_info *ethosu_network_info_create( - struct ethosu_device *edev, - struct ethosu_network *net, - struct ethosu_uapi_network_info *uapi); - -/** - * ethosu_network_info_get() - Get network info - */ -void ethosu_network_info_get(struct ethosu_network_info *info); - -/** - * ethosu_network_info_put() - Put network info - * - * Return: 1 if object was removed, else 0. - */ -int ethosu_network_info_put(struct ethosu_network_info *info); - -/** - * ethosu_network_info_wait() - Get network info - */ -int ethosu_network_info_wait(struct ethosu_network_info *info, - int timeout); +int ethosu_network_info_request(struct ethosu_network *net, + struct ethosu_uapi_network_info *uapi); /** * ethosu_network_info_rsp() - Handle network info response. -- cgit v1.2.1