[PATCH v9 08/27] mailbox: Add Gunyah message queue mailbox
Alex Elder
elder at linaro.org
Mon Feb 6 06:00:46 PST 2023
On 2/2/23 3:59 AM, Srinivas Kandagatla wrote:
>>
>> +static irqreturn_t gh_msgq_rx_irq_handler(int irq, void *data)
>> +{
>> + struct gh_msgq *msgq = data;
>> + struct gh_msgq_rx_data rx_data;
>> + unsigned long gh_err;
>> + bool ready = true;
>> +
>> + while (ready) {
>> + gh_err = gh_hypercall_msgq_recv(msgq->rx_ghrsc->capid,
>> + (uintptr_t)&rx_data.data, sizeof(rx_data.data),
> you should proabably use GH_MSGQ_MAX_MSG_SIZE instead of calling sizeof
> for every loop.
I disagree with this comment.
I think sizeof(object) conveys more meaning that CONSTANT_SIZE,
and both values are known at compile time (so there is no cost
of "calling sizeof" a lot.
-Alex
>
>> + &rx_data.length, &ready);
>> + if (gh_err == GH_ERROR_OK) {
>> + mbox_chan_received_data(gh_msgq_chan(msgq), &rx_data);
>> + } else if (gh_err == GH_ERROR_MSGQUEUE_EMPTY) {
>> + break;
>> + } else {
>> + pr_warn("Failed to receive data from msgq for %s: %zd\n",
>> + msgq->mbox.dev ? dev_name(msgq->mbox.dev) : "", gh_err);
>> + break;
>> + }
>> + }
>> +
>> + return IRQ_HANDLED;
>> +}
More information about the linux-arm-kernel
mailing list