All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sudeep Holla <sudeep.holla@arm.com>
To: Jassi Brar <jaswinder.singh@linaro.org>
Cc: Sudeep Holla <sudeep.holla@arm.com>,
	lkml <linux-kernel@vger.kernel.org>,
	Arnd Bergmann <arnd@arndb.de>
Subject: Re: [PATCH] mailbox: add tx_prepare client callback
Date: Tue, 11 Nov 2014 18:08:27 +0000	[thread overview]
Message-ID: <5462509B.1050107@arm.com> (raw)
In-Reply-To: <CAJe_ZhdFa7tDHMoWwaV2+h+qVbWvKgNUGN6cJDQkvPYeg6N69w@mail.gmail.com>



On 11/11/14 17:53, Jassi Brar wrote:
> On 11 November 2014 21:34, Sudeep Holla <sudeep.holla@arm.com> wrote:
>> If the mailbox controller expects the payload is in place before
>> initiating the transmit, then it's impossible to reuse the list
>> maintained by core mailbox code currently. Maintaining another list
>> for sending the message in the controller seems totally unnecessary
>> as core mailbox library already provides that feature.
>>
>> This patch introduces tx_prepare callback in mbox_client which
>> can be used by the core mailbox library before initiating the
>> transaction through mbox->ops->send_data. The client driver can
>> implement this callback to ensure the payload is copied to the
>> shared memory.
>>
>> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
>> Cc: Jassi Brar <jaswinder.singh@linaro.org>
>> Cc: Arnd Bergmann <arnd@arndb.de>
>> ---
>>   drivers/mailbox/mailbox.c      | 2 ++
>>   include/linux/mailbox_client.h | 1 +
>>   2 files changed, 3 insertions(+)
>>
>> diff --git a/drivers/mailbox/mailbox.c b/drivers/mailbox/mailbox.c
>> index afcb430508ec..4b4044f47b45 100644
>> --- a/drivers/mailbox/mailbox.c
>> +++ b/drivers/mailbox/mailbox.c
>> @@ -76,6 +76,8 @@ static void msg_submit(struct mbox_chan *chan)
>>
>>          data = chan->msg_data[idx];
>>
>> +       if (chan->cl->tx_prepare)
>> +               chan->cl->tx_prepare(chan->cl, data);
>>          /* Try to submit a message to the MBOX controller */
>>          err = chan->mbox->ops->send_data(chan, data);
>>          if (!err) {
>> diff --git a/include/linux/mailbox_client.h b/include/linux/mailbox_client.h
>> index 307d9cab2026..5a1a6db63e96 100644
>> --- a/include/linux/mailbox_client.h
>> +++ b/include/linux/mailbox_client.h
>> @@ -34,6 +34,7 @@ struct mbox_client {
>>          bool knows_txdone;
>>
>>          void (*rx_callback)(struct mbox_client *cl, void *mssg);
>> +       void (*tx_prepare)(struct mbox_client *cl, void *mssg);
>>          void (*tx_done)(struct mbox_client *cl, void *mssg, int r);
>>   };
>>
> Please add some documentation for tx_prepare() as well.
>

Ah, sorry for missing that, will add and resend.

Regards,
Sudeep


  reply	other threads:[~2014-11-11 18:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-11 16:04 [PATCH] mailbox: add tx_prepare client callback Sudeep Holla
2014-11-11 17:53 ` Jassi Brar
2014-11-11 18:08   ` Sudeep Holla [this message]
2014-11-11 18:33 ` [PATCH v2] " Sudeep Holla
2014-11-27  7:31   ` Jassi Brar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5462509B.1050107@arm.com \
    --to=sudeep.holla@arm.com \
    --cc=arnd@arndb.de \
    --cc=jaswinder.singh@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.