From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Mark Rutland <mark.rutland@arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
linux-acpi@vger.kernel.org, rafael@kernel.org,
broonie@kernel.org, robh@kernel.org, ahs3@redhat.com
Subject: Re: [RFC 00/15] ACPI graph support
Date: Wed, 12 Oct 2016 12:00:03 +0300 [thread overview]
Message-ID: <20161012090003.GR2774@lahna.fi.intel.com> (raw)
In-Reply-To: <20161011123532.GC24347@remoulade>
On Tue, Oct 11, 2016 at 01:35:32PM +0100, Mark Rutland wrote:
> On Wed, Oct 05, 2016 at 06:32:29PM +0300, Mika Westerberg wrote:
> > On Wed, Oct 05, 2016 at 04:06:41PM +0100, Lorenzo Pieralisi wrote:
> > > On Wed, Oct 05, 2016 at 02:41:29PM +0300, Mika Westerberg wrote:
> > > > On Wed, Oct 05, 2016 at 10:22:15AM +0100, Lorenzo Pieralisi wrote:
> > > > > On Wed, Oct 05, 2016 at 01:45:33AM +0300, Sakari Ailus wrote:
> > > > The whole purpose of PRP0001 ID is to allow DT bindings to be reused in
> > > > ACPI systems, so that the drivers can just call device_property_* and
> > > > get the properties regardless of the underlying firmware interface.
> > > >
> > > > Are you saying that's not wanted?
> > >
> > > Not wholesale DT bindings import into ACPI, just no way.
> >
> > Of course not all DT bindings. Only those that do not have a native ACPI
> > representation.
>
> ... yet.
>
> For self-contained devices, this isn't much of a concern, but inter-device
> relationships are the sort of thing ACPI *needs* to know about, and define a
> model for. By trying to bodge this into _DSD, we're making matters worse by
> both delaying the inevitable and creating a tonne of technical debt that we
> have to deal with forever.
ACPI has had references from the beginning and most probably one reason
these "inter device" relationships are not in that spec, is because
nobody thinks it is relevant to put them there. If you check any
existing ACPI tables they have lots of references between devices. Some
of the ASL code even calls methods of another device through these
refences and it is not forbidden by the spec by any means.
A good example of this is the audio machine driver the other Mark
mentioned.
Here is an example from Microsoft Surface3:
Device (AMCR)
{
Name (_HID, "AMCR22A8")
...
Name (_DEP, Package (0x02) // _DEP: Dependencies
{
GPO2,
^I2C2.RTEK
})
...
}
The _DEP method should be used for Operation Region dependencies but
here it is used for functional dependencies so that the audio machine
driver can find the corresponding codec. Why Microsoft used it like this
and not pushed it to ASWG to be added to the ACPI spec? Should we now
refuse to support it in Linux on the basis that it has not been
discussed with ASWG and it abuses _DEP?
Basically _DSD here is used to add relevant names for these links so
that they are compatible with the names used by the existing drivers in
Linux (this is the part that is missing from the ACPI spec). This makes
the same drivers to work with both DT and ACPI with minor modifications.
> By copying DT, but changing a few things, we're in effect creating a new
> ill-defined Linux-specific standard. If we're going to create a new standard,
> we should go through the ASWG, and make an actual standard. If we're not going
> to create a new standard, we should use DT directly, rather than trying to
> force DT into ACPI.
These boards we are talking about ship with ACPI based firmware. We
should not expect users of those boards to be cabable of replacing the
existing firmware with DT one.
next prev parent reply other threads:[~2016-10-12 9:06 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-04 22:45 [RFC 00/15] ACPI graph support Sakari Ailus
2016-10-04 22:45 ` [RFC 01/15] ACPI / property: Add possiblity to retrieve parent firmware node Sakari Ailus
2016-10-04 22:45 ` [RFC 02/15] device property: Add fwnode_get_parent() Sakari Ailus
2016-10-04 22:45 ` [RFC 03/15] ACPI / property: Add fwnode_get_next_child_node() Sakari Ailus
2016-10-04 22:45 ` [RFC 04/15] device property: Add fwnode_get_named_child_node() Sakari Ailus
2016-10-04 22:45 ` [RFC 05/15] ACPI / property: Add support for remote endpoints Sakari Ailus
2016-10-04 22:45 ` [RFC 06/15] device " Sakari Ailus
2016-10-04 22:45 ` [RFC 07/15] device property: Add fwnode_handle_get() Sakari Ailus
2016-10-04 22:45 ` [RFC 08/15] of: Add of_fwnode_handle() to convert device nodes to fwnode_handle Sakari Ailus
2016-10-04 22:45 ` [RFC 09/15] driver core: Arrange headers alphabetically Sakari Ailus
2016-10-04 22:45 ` [RFC 10/15] of: No need to include property.h, fwnode.h is sufficient Sakari Ailus
2016-10-04 22:45 ` [RFC 11/15] device property: Obtain device's fwnode independently of FW type Sakari Ailus
2016-10-04 22:45 ` [RFC 12/15] device property: Add support for fwnode endpoints Sakari Ailus
2016-10-04 22:45 ` [RFC 13/15] of: Add nop implementation of of_get_next_parent() Sakari Ailus
2016-10-04 22:45 ` [RFC 14/15] device property: Add fwnode_get_next_parent() Sakari Ailus
2016-10-04 22:45 ` [RFC 15/15] ACPI / DSD: Document references, ports and endpoints Sakari Ailus
2016-10-05 9:22 ` [RFC 00/15] ACPI graph support Lorenzo Pieralisi
2016-10-05 11:41 ` Mika Westerberg
2016-10-05 15:06 ` Lorenzo Pieralisi
2016-10-05 15:32 ` Mika Westerberg
2016-10-05 16:18 ` Lorenzo Pieralisi
2016-10-05 20:33 ` Rafael J. Wysocki
2016-10-06 8:57 ` Lorenzo Pieralisi
2016-10-06 9:11 ` Mika Westerberg
2016-10-06 9:57 ` Lorenzo Pieralisi
2016-10-06 11:19 ` Mika Westerberg
2016-10-06 15:31 ` Mark Brown
2016-10-06 16:00 ` Rafael J. Wysocki
2016-10-06 16:14 ` Mark Brown
2016-10-06 17:02 ` Rafael J. Wysocki
2016-10-11 12:44 ` Mark Rutland
2016-10-12 0:19 ` Rafael J. Wysocki
2016-10-06 12:30 ` Rafael J. Wysocki
2016-10-06 10:40 ` Mark Brown
2016-10-06 12:26 ` Mika Westerberg
2016-10-06 13:15 ` Rafael J. Wysocki
2016-10-06 15:23 ` Mark Brown
2016-10-06 15:56 ` Rafael J. Wysocki
2016-10-06 15:57 ` Sudeep Holla
2016-10-06 12:26 ` Rafael J. Wysocki
2016-10-06 21:37 ` Mark Brown
2016-10-10 23:44 ` Rafael J. Wysocki
2016-10-11 12:11 ` Rafael J. Wysocki
2016-10-11 13:05 ` Mark Brown
2016-10-11 12:44 ` Mark Brown
2016-10-11 13:32 ` Mark Rutland
2016-10-12 0:32 ` Rafael J. Wysocki
2016-10-12 12:05 ` Mark Brown
2016-10-12 12:26 ` Rafael J. Wysocki
2016-10-11 13:01 ` Mark Rutland
2016-10-11 13:26 ` Mark Brown
2016-10-11 12:56 ` Mark Rutland
2016-10-06 22:02 ` Sakari Ailus
2016-10-11 12:35 ` Mark Rutland
2016-10-12 9:00 ` Mika Westerberg [this message]
2016-10-12 10:28 ` Mark Brown
2016-10-12 11:12 ` Mika Westerberg
2016-10-12 11:25 ` Rafael J. Wysocki
2016-10-12 16:00 ` Mark Brown
2016-10-12 11:14 ` Rafael J. Wysocki
2016-10-12 12:32 ` Mark Brown
2016-10-12 12:42 ` Rafael J. Wysocki
2016-10-12 14:59 ` Mark Brown
2016-10-12 17:50 ` Rafael J. Wysocki
2016-10-06 21:58 ` Sakari Ailus
2016-10-05 15:21 ` Mark Brown
2016-10-05 15:30 ` Sudeep Holla
2016-10-05 18:14 ` Mika Westerberg
2016-10-05 20:18 ` Rafael J. Wysocki
2016-10-06 10:29 ` Sudeep Holla
2016-10-06 13:04 ` Rafael J. Wysocki
2016-10-06 14:20 ` Sudeep Holla
2016-10-06 17:05 ` Rafael J. Wysocki
2016-10-06 17:20 ` Sudeep Holla
2016-10-11 0:05 ` Rafael J. Wysocki
2016-10-11 8:57 ` Sudeep Holla
2016-10-11 11:59 ` Rafael J. Wysocki
2016-10-11 13:15 ` Mark Brown
2016-10-12 0:35 ` Rafael J. Wysocki
2016-10-06 17:20 ` Al Stone
2016-10-06 20:14 ` Mark Brown
2016-10-06 20:54 ` Al Stone
2016-10-11 12:28 ` Mark Rutland
2016-10-12 1:18 ` Rafael J. Wysocki
2016-10-06 21:10 ` Sakari Ailus
2016-10-11 13:30 ` Mark Rutland
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=20161012090003.GR2774@lahna.fi.intel.com \
--to=mika.westerberg@linux.intel.com \
--cc=ahs3@redhat.com \
--cc=broonie@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=mark.rutland@arm.com \
--cc=rafael@kernel.org \
--cc=robh@kernel.org \
--cc=sakari.ailus@linux.intel.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.