Merge "arm64: defconfig: Set qrtr wakeup for lito"

This commit is contained in:
qctecmdr 2021-09-06 02:04:02 -07:00 committed by Gerrit - the friendly Code Review server
commit 8c79c6778a
4 changed files with 15 additions and 1 deletions

View file

@ -259,6 +259,7 @@ CONFIG_NET_ACT_MIRRED=y
CONFIG_NET_ACT_SKBEDIT=y CONFIG_NET_ACT_SKBEDIT=y
CONFIG_DNS_RESOLVER=y CONFIG_DNS_RESOLVER=y
CONFIG_QRTR=y CONFIG_QRTR=y
CONFIG_QRTR_WAKEUP_MS=500
CONFIG_QRTR_SMD=y CONFIG_QRTR_SMD=y
CONFIG_QRTR_MHI=y CONFIG_QRTR_MHI=y
CONFIG_BPF_JIT=y CONFIG_BPF_JIT=y

View file

@ -265,6 +265,7 @@ CONFIG_NET_ACT_MIRRED=y
CONFIG_NET_ACT_SKBEDIT=y CONFIG_NET_ACT_SKBEDIT=y
CONFIG_DNS_RESOLVER=y CONFIG_DNS_RESOLVER=y
CONFIG_QRTR=y CONFIG_QRTR=y
CONFIG_QRTR_WAKEUP_MS=500
CONFIG_QRTR_SMD=y CONFIG_QRTR_SMD=y
CONFIG_QRTR_MHI=y CONFIG_QRTR_MHI=y
CONFIG_BPF_JIT=y CONFIG_BPF_JIT=y

View file

@ -14,6 +14,17 @@ config QRTR
if QRTR if QRTR
config QRTR_WAKEUP_MS
int "QRTR Wakeup timeout"
default 0
help
This option is used to configure the wakesource timeout that QRTR
should take when a packet is received. The qrtr driver can guarantee
that the packet gets queued to the socket but cannot guarantee the
client process will get time to run if auto sleep is enabled. This
config will help mitigate missed packets on systems where auto sleep
is aggressive.
config QRTR_SMD config QRTR_SMD
tristate "SMD IPC Router channels" tristate "SMD IPC Router channels"
depends on RPMSG || (COMPILE_TEST && RPMSG=n) depends on RPMSG || (COMPILE_TEST && RPMSG=n)

View file

@ -123,6 +123,7 @@ static inline struct qrtr_sock *qrtr_sk(struct sock *sk)
} }
static unsigned int qrtr_local_nid = 1; static unsigned int qrtr_local_nid = 1;
static unsigned int qrtr_wakeup_ms = CONFIG_QRTR_WAKEUP_MS;
/* for node ids */ /* for node ids */
static RADIX_TREE(qrtr_nodes, GFP_KERNEL); static RADIX_TREE(qrtr_nodes, GFP_KERNEL);
@ -843,7 +844,7 @@ int qrtr_endpoint_post(struct qrtr_endpoint *ep, const void *data, size_t len)
cb->type != QRTR_TYPE_RESUME_TX) cb->type != QRTR_TYPE_RESUME_TX)
goto err; goto err;
pm_wakeup_ws_event(node->ws, 0, true); pm_wakeup_ws_event(node->ws, qrtr_wakeup_ms, true);
skb->data_len = size; skb->data_len = size;
skb->len = size; skb->len = size;