From: Mark Brown <broonie@kernel.org>
To: Ashwin Chaugule <ashwin.chaugule@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
linux acpi <linux-acpi@vger.kernel.org>,
"linaro-acpi@lists.linaro.org" <linaro-acpi@lists.linaro.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>
Subject: Re: [PATCH v3 1/3] Mailbox: Add support for PCC mailbox and channels
Date: Thu, 28 Aug 2014 11:10:25 +0100 [thread overview]
Message-ID: <20140828101025.GL17528@sirena.org.uk> (raw)
In-Reply-To: <CAJ5Y-eYk1zq+NvPRbZanO5yXVLqZ6_81rQMd+7iRtLu6HBQ5OA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3116 bytes --]
On Wed, Aug 27, 2014 at 05:49:53PM -0400, Ashwin Chaugule wrote:
> On 27 August 2014 15:09, Mark Brown <broonie@kernel.org> wrote:
> > On Wed, Aug 27, 2014 at 09:07:15AM -0400, Ashwin Chaugule wrote:
> > The messiness is orthogonal to my comment here - either it's legal to
> > request a mailbox without a device or it isn't, it shouldn't depend on a
> > random kernel configuration option for a particular mailbox driver which
> > it is.
> Fair enough. This was just to show that PCC is unfortunately not a
> good candidate as a generic mailbox controller.
That seems to be a very big leap...
> >> "device" out of something that isn't. The PCCT, which is used as a
> >> mailbox controller here, is a table and not a peripheral device. To
> >> treat this as a device (without faking it by manually putting together
> >> a struct device), would require adding a DSDT entry which is really a
> >> wrong place for it. Are there examples today where drivers manually
> >> create a struct driver and struct device and match them internally?
> >> (i.e. w/o using the generic driver subsystem)
> > Arguably that's what things like cpufreq end up doing, though people
> > tend to just shove a device into DT. Are you sure there isn't any
> > device at all in ACPI that you could hang this off, looking at my
> > desktop I see rather a lot of apparently synthetic ACPI devices with
> > names starting LNX including for example LNXSYSTM:00?
> Those are special HIDs defined in the ACPI spec and none of those can
> be used to back a device for the PCCT itself, since they're unrelated
> to the PCC protocol. The PCCT is defined in the spec as a separate
> table and if supported, should be visible in your system in the
> PCCT.dsl file. Just for the sake of the Mailbox framework, trying to
> represent the PCCT (which is a table) as a mailbox controller device,
> would require registering a special HID. That in turn would make an
> otherwise OS agnostic thing very Linux specific.
OK, but then there's always the option of just having some code that
runs on init and instantiates a device if it sees the appropriate thing
in the ACPI tables in a similar manner to how HIDs are handled. It's a
small amount of work but it will generally make life easier if there is
a struct device.
> > If PCC is described by ACPI tables how would non-ACPI users be able to
> > use it?
> Whoever wants to do that, would need to come up with DT bindings that
> describe something similar to the PCCT contents. They could possibly
> ignore the ACPI specific bits like signature, asl compiler details
> etc. (which are only used by ACPI table parsers) and provide the rest
> of it. Its essentially an array of structures that point to various
> shared memory regions, each of which is owned by a PCC client and
> shared with the firmware. The intercommunication between client and
> firmware is via a doorbell, which is also described in these entries
> and can be implemented as an SGI or similar.
Of course most likely such a binding would involve creating a device
that owns the mailboxes so this'd be fairly straightforward...
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2014-08-28 10:10 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-26 19:35 [PATCH v3 0/3] PCC: Platform Communication Channel Ashwin Chaugule
2014-08-26 19:35 ` [PATCH v3 1/3] Mailbox: Add support for PCC mailbox and channels Ashwin Chaugule
2014-08-27 10:27 ` Mark Brown
2014-08-27 13:07 ` Ashwin Chaugule
2014-08-27 19:09 ` Mark Brown
2014-08-27 21:49 ` Ashwin Chaugule
2014-08-28 10:10 ` Mark Brown [this message]
2014-08-28 12:31 ` Ashwin Chaugule
2014-08-28 8:39 ` Arnd Bergmann
2014-08-28 10:15 ` Mark Brown
2014-08-28 20:34 ` Ashwin Chaugule
2014-09-02 18:16 ` Ashwin Chaugule
2014-09-02 19:22 ` [Linaro-acpi] " Arnd Bergmann
2014-09-02 20:15 ` Ashwin Chaugule
2014-09-02 23:03 ` Mark Brown
2014-09-03 15:23 ` Ashwin Chaugule
2014-09-03 15:27 ` Arnd Bergmann
2014-09-03 15:36 ` Mark Brown
2014-09-03 15:41 ` Arnd Bergmann
2014-09-03 15:51 ` Mark Brown
2014-09-03 11:23 ` Arnd Bergmann
2014-09-03 14:49 ` Mark Brown
2014-09-03 14:50 ` Arnd Bergmann
2014-08-28 12:21 ` Ashwin Chaugule
2014-08-26 19:35 ` [PATCH v3 2/3] Add support for Platform Communication Channel Ashwin Chaugule
2014-08-27 10:29 ` Mark Brown
2014-08-26 19:35 ` [PATCH v3 3/3] PCC-test: Test driver to trigger PCC commands Ashwin Chaugule
2014-08-27 10:30 ` Mark Brown
2014-08-27 11:53 ` Ashwin Chaugule
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=20140828101025.GL17528@sirena.org.uk \
--to=broonie@kernel.org \
--cc=arnd@arndb.de \
--cc=ashwin.chaugule@linaro.org \
--cc=linaro-acpi@lists.linaro.org \
--cc=linux-acpi@vger.kernel.org \
--cc=rjw@rjwysocki.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox