1# Copyright (c) 2022 Nordic Semiconductor (ASA) 2# SPDX-License-Identifier: Apache-2.0 3 4config IPC_SERVICE_ICMSG_SHMEM_ACCESS_SYNC 5 bool "Synchronize access to shared memory" 6 depends on MULTITHREADING 7 default y 8 help 9 Provide synchronization access to shared memory at a library level. 10 This option is enabled by default to allow to use sending API from 11 multiple contexts. Mutex is used to guard access to the memory. 12 This option can be safely disabled if an application ensures data 13 are sent from single context. 14 15config IPC_SERVICE_ICMSG_SHMEM_ACCESS_TO_MS 16 int "Mutex lock timeout in milliseconds" 17 depends on IPC_SERVICE_ICMSG_SHMEM_ACCESS_SYNC 18 range 1 5 19 default 1 20 help 21 Maximum time to wait, in milliseconds, for access to send data with 22 backends basing on icmsg library. This time should be relatively low. 23 24config IPC_SERVICE_BACKEND_ICMSG_WQ_ENABLE 25 bool "Use dedicated workqueue" 26 depends on MULTITHREADING 27 default y 28 help 29 Enable dedicated workqueue thread for the ICMsg backend. 30 Disabling this configuration will cause the ICMsg backend to 31 process incoming data through the system workqueue context, and 32 therefore reduces the RAM footprint of the backend. 33 Disabling this config may result in deadlocks in certain usage 34 scenarios, such as when synchronous IPC is executed from the system 35 workqueue context. 36 The callbacks coming from the backend are executed from the workqueue 37 context. 38 When the option is disabled, the user must obey the restrictions 39 imposed by the system workqueue, such as never performing blocking 40 operations from within the callback. 41 42if IPC_SERVICE_BACKEND_ICMSG_WQ_ENABLE 43 44config IPC_SERVICE_BACKEND_ICMSG_WQ_STACK_SIZE 45 int "Size of RX work queue stack" 46 default 1280 47 help 48 Size of stack used by work queue RX thread. This work queue is 49 created to prevent notifying service users about received data 50 from the system work queue. The queue is shared among instances. 51 52config IPC_SERVICE_BACKEND_ICMSG_WQ_PRIORITY 53 int "Priority of RX work queue thread" 54 default -1 55 range -256 -1 56 help 57 Priority of the ICMSG RX work queue thread. 58 The ICMSG library in its simplicity requires the workqueue to execute 59 at a cooperative priority. 60 61endif 62 63config IPC_SERVICE_ICMSG_UNBOUND_ENABLED_ALLOWED 64 bool "Instance is allowed to set unbound to enabled" 65 default y 66 help 67 Controls whether the "enabled" value of the "unbound" 68 property is allowed to be set in any of the ICMsg instances. You 69 can set this option to "n", if you want to reduce code size and 70 no instance of ICMsg is using unbound functionality. 71 72config IPC_SERVICE_ICMSG_UNBOUND_DISABLED_ALLOWED 73 bool "Instance is allowed to set unbound to disabled" 74 default y 75 help 76 Controls whether the "disabled" value of the "unbound" 77 property is allowed to be set in any of the ICMsg instances. You 78 can set this option to "n", if you want to reduce code size and 79 all instances of ICMsg are using unbound functionality. 80 81config IPC_SERVICE_ICMSG_UNBOUND_DETECT_ALLOWED 82 bool "Instance is allowed to set unbound to detect" 83 default y 84 help 85 Controls whether the "detect" value of the "unbound" 86 property is allowed to be set in any of the ICMsg instances. You 87 can set this option to "n", if you want to reduce code size and 88 all instances of ICMsg are using unbound detection functionality. 89 90# The Icmsg library in its simplicity requires the system workqueue to execute 91# at a cooperative priority. 92config SYSTEM_WORKQUEUE_PRIORITY 93 range -256 -1 if !IPC_SERVICE_BACKEND_ICMSG_WQ_ENABLE 94 95config PBUF 96 bool "Packed buffer support library" 97 help 98 The packet buffer implements lightweight unidirectional packet buffer 99 with read/write semantics on top of a memory region shared by the 100 reader and writer. It optionally embeds cache and memory barrier 101 management to ensure correct data access. 102 103if PBUF 104 105config PBUF_RX_READ_BUF_SIZE 106 int "Size of PBUF read buffer in bytes" 107 default 128 108 109endif # PBUF 110