[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZrY8UOIsud8-NM_F@smile.fi.intel.com>
Date: Fri, 9 Aug 2024 18:57:04 +0300
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Shyam Sundar S K <Shyam-sundar.S-k@....com>
Cc: Jarkko Nikula <jarkko.nikula@...ux.intel.com>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
Guruvendra Punugupati <Guruvendra.Punugupati@....com>,
Krishnamoorthi M <krishnamoorthi.m@....com>,
linux-i3c@...ts.infradead.org, linux-kernel@...r.kernel.org,
"Rafael J. Wysocki" <rafael@...nel.org>
Subject: Re: [PATCH RESEND v3 1/6] i3c: mipi-i3c-hci: Add MIPI0100 ACPI ID to
the I3C Support List
On Fri, Aug 09, 2024 at 09:02:35PM +0530, Shyam Sundar S K wrote:
> On 8/9/2024 19:48, Andy Shevchenko wrote:
> > On Fri, Aug 09, 2024 at 04:54:18PM +0300, Jarkko Nikula wrote:
> >> On 8/7/24 8:23 AM, Shyam Sundar S K wrote:
...
> > When adding a new ACPI ID, always provide the following information:
> >
> > 1) link (in some form) to the official confirmation / documentation for
> > the allocated ID by the vendor (MIPI in this case) _OR_ (very exceptional!)
> > why the bad ID had been allocated;
>
> Member version:
> https://members.mipi.org/wg/All-Members/document/previewpdf/89465
>
> Public version: https://www.mipi.org/mipi-disco-for-i3c-download (this
> requires a signup).
>
> Since there is no direct link available for preview, I did not include
> them in the commit-msg. But left a note that the MIPI ID is the one as
> specified in the MIPI DisCo spec.
It's fine.
> > 2) are there devices in the wild (on the market) that use the being added ID(s)?
>
> Not in the wild. But the latest platform will have this support
> included. So, these device IDs are crucial for the i3c-hci to be
> supported on AMD platforms.
Good, let's do it right then!
> > 3) excerpt from the device (independently if it's public already, see above,
> > or not) DSDT ACPI table.
> >
> > With the given patch it looks to me that you most likely need a local, AMD
> > specific ID as well.
> >
> > So, in my ideal world the DSDT should be like
> >
> > Device (I3CC)
> > {
> > Name (_HID, "...") // AMD specific _HID
> > Name (_CID, "MIPI0100") // Compatible ID for generic I3C controller
> > ...
> > }
> >
> > Is this the case? Why not?
>
> Please refer to the MIPI HCI I3C DisCo specification
> (https://members.mipi.org/wg/All-Members/document/previewpdf/89465)
> section 5.4. The ASL looks the same in case of AMD.
>
> MSFT says that they want to use MIPI0100 as mentioned in the
> specification.
MIPI doesn't know how to assign the ACPI ID correctly. But again, what I put in
the above is the correct way of approaching.
> What would you advise?
Since my intuition and experience tells me that the two devices even based on
the same IP are not the same (see word 'quirk' or '.driver_data' or alike in
the kernel sources) the generic ID may not be used for the specific vendor
unless it's _the only_ vendor for the certain IP.
So, please do as I suggested above. And file a error report (and correction
proposal) to the MIPI, so in "5.1 I3C Host Controller ACPI Hardware ID (_HID)"
they should use _CID instead of _HID and add some text like
"Each vendor should dedicate it's own _HID for the platform in question. The
same _HID as _CID may be used if and only if vendor guarantees that there 100%
compatibility with MIPI as described in this and other related documents."
I.o.w. do you 100% guarantee that MIPI HCI I3C DisCo covers all necessary
properties that you need for _your_ hardware? If not, use my approach, if yes,
use the same _HID *and* _CID.
Microsoft should know this as well and much better than MIPI.
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists