linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Grant Likely <grant.likely@secretlab.ca>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>, Mark Brown <broonie@kernel.org>
Cc: Darren Hart <dvhart@linux.intel.com>,
	Ben Zhang <benzh@chromium.org>,
	alsa-devel <alsa-devel@alsa-project.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Bard Liao <bardliao@realtek.com>,
	Oder Chiou <oder_chiou@realtek.com>,
	Anatol Pomozov <anatol@google.com>,
	Dylan Reid <dgreid@chromium.org>,
	flove@realtek.com,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/2] ASoC: rt5677: Add ACPI device probing
Date: Thu, 04 Dec 2014 11:12:34 +0000	[thread overview]
Message-ID: <20141204111234.44C0FC40874@trevor.secretlab.ca> (raw)
In-Reply-To: <1820241.GUleD5gbzs@vostro.rjw.lan>

On Sat, 29 Nov 2014 23:27:52 +0100
, "Rafael J. Wysocki" <rjw@rjwysocki.net>
 wrote:
> On Saturday, November 29, 2014 11:52:09 AM Mark Brown wrote:
> > 
> > --9GYGtdBumnmR69ER
> > Content-Type: text/plain; charset=us-ascii
> > Content-Disposition: inline
> > Content-Transfer-Encoding: quoted-printable
> > 
> > On Sat, Nov 29, 2014 at 12:51:59AM +0100, Rafael J. Wysocki wrote:
> > > On Friday, November 28, 2014 04:00:36 PM Mark Brown wrote:
> > 
> > > > OK, we probably should have one to aid discoverability since as far as I
> > > > can tell what's happening is that people (hi Intel!) are allocating
> > > > their own identifiers for devices produced by other vendors that turn up
> > > > on their boards.  If people can find the set of IDs in use there's more
> > > > chance they'll use the same ones as other people.
> > 
> > > There's the PRP0001 ID that can be use to in combination with the
> > > "compatible" property which then works the same way as for DT.
> > 
> > > That should be sufficient if the properties are going to be the
> > > same for ACPI (_DSD) and DT.
> > 
> > We've got people making BIOSs right now for systems you can actually buy=20
> > that are intended to run Windows which we need to support; right now the
> > pressing problem I'm seeing is that we've got BIOS vendors not using
> > properties at all and we're going to be ending up with configuration
> > coming from big DMI tables instead which is miserable, Windows is
> > perfectly happy to have custom drivers installed per machine.  Do we
> > know if Windows supports PRP0001 as it currently stands?
> 
> No, it doesn't.
> 
> Separate device IDs are necessary for Windows compatibility AFAICS.
> 
> But that also means any device ID registered by us won't be suitable in that
> case, because Windows won't use it.
> 
> There are two different problems here, though.  The first one is a way to
> provide the existing Linux drivers with the information expected by them via
> ACPI and that's what _DSD (plus PRP0001 optionally) is.  The second one is
> to be able to handle systems with ACPI tables from a random vendor who only
> cares about Windows and that's more difficult to address, because our
> ecosystem is different from theirs.

It is a problem if the expected binding method is different between
Linux and Windows. This is a problem we've hit before where the platform
/may/ try to get both right, but in reality only one works, or even
implemented.

I predict that PRP0001 is only going to be practical when the hardware
is only ever going to be driven by Linux or other PRP0001 aware OS. ie.
A Minnowboard Max with a custom expansion board attached. When the
hardware is supported under both Windows and Linux then it will probably
be best for Linux to attempt to bind using the device id before
attempting to use PRP0001.

> There basically are two ways around that.  The first one is to have all
> knowledge related to device IDs in drivers (which effectively is what
> Windows does and which implies "board files" of sorts) and the second one is
> to make it possible to use overlays on top of the existing ACPI tables that
> will allow people to provide the properties expected by a more generic driver
> (this way, if the vendor didn't care to provide _DSD, for example, in the
> original ACPI tables, the system integrator would be able to use an overlay
> in an initramfs or boot partition to amend them).

Either approach amounts to pretty much the same thing. The
kernel/distribution needs to carry around device specific driver data
which is exactly how we've supported x86 hardware. Whether the data is
in-kernel or in-userspace is kind of an implementation detail. :-)


_DSD support is a different situation though. Even if Windows doesn't
care to directly support _DSD, drivers are free to use _DSD properties.
This is the scenario where the shared binding repository will be
important.

g.

  parent reply	other threads:[~2014-12-04 11:12 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-15  6:56 [PATCH 1/2] ASoC: rt5677: Add ACPI device probing Ben Zhang
2014-11-15  6:56 ` [PATCH 2/2] ASoC: rt5677: add a platform config option for PDM clock divider Ben Zhang
2014-11-25 12:07 ` [PATCH 1/2] ASoC: rt5677: Add ACPI device probing Mark Brown
2014-11-25 12:11 ` Grant Likely
2014-11-25 14:28   ` [alsa-devel] " Liam Girdwood
2014-11-25 16:01     ` Darren Hart
2014-11-25 18:37       ` Liam Girdwood
2014-11-25 16:00   ` Darren Hart
2014-11-25 17:21     ` Mark Brown
2014-11-25 18:33       ` Darren Hart
2014-11-25 18:43         ` Mark Brown
2014-11-25 19:07           ` Darren Hart
2014-11-25 19:36             ` Mark Brown
2014-11-25 20:32               ` Rafael J. Wysocki
2014-11-25 20:31             ` Rafael J. Wysocki
2014-11-25 20:27               ` Mark Brown
2014-11-25 21:40                 ` Rafael J. Wysocki
2014-11-25 22:15                   ` Mark Brown
2014-11-25 22:41                   ` Ben Zhang
2014-11-25 22:45                     ` Mark Brown
2014-12-04 10:48                   ` Grant Likely
2014-12-04 16:46                     ` Mark Brown
2014-12-04 21:53                     ` Rafael J. Wysocki
2014-11-26  1:48           ` Darren Hart
2014-11-26 11:17             ` Mark Brown
2014-11-26 23:09               ` Rafael J. Wysocki
2014-11-28 16:00                 ` Mark Brown
2014-11-28 23:51                   ` Rafael J. Wysocki
2014-11-29 11:52                     ` Mark Brown
2014-11-29 22:27                       ` Rafael J. Wysocki
2014-12-01 17:51                         ` Mark Brown
2014-12-01 22:16                           ` Rafael J. Wysocki
2014-12-01 22:19                             ` Mark Brown
2014-12-01 22:55                               ` Rafael J. Wysocki
2014-12-04 11:12                         ` Grant Likely [this message]
2014-12-04 11:51                           ` Mark Brown

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=20141204111234.44C0FC40874@trevor.secretlab.ca \
    --to=grant.likely@secretlab.ca \
    --cc=alsa-devel@alsa-project.org \
    --cc=anatol@google.com \
    --cc=bardliao@realtek.com \
    --cc=benzh@chromium.org \
    --cc=broonie@kernel.org \
    --cc=dgreid@chromium.org \
    --cc=dvhart@linux.intel.com \
    --cc=flove@realtek.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oder_chiou@realtek.com \
    --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;
as well as URLs for NNTP newsgroup(s).