[PATCH] mailbox: add support for doorbell/signal mode controllers

Jassi Brar jassisinghbrar at gmail.com
Wed Nov 1 20:02:44 PDT 2017


On Thu, Nov 2, 2017 at 3:47 AM, Bjorn Andersson
<bjorn.andersson at linaro.org> wrote:
> On Wed 01 Nov 11:15 PDT 2017, Sudeep Holla wrote:
>>
>>  80         writel_relaxed(msg->cmd, mb->mbox_base +
>> MAILBOX_A2B_CMD(chans->idx));
>>  81         writel_relaxed(msg->rx_size, mb->mbox_base +
>>
>>  82                        MAILBOX_A2B_DAT(chans->idx));
>>
>>  83
>
> This is just terrible, using the void *mssg to pass a struct which is
> interpreted by the controller removes any form of abstraction provided
> by the framework.
>
> In my view the void *mssg should point to the data to be written in the
> mailbox register, and hence might be of different size - but only of
> native type.
>
Please note the terrible 'rx_size' is not a software option - the
hardware has a DAT register so the driver rightfully allows a client
to write a value in that as well.



More information about the linux-arm-kernel mailing list