All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sudeep Holla <sudeep.holla@arm.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Sudeep Holla <sudeep.holla@arm.com>,
	ALKML <linux-arm-kernel@lists.infradead.org>,
	LKML <linux-kernel@vger.kernel.org>,
	DTML <devicetree@vger.kernel.org>,
	Roy Franz <roy.franz@cavium.com>,
	Harb Abdulhamid <harba@codeaurora.org>,
	Nishanth Menon <nm@ti.com>, Loc Ho <lho@apm.com>,
	Alexey Klimov <alexey.klimov@arm.com>,
	Ryan Harkin <Ryan.Harkin@arm.com>,
	Jassi Brar <jassisinghbrar@gmail.com>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>
Subject: Re: [PATCH v3 02/22] dt-bindings: arm: add support for ARM System Control and Management Interface(SCMI) protocol
Date: Thu, 5 Oct 2017 13:56:28 +0100	[thread overview]
Message-ID: <19eca9f4-5606-5849-12f1-5480d89b95e7@arm.com> (raw)
In-Reply-To: <CAK8P3a2+tXNpYxot-OFRNeVhrDA=VN4Ui8KhuRynHgcL+Ch9ug@mail.gmail.com>



On 05/10/17 12:56, Arnd Bergmann wrote:
> On Wed, Oct 4, 2017 at 4:47 PM, Sudeep Holla <sudeep.holla@arm.com> wrote:
>> On 04/10/17 15:17, Arnd Bergmann wrote:
>>> On Wed, Oct 4, 2017 at 3:53 PM, Sudeep Holla <sudeep.holla@arm.com> wrote:
>>>> On 04/10/17 13:35, Arnd Bergmann wrote:
>>>>> On Wed, Oct 4, 2017 at 1:07 PM, Sudeep Holla <sudeep.holla@arm.com> wrote:
> 
>>> There are probably several ways of doing this better, we should see
>>> what the best is we can come up with.
>>>
>>> I think generally speaking we need a way for a mailbox user to
>>> know what it should use as the mailbox data here, so it is
>>> able to talk to different incompatible mailbox providers.
>>>
>>> One idea I had is to use a nested mailbox driver, that turns
>>> a doorbell or single-register styled mailbox into a variable-length
>>> mailbox by adding a memory region, like
>>>
>>>     mailbox@1233000 {
>>>         compatible = "vendor-hardware-specifc-id";
>>>         interrupts = <34>;
>>>         reg = <0x1233000 0x100>;
>>>         #mbox-cells = <1>;
>>>     };
>>>
>>>     mailbox {
>>>            compatible = "shmem-mailbox";
>>>            mboxes = <&/mailbox@1233000  25>;
>>>            #mbox-cells = <1>;
>>>            shmem = <&cpu_scp_lpri &cpu_scp_hpri>;
>>>     };
>>>
>>> This would create one mailbox that only takes a register argument,
>>> and another one that can take longer messages based on the first.
>>> In your driver, you then refer to the second one and pass the
>>> variable-length data into that directly.
>>
>> 1. IIUC it was intentional not to include shmem as part of mailbox
>>    controller binding and was pushed to client drivers as it's generally
>>    not part of mailbox IP block. I am not sure if there are any other
>>    specific reasons for that, but I may be missing some facts.
> 
> Ok, I see.
> 
>> 2. I am not sure if we need nested driver/bindings (at-least to begin
>>    with). On a platform I don't think both/all modes will be used.
>>    I had  proposal for adding doorbell for ARM MHU based on extended
>>    bindings, but it was rejected[1]. But I really preferred that over
>>    the shim layer I had to add in v3.
> 
> Maybe we can come up with a more generic way to do doorbells
> on top of mailboxes instead? This sounds like a problem that
> would come back with other drivers, so the MHU-specific shim
> will not be a permanent solution either.
> 

I completely agree. I have seen few drivers that just implement
doorbells in their controller. I will check them in details again.

-- 
Regards,
Sudeep

WARNING: multiple messages have this Message-ID (diff)
From: sudeep.holla@arm.com (Sudeep Holla)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 02/22] dt-bindings: arm: add support for ARM System Control and Management Interface(SCMI) protocol
Date: Thu, 5 Oct 2017 13:56:28 +0100	[thread overview]
Message-ID: <19eca9f4-5606-5849-12f1-5480d89b95e7@arm.com> (raw)
In-Reply-To: <CAK8P3a2+tXNpYxot-OFRNeVhrDA=VN4Ui8KhuRynHgcL+Ch9ug@mail.gmail.com>



On 05/10/17 12:56, Arnd Bergmann wrote:
> On Wed, Oct 4, 2017 at 4:47 PM, Sudeep Holla <sudeep.holla@arm.com> wrote:
>> On 04/10/17 15:17, Arnd Bergmann wrote:
>>> On Wed, Oct 4, 2017 at 3:53 PM, Sudeep Holla <sudeep.holla@arm.com> wrote:
>>>> On 04/10/17 13:35, Arnd Bergmann wrote:
>>>>> On Wed, Oct 4, 2017 at 1:07 PM, Sudeep Holla <sudeep.holla@arm.com> wrote:
> 
>>> There are probably several ways of doing this better, we should see
>>> what the best is we can come up with.
>>>
>>> I think generally speaking we need a way for a mailbox user to
>>> know what it should use as the mailbox data here, so it is
>>> able to talk to different incompatible mailbox providers.
>>>
>>> One idea I had is to use a nested mailbox driver, that turns
>>> a doorbell or single-register styled mailbox into a variable-length
>>> mailbox by adding a memory region, like
>>>
>>>     mailbox at 1233000 {
>>>         compatible = "vendor-hardware-specifc-id";
>>>         interrupts = <34>;
>>>         reg = <0x1233000 0x100>;
>>>         #mbox-cells = <1>;
>>>     };
>>>
>>>     mailbox {
>>>            compatible = "shmem-mailbox";
>>>            mboxes = <&/mailbox@1233000  25>;
>>>            #mbox-cells = <1>;
>>>            shmem = <&cpu_scp_lpri &cpu_scp_hpri>;
>>>     };
>>>
>>> This would create one mailbox that only takes a register argument,
>>> and another one that can take longer messages based on the first.
>>> In your driver, you then refer to the second one and pass the
>>> variable-length data into that directly.
>>
>> 1. IIUC it was intentional not to include shmem as part of mailbox
>>    controller binding and was pushed to client drivers as it's generally
>>    not part of mailbox IP block. I am not sure if there are any other
>>    specific reasons for that, but I may be missing some facts.
> 
> Ok, I see.
> 
>> 2. I am not sure if we need nested driver/bindings (at-least to begin
>>    with). On a platform I don't think both/all modes will be used.
>>    I had  proposal for adding doorbell for ARM MHU based on extended
>>    bindings, but it was rejected[1]. But I really preferred that over
>>    the shim layer I had to add in v3.
> 
> Maybe we can come up with a more generic way to do doorbells
> on top of mailboxes instead? This sounds like a problem that
> would come back with other drivers, so the MHU-specific shim
> will not be a permanent solution either.
> 

I completely agree. I have seen few drivers that just implement
doorbells in their controller. I will check them in details again.

-- 
Regards,
Sudeep

  reply	other threads:[~2017-10-05 12:56 UTC|newest]

Thread overview: 208+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-28 13:11 [PATCH v3 00/22] firmware: ARM System Control and Management Interface(SCMI) support Sudeep Holla
2017-09-28 13:11 ` Sudeep Holla
2017-09-28 13:11 ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 01/22] dt-bindings: mailbox: add support for mailbox client shared memory Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 02/22] dt-bindings: arm: add support for ARM System Control and Management Interface(SCMI) protocol Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-10-04 10:50   ` Arnd Bergmann
2017-10-04 10:50     ` Arnd Bergmann
2017-10-04 10:50     ` Arnd Bergmann
2017-10-04 11:07     ` Sudeep Holla
2017-10-04 11:07       ` Sudeep Holla
2017-10-04 11:07       ` Sudeep Holla
2017-10-04 12:35       ` Arnd Bergmann
2017-10-04 12:35         ` Arnd Bergmann
2017-10-04 12:35         ` Arnd Bergmann
2017-10-04 13:53         ` Sudeep Holla
2017-10-04 13:53           ` Sudeep Holla
2017-10-04 13:53           ` Sudeep Holla
2017-10-04 14:17           ` Arnd Bergmann
2017-10-04 14:17             ` Arnd Bergmann
2017-10-04 14:17             ` Arnd Bergmann
2017-10-04 14:47             ` Sudeep Holla
2017-10-04 14:47               ` Sudeep Holla
2017-10-04 14:47               ` Sudeep Holla
2017-10-05 11:56               ` Arnd Bergmann
2017-10-05 11:56                 ` Arnd Bergmann
2017-10-05 11:56                 ` Arnd Bergmann
2017-10-05 12:56                 ` Sudeep Holla [this message]
2017-10-05 12:56                   ` Sudeep Holla
2017-10-05 13:20         ` Jassi Brar
2017-10-05 13:20           ` Jassi Brar
2017-10-05 14:10           ` Sudeep Holla
2017-10-05 14:10             ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 03/22] dt-bindings: arm: scmi: add ARM MHU specific mailbox client bindings Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-10-05 23:20   ` Rob Herring
2017-10-05 23:20     ` Rob Herring
2017-10-05 23:20     ` Rob Herring
2017-10-06  9:42     ` Sudeep Holla
2017-10-06  9:42       ` Sudeep Holla
2017-10-06 11:01     ` Jassi Brar
2017-10-06 11:01       ` Jassi Brar
2017-10-06 11:01       ` Jassi Brar
2017-10-06 15:54       ` Rob Herring
2017-10-06 15:54         ` Rob Herring
2017-10-07  2:26         ` Jassi Brar
2017-10-07  2:26           ` Jassi Brar
2017-10-09 13:52           ` Rob Herring
2017-10-09 13:52             ` Rob Herring
2017-10-09 14:37             ` Sudeep Holla
2017-10-09 14:37               ` Sudeep Holla
2017-10-09 14:37               ` Sudeep Holla
2017-10-09 14:46             ` Jassi Brar
2017-10-09 14:46               ` Jassi Brar
2017-10-09 14:46               ` Jassi Brar
2017-10-09 22:57               ` Rob Herring
2017-10-09 22:57                 ` Rob Herring
2017-10-09 22:57                 ` Rob Herring
2017-10-10  1:52                 ` Jassi Brar
2017-10-10  1:52                   ` Jassi Brar
2017-10-10 11:04                 ` Sudeep Holla
2017-10-10 11:04                   ` Sudeep Holla
2017-10-10 11:04                   ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 04/22] firmware: arm_scmi: add basic driver infrastructure for SCMI Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-10-04 10:59   ` Arnd Bergmann
2017-10-04 10:59     ` Arnd Bergmann
2017-10-04 10:59     ` Arnd Bergmann
2017-10-04 17:37     ` Sudeep Holla
2017-10-04 17:37       ` Sudeep Holla
2017-10-04 17:37       ` Sudeep Holla
2017-10-04 11:19   ` Arnd Bergmann
2017-10-04 11:19     ` Arnd Bergmann
2017-10-04 11:19     ` Arnd Bergmann
2017-09-28 13:11 ` [PATCH v3 05/22] firmware: arm_scmi: add common infrastructure and support for base protocol Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 06/22] firmware: arm_scmi: add initial support for performance protocol Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 07/22] firmware: arm_scmi: add initial support for clock protocol Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 08/22] firmware: arm_scmi: add initial support for power protocol Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 09/22] firmware: arm_scmi: add initial support for sensor protocol Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 10/22] firmware: arm_scmi: probe and initialise all the supported protocols Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-10-04 11:06   ` Arnd Bergmann
2017-10-04 11:06     ` Arnd Bergmann
2017-10-04 11:06     ` Arnd Bergmann
2017-09-28 13:11 ` [PATCH v3 11/22] firmware: arm_scmi: add support for polling based SCMI transfers Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-10-04 11:13   ` Arnd Bergmann
2017-10-04 11:13     ` Arnd Bergmann
2017-10-04 11:13     ` Arnd Bergmann
2017-10-04 11:18     ` Sudeep Holla
2017-10-04 11:18       ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 12/22] firmware: arm_scmi: add option for polling based performance domain operations Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 13/22] firmware: arm_scmi: refactor in preparation to support per-protocol channels Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 14/22] firmware: arm_scmi: add per-protocol channels support using idr objects Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 15/22] firmware: arm_scmi: abstract mailbox interface Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-10-04 11:24   ` Arnd Bergmann
2017-10-04 11:24     ` Arnd Bergmann
2017-10-04 11:24     ` Arnd Bergmann
2017-10-04 11:32     ` Sudeep Holla
2017-10-04 11:32       ` Sudeep Holla
2017-10-04 11:32       ` Sudeep Holla
2017-10-06 11:34       ` Jassi Brar
2017-10-06 11:34         ` Jassi Brar
2017-10-06 11:34         ` Jassi Brar
2017-10-06 13:27         ` Sudeep Holla
2017-10-06 13:27           ` Sudeep Holla
2017-10-06 13:27           ` Sudeep Holla
2017-10-06 13:34           ` Jassi Brar
2017-10-06 13:34             ` Jassi Brar
2017-10-06 13:41             ` Sudeep Holla
2017-10-06 13:41               ` Sudeep Holla
2017-10-12 21:20       ` Bjorn Andersson
2017-10-12 21:20         ` Bjorn Andersson
2017-09-28 13:11 ` [PATCH v3 16/22] firmware: arm_scmi: add arm_mhu specific " Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-10-04 11:36   ` Arnd Bergmann
2017-10-04 11:36     ` Arnd Bergmann
2017-10-04 11:48     ` Sudeep Holla
2017-10-04 11:48       ` Sudeep Holla
2017-10-04 11:48       ` Sudeep Holla
2017-10-06 11:26     ` Jassi Brar
2017-10-06 11:26       ` Jassi Brar
2017-10-06 11:26       ` Jassi Brar
2017-10-06 13:32       ` Sudeep Holla
2017-10-06 13:32         ` Sudeep Holla
2017-10-06 13:47         ` Jassi Brar
2017-10-06 13:47           ` Jassi Brar
2017-10-06 13:47           ` Jassi Brar
2017-10-06 13:51           ` Sudeep Holla
2017-10-06 13:51             ` Sudeep Holla
2017-10-06 13:51             ` Sudeep Holla
2017-10-12 21:03             ` Bjorn Andersson
2017-10-12 21:03               ` Bjorn Andersson
2017-10-13 13:42               ` Sudeep Holla
2017-10-13 13:42                 ` Sudeep Holla
2017-10-13 13:42                 ` Sudeep Holla
2017-10-13 14:12                 ` Jassi Brar
2017-10-13 14:12                   ` Jassi Brar
2017-10-13 14:12                   ` Jassi Brar
2017-10-13 14:47                   ` Sudeep Holla
2017-10-13 14:47                     ` Sudeep Holla
2017-10-13 15:19                     ` Jassi Brar
2017-10-13 15:19                       ` Jassi Brar
2017-10-13 15:19                       ` Jassi Brar
2017-09-28 13:11 ` [PATCH v3 17/22] firmware: arm_scmi: add device power domain support using genpd Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-09-28 21:18   ` Ulf Hansson
2017-09-28 21:18     ` Ulf Hansson
2017-09-29 13:40     ` Sudeep Holla
2017-09-29 13:40       ` Sudeep Holla
2017-09-29 13:40       ` Sudeep Holla
2017-09-29 13:42   ` [PATCH v3 17/22][UPDATE] firmware: arm_scmi: add device power domain support genpd Sudeep Holla
2017-09-29 13:42     ` Sudeep Holla
2017-09-29 13:42     ` Sudeep Holla
2017-10-10 11:05     ` Ulf Hansson
2017-10-10 11:05       ` Ulf Hansson
2017-10-10 13:02       ` Sudeep Holla
2017-10-10 13:02         ` Sudeep Holla
2017-10-10 13:02         ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 18/22] clk: add support for clocks provided by SCMI Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-11-02  7:23   ` Stephen Boyd
2017-11-02  7:23     ` Stephen Boyd
2017-11-02  7:23     ` Stephen Boyd
2017-11-02 10:04     ` Sudeep Holla
2017-11-02 10:04       ` Sudeep Holla
2017-11-02 10:04       ` Sudeep Holla
2017-11-03 15:12       ` Stephen Boyd
2017-11-03 15:12         ` Stephen Boyd
2017-11-03 15:12         ` Stephen Boyd
2017-09-28 13:11 ` [PATCH v3 19/22] hwmon: (core) Add hwmon_max to hwmon_sensor_types enumeration Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-10-01 14:21   ` [v3, " Guenter Roeck
2017-10-01 14:21     ` Guenter Roeck
2017-09-28 13:11 ` [PATCH v3 20/22] hwmon: add support for sensors exported via ARM SCMI Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-10-01 14:26   ` [v3,20/22] " Guenter Roeck
2017-10-01 14:26     ` Guenter Roeck
2017-10-02  9:25     ` Sudeep Holla
2017-10-02  9:25       ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 21/22] cpufreq: add support for CPU DVFS based on SCMI message protocol Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla
2017-10-04 11:30   ` Arnd Bergmann
2017-10-04 11:30     ` Arnd Bergmann
2017-10-04 11:30     ` Arnd Bergmann
2017-10-04 15:01     ` Sudeep Holla
2017-10-04 15:01       ` Sudeep Holla
2017-10-05 11:20       ` Arnd Bergmann
2017-10-05 11:20         ` Arnd Bergmann
2017-10-05 11:20         ` Arnd Bergmann
2017-10-05 11:26         ` Sudeep Holla
2017-10-05 11:26           ` Sudeep Holla
2017-10-05 11:26           ` Sudeep Holla
2017-09-28 13:11 ` [PATCH v3 22/22] cpufreq: scmi: add support for fast frequency switching Sudeep Holla
2017-09-28 13:11   ` Sudeep Holla

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=19eca9f4-5606-5849-12f1-5480d89b95e7@arm.com \
    --to=sudeep.holla@arm.com \
    --cc=Ryan.Harkin@arm.com \
    --cc=alexey.klimov@arm.com \
    --cc=arnd@arndb.de \
    --cc=devicetree@vger.kernel.org \
    --cc=harba@codeaurora.org \
    --cc=jassisinghbrar@gmail.com \
    --cc=lho@apm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=nm@ti.com \
    --cc=robh+dt@kernel.org \
    --cc=roy.franz@cavium.com \
    /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.