linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sakari Ailus <sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
To: "Rafael J. Wysocki" <rafael-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: "Rafael J. Wysocki" <rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org>,
	ACPI Devel Maling List
	<linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Sudeep Holla <sudeep.holla-5wv7dgnIgG8@public.gmane.org>,
	Lorenzo Pieralisi
	<lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>,
	Mika Westerberg
	<mika.westerberg-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
	Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Al Stone <ahs3-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH v4 16/16] ACPI / DSD: Document references, ports and endpoints
Date: Wed, 15 Mar 2017 00:53:23 +0200	[thread overview]
Message-ID: <572ba62c-3168-adcf-f9de-4826b1804f38@linux.intel.com> (raw)
In-Reply-To: <CAJZ5v0hCvcPgYYV0Hysfu0pEYCzzHp7KKdW3nYyjm7RGS3bHoQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Rafael J. Wysocki wrote:
> On Tue, Mar 14, 2017 at 10:16 PM, Sakari Ailus
> <sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> wrote:
>> Rafael J. Wysocki wrote:
>>>
>>> On Tue, Mar 14, 2017 at 6:54 PM, Sakari Ailus
>>> <sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> wrote:
>>>>
>>>> Hi Rafael,
>>>>
>>>> Rafael J. Wysocki wrote:
>>>>>
>>>>>
>>>>> On Tue, Mar 14, 2017 at 9:09 AM, Sakari Ailus
>>>>> <sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> wrote:
>>>>>>
>>>>>>
>>>>>> On 03/14/17 10:08, Sakari Ailus wrote:
>>>>>>>
>>>>>>>
>>>>>>> How about this instead:
>>>>>>>
>>>>>>> All port nodes are located under the device's "_DSD" node in the
>>>>>>> hierarchical data extension tree. The property extension related to
>>>>>>> each port node must contain the key "port" and an integer value which
>>>>>>> is the number of the port.
>>>>>>
>>>>>>
>>>>>>
>>>>>> So with matching strings instead of indices, this will change, too...
>>>>>
>>>>>
>>>>>
>>>>> It doesn't have to AFAICS, but the number is just redundant IMO.  You
>>>>> only need a boolean property saying "this is a port", so you know that
>>>>> you should expect a list of endpoints in that object.
>>>>
>>>>
>>>>
>>>> No, it's not redundant. It's the number of the physical port in the
>>>> device
>>>> --- this is how the driver gets to know where the connection has been
>>>> made.
>>>
>>>
>>> OK, but what exactly do you mean by "physical port"?
>>
>>
>> The device (or an IP block) has physical interfaces to the world outside.
>> There could be just one, but there may be more. For an ISP, there could be
>> e.g. four CSI-2 receivers to each of which you could connect a camera
>> sensor. So for an ISP device, that number tells which of the receivers a
>> given sensor is connected to.
>>
>> The mapping between this number and what the hardware datasheet refers to
>> needs to be documented per device.
>
> OK, so the number actually is an arbitrary piece of data associated
> with the key "port" and the interpretation of that piece of data
> depends on whoever asks for that value.
>
> IOW, the core doesn't care.
>
> With all due respect to whoever invented this on the DT side, this is
> just bad design to me, because it causes the "port" property to serve
> two different purposes at the same time.  First, it tells the core
> that this object is a port.  Second, it is expected to provide a piece
> of data of unspecified interpretation to somebody.  Which means that
> the "port" property is both general and device-specific at the same
> time and the sanity of that is quite questionable IMO.

DT uses a node called either "port" or "ports" to store the port nodes. 
The reg property tells the number of the port (see 
Documentation/devicetree/bindings/graph.txt). I'm no DT expert, but my 
understanding is that the node namespace is different from the property 
namespace.

If you're concerned of possible double meanings, it's entirely possible 
to put the port nodes under hierarchical data extension named e.g. 
"ports", and document that this is what the node must be called (single 
port node could be just called "port"). This way, it should be much more 
difficult to interpret a non-port node as a port node --- roughly 
equivalent of the DT ports node.

The drawback with this change is that the size of the data structure in 
ASL (and AML) will grow.

-- 
Sakari Ailus
sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2017-03-14 22:53 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-06 14:19 [PATCH v4 00/16] Sakari Ailus
2017-03-06 14:19 ` [PATCH v4 02/16] device property: Add fwnode_get_parent() Sakari Ailus
2017-03-06 14:19 ` [PATCH v4 03/16] ACPI / property: Add fwnode_get_next_child_node() Sakari Ailus
2017-03-06 14:19 ` [PATCH v4 04/16] device property: Add fwnode_get_named_child_node() Sakari Ailus
2017-03-06 14:19 ` [PATCH v4 06/16] device property: Add support for remote endpoints Sakari Ailus
2017-03-06 14:19 ` [PATCH v4 08/16] of: Add of_fwnode_handle() to convert device nodes to fwnode_handle Sakari Ailus
2017-03-06 14:19 ` [PATCH v4 10/16] irqchip/gic: Add missing forward declaration for struct device Sakari Ailus
2017-03-13 21:45   ` Rafael J. Wysocki
2017-03-06 14:19 ` [PATCH v4 11/16] of: No need to include linux/property.h, linux/fwnode.h is sufficient Sakari Ailus
2017-03-13 21:46   ` Rafael J. Wysocki
2017-03-15 13:58     ` Sakari Ailus
     [not found] ` <1488809970-25568-1-git-send-email-sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-03-06 14:19   ` [PATCH v4 01/16] ACPI / property: Add possiblity to retrieve parent firmware node Sakari Ailus
