Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/rpmsg/qcom_glink_native.c qcom_glink_send_read_notify() -> qcom_glink_tx_write()

Type Parameter Key Value
PARAM_VALUE 0 glink 4096-ptr_max
PARAM_VALUE 0 glink->abort_tx 0
PARAM_VALUE 0 glink->sent_read_notify 1
PARAM_VALUE 0 glink->tx_pipe 4096-ptr_max
PARAM_VALUE 0 glink->tx_pipe->avail 4096-ptr_max
PARAM_VALUE 0 glink->tx_pipe->length 1-u64max
PARAM_VALUE 1 hdr 4562523160134709248
PARAM_VALUE 2 hlen 8
PARAM_VALUE 3 data 0
PARAM_VALUE 4 dlen 0
BUF_SIZE 0 glink->dev->groups (-1),16
BUF_SIZE 0 glink->label (-1),7
BUF_SIZE 1 hdr 8
DATA_SOURCE 0 glink $0
STR_LEN 0 glink (-1),12
STR_LEN 0 glink (-1),12
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 hlen unit_byte
LOCK2 flags
LOCK2 0 &glink->tx_lock
HALF_LOCKED2 &channel->intent_req_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct qcom_glink)->tx_lock

drivers/rpmsg/qcom_glink_native.c qcom_glink_tx() -> qcom_glink_tx_write()

Type Parameter Key Value
PARAM_VALUE 0 glink 4096-ptr_max
PARAM_VALUE 0 glink->abort_tx 0
PARAM_VALUE 0 glink->tx_pipe 4096-ptr_max
PARAM_VALUE 0 glink->tx_pipe->avail 4096-ptr_max
PARAM_VALUE 0 glink->tx_pipe->length 1-u64max
PARAM_VALUE 1 hdr 4096-ptr_max
PARAM_VALUE 2 hlen 0-s32max,18446744071562067968-u64max
PARAM_VALUE 3 data 0,4096-ptr_max
PARAM_VALUE 4 dlen 0-s32max,18446744071562067968-u64max
BUF_SIZE 0 glink (-1),648
BUF_SIZE 0 glink (-1),648
BUF_SIZE 0 glink->dev->groups (-1),16
BUF_SIZE 0 glink->label (-1),7
BUF_SIZE 1 hdr 8,16,40
BUF_SIZE 1 hdr 8,16,40
DATA_SOURCE 0 glink $0
DATA_SOURCE 1 hdr $1
DATA_SOURCE 2 hlen $2
DATA_SOURCE 3 data $3
DATA_SOURCE 4 dlen $4
STR_LEN 0 glink (-1),12
STR_LEN 0 glink (-1),12
PARAM_COMPARE 0 glink->tx_pipe->length > $2
PARAM_COMPARE 2 hlen < $0->tx_pipe->length
PARAM_COMPARE 4 dlen < $0->tx_pipe->length
PARAM_COMPARE 4 dlen < $0->tx_pipe->length
BIT_INFO 2 hlen 0x0,0x7ffffff8
BIT_INFO 2 hlen 0x0,0x7ffffff8
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 4 dlen 2-2147483644[c]
USER_DATA 4 dlen 2-3999998[c]
UNITS 2 hlen unit_byte
UNITS 3 data unit_byte
UNITS 4 dlen unit_byte
USER_PTR 3 data
LOCK2 flags
LOCK2 0 &glink->tx_lock
HALF_LOCKED2 &channel->intent_req_lock
TYPE_LOCK (struct qcom_glink)->tx_lock