lkml.org 
[lkml]   [2014]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCHv10 2/4] mailbox: Introduce framework for mailbox


On 22/09/14 19:01, Ashwin Chaugule wrote:
> Hi Jassi,
>
> On 1 August 2014 08:31, Jassi Brar <jaswinder.singh@linaro.org> wrote:
>> Introduce common framework for client/protocol drivers and
>> controller drivers of Inter-Processor-Communication (IPC).
>>
>> Client driver developers should have a look at
>> include/linux/mailbox_client.h to understand the part of
>> the API exposed to client drivers.
>> Similarly controller driver developers should have a look
>> at include/linux/mailbox_controller.h
>>
>> Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
>> ---
>> MAINTAINERS | 8 +
>> drivers/mailbox/Makefile | 4 +
>> drivers/mailbox/mailbox.c | 466 +++++++++++++++++++++++++++++++++++++
>> include/linux/mailbox_client.h | 46 ++++
>> include/linux/mailbox_controller.h | 135 +++++++++++
>> 5 files changed, 659 insertions(+)
>> create mode 100644 drivers/mailbox/mailbox.c
>> create mode 100644 include/linux/mailbox_client.h
>> create mode 100644 include/linux/mailbox_controller.h
>>
>
> [..]
>
>> +
>> +static void poll_txdone(unsigned long data)
>> +{
>> + struct mbox_controller *mbox = (struct mbox_controller *)data;
>> + bool txdone, resched = false;
>> + int i;
>> +
>> + for (i = 0; i < mbox->num_chans; i++) {
>> + struct mbox_chan *chan = &mbox->chans[i];
>> +
>> + if (chan->active_req && chan->cl) {
>> + resched = true;
>> + txdone = chan->mbox->ops->last_tx_done(chan);
>> + if (txdone)
>> + tx_tick(chan, 0);
>> + }
>> + }
>> +
>> + if (resched)
>> + mod_timer(&mbox->poll, jiffies +
>> + msecs_to_jiffies(mbox->period));
>
> While preparing a different patch which uses the Mbox framework, I
> noticed that mbox->period might not be initialized anywhere. Also, how
> is mbox->txpoll_period to be used? It appears from the description of
> txpoll_period in mbox_controller.h that you'd want to use that value
> in the mod_timer above, or equate the two somewhere in the controller
> registration or eliminate one of the two. FWIW I also looked at your
> code in [1].
>

IIUC the controller needs to set the txpoll_period if it sets
txdone_poll, may be a sanity check for !0 would be good.

Regards,
Sudeep



\
 
 \ /
  Last update: 2014-09-22 20:41    [W:0.200 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site