2017-03-06 14:19   ` [PATCH v4 05/16] ACPI / property: Add support for remote endpoints Sakari Ailus
2017-03-06 14:19   ` [PATCH v4 07/16] device property: Add fwnode_handle_get() Sakari Ailus
2017-03-06 14:19   ` [PATCH v4 09/16] driver core: Arrange headers alphabetically Sakari Ailus
2017-03-06 14:19   ` [PATCH v4 12/16] device property: Move dev_fwnode() to linux/property.h Sakari Ailus
2017-03-13 21:49     ` Rafael J. Wysocki
     [not found]       ` <5262143.K42JDpMSHF-yvgW3jdyMHm1GS7QM15AGw@public.gmane.org>
2017-03-14  7:28         ` Sakari Ailus
2017-03-06 14:19   ` [PATCH v4 13/16] device property: Add support for fwnode endpoints Sakari Ailus
2017-03-13 21:52     ` Rafael J. Wysocki
2017-03-14  7:46       ` Sakari Ailus
2017-03-06 14:19   ` [PATCH v4 14/16] of: Add nop implementation of of_get_next_parent() Sakari Ailus
2017-03-13 21:55     ` Rafael J. Wysocki
2017-03-17 12:10       ` Sakari Ailus
2017-03-06 14:19   ` [PATCH v4 16/16] ACPI / DSD: Document references, ports and endpoints Sakari Ailus
2017-03-13 22:08     ` Rafael J. Wysocki
2017-03-14  8:08       ` Sakari Ailus
2017-03-14  8:09         ` Sakari Ailus
2017-03-14 17:05           ` Rafael J. Wysocki
     [not found]             ` <CAJZ5v0j1i-tNOdyhhknYCSPbOg7KAQpYgeReH_KwgebO3AcjRA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-03-14 17:54               ` Sakari Ailus
     [not found]                 ` <cf2ab8be-a351-f1ea-28a9-f5cca57061cd-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-03-14 20:43                   ` Rafael J. Wysocki
     [not found]                     ` <CAJZ5v0i4pEKkz+3Ob42x96YHpPWasH2O8VnDCz8aKw_wxywLyQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-03-14 21:16                       ` Sakari Ailus
2017-03-14 22:11                         ` Rafael J. Wysocki
     [not found]                           ` <CAJZ5v0hCvcPgYYV0Hysfu0pEYCzzHp7KKdW3nYyjm7RGS3bHoQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-03-14 22:53                             ` Sakari Ailus [this message]
2017-03-14 23:13                               ` Rafael J. Wysocki
2017-03-15  8:23                                 ` Sakari Ailus
2017-03-15  9:33                                   ` Sakari Ailus
2017-03-15 11:28                                     ` Rafael J. Wysocki
     [not found]                                       ` <1595427.gxrcIpTbyD-yvgW3jdyMHm1GS7QM15AGw@public.gmane.org>
2017-03-15 11:45                                         ` Sakari Ailus
2017-03-15 11:53                                           ` Rafael J. Wysocki
2017-03-15 12:26                                             ` Sakari Ailus
     [not found]                                               ` <ceae0f71-dbac-36b8-f8df-fa138e6f24b2-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-03-15 14:21                                                 ` Rafael J. Wysocki
2017-03-16 11:30                                                   ` Sakari Ailus
2017-03-07  7:49   ` [PATCH v4 00/16] ACPI graph support Sakari Ailus
2017-03-07 13:23     ` Rafael J. Wysocki
2017-03-07 13:49       ` Sakari Ailus
2017-03-09 23:05         ` Rafael J. Wysocki
2017-03-10  8:19           ` Sakari Ailus
2017-03-06 14:19 ` [PATCH v4 15/16] device property: Add fwnode_get_next_parent() Sakari Ailus
2017-03-13 21:58   ` Rafael J. Wysocki
2017-03-14  7:51     ` Sakari Ailus

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=572ba62c-3168-adcf-f9de-4826b1804f38@linux.intel.com \
    --to=sakari.ailus-vuqaysv1563yd54fqh9/ca@public.gmane.org \
    --cc=ahs3-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=mika.westerberg-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
    --cc=rafael-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org \
    --cc=robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=sudeep.holla-5wv7dgnIgG8@public.gmane.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 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).