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

From: Jassi Brar
Date: Wed Nov 01 2017 - 23:03:12 EST


On Thu, Nov 2, 2017 at 3:47 AM, Bjorn Andersson
<bjorn.andersson@xxxxxxxxxx> 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.