Re: [PATCHv10 2/4] mailbox: Introduce framework for mailbox

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 






On 22/09/14 19:01, Ashwin Chaugule wrote:
Hi Jassi,

On 1 August 2014 08:31, Jassi Brar <jaswinder.singh@xxxxxxxxxx> 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@xxxxxxxxxx>
---
  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

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux