public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Cezary Rojewski <cezary.rojewski@intel.com>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: <rafael@kernel.org>, <linux-acpi@vger.kernel.org>,
	<robert.moore@intel.com>, <amadeuszx.slawinski@linux.intel.com>,
	<andriy.shevchenko@linux.intel.com>,
	<pierre-louis.bossart@linux.intel.com>
Subject: Re: [PATCH v4 1/4] ACPI: NHLT: Device configuration access interface
Date: Wed, 9 Aug 2023 13:02:16 +0200	[thread overview]
Message-ID: <d41c58f0-9fbc-dace-a781-8ba00758c052@intel.com> (raw)
In-Reply-To: <CAHp75VdbXXfWT9NB+EF3Wqdjq2egpPReRAwnG96bEckeA9a0sQ@mail.gmail.com>

On 2023-08-09 11:05 AM, Andy Shevchenko wrote:
> On Wed, Aug 9, 2023 at 11:48 AM Cezary Rojewski
> <cezary.rojewski@intel.com> wrote:

...

>> First, you took the review seriously and provided a ton of valid
>> feedback. And your reviews and expertise helped me grow as a developer,
>> so from my perspective no need to sorry about spotting bad things late.
>>
>> Now, I admit, a bit surprised given the number of revisions and age of
>> the initial patchset. The cover-letter, attached for each revision, made
>> the intentions clear.
> 
> As you may notice I'm not against code that is done as a part of the
> Linux kernel and my surprise is the ACPICA change. My focus for review
> was a Linux kernel and it was just by a chance I looked at the PR on
> GitHub. There is neither good explanation in the commit message nor
> discussion of the change. What I probably miss (and that may help me
> to understand better the change) are:
> - the examples of the code snippets that are using data types before and after
> - explanation why not all data types were covered (there are more
> "strange" names like with _a, _b suffix)
> - how this is supposed to be maintained as the ACPICA has users
> outside of the kernel and how the change
>   makes their life easier (to me it's the opposite).

In general, many types are bogus or redundant. I'd argue that having 
types defined as _a, _b, _c, _d make the life harder :)

struct acpi_nhlt_device_specific_config_a
	bogus, there is no '_a', it's called mic device config instead

struct acpi_nhlt_device_specific_config_d
	bogus, such thing does not exist
	it breaks the spec as the "CapabilitiesSize" is missing

struct acpi_nhlt_device_specific_config_b
	bogus, such thing does not exist
	it's the header of any dev config but just header alone is
	  invalid

struct acpi_nhlt_device_specific_config_c
	bogus, describes an invalid type. Such thing can be encountered
	only when parsing damaged NHLT

struct acpi_nhlt_render_device_specific_config
	redundant

Then we have constants such as:
#define ACPI_NHLT_PDM                       2
#define ACPI_NHLT_SSP                       3

_PDM/_SSP what? There is no NHLT of type PDM or of type SSP. These 
specify link types but it's not mentioned in constants names.

I believe that by now you see where am going. The patch focuses on 
device-specific-config area as it's the area that requires most help.

>> Our goal is to help actual users of NHLT i.e.:
>> audio teams. While part of ACPICA, NHLT-code is hidden within sound/ so
>> no one asks questions. Leaving things at status quo does not improve the
>> situation.
> 
> What situation? To me it makes it worse. (Again, I'm talking solely
> for ACPICA change, the rest I have reviewed and I am fine with the
> direction taken.)

Situation = on top of above, NHLT-code is currently within sound/.
Let the handlers be part of drivers/acpi as is the case for all ACPI 
tables. The handlers themselves do not (and shall not) belong to ACPICA 
if I'm not mistaken.

>> Thus I believe simple "no" is not an option here. To make the
>> code better overall, relevant pieces should be made part of drivers/acpi.
>>
>> Original problems stem from the fact that audio teams were not looped in
>> during initial integration of NHLT-code. Turned out that no users
>> utilize it in its current form. The problems are subtle, but a
>> discussion wouldn't hurt.
>>
>> To avoid double posting, should we continue the discussion here or in
>> the PR on github?
> 
> Let's do it there, as it's purely about ACPICA.
> The kernel part will be affected depending on the result of the discussion.

Ok.

  reply	other threads:[~2023-08-09 11:02 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-21 15:48 [PATCH v4 0/4] ACPI: NHLT: Access and query helpers Cezary Rojewski
2023-07-21 15:48 ` [PATCH v4 1/4] ACPI: NHLT: Device configuration access interface Cezary Rojewski
2023-08-09  5:00   ` andy.shevchenko
2023-08-09  8:48     ` Cezary Rojewski
2023-08-09  9:05       ` Andy Shevchenko
2023-08-09 11:02         ` Cezary Rojewski [this message]
2023-07-21 15:48 ` [PATCH v4 2/4] ACPI: NHLT: Introduce acpi_gbl_nhlt Cezary Rojewski
2023-07-21 15:48 ` [PATCH v4 3/4] ACPI: NHLT: Table manipulation helpers Cezary Rojewski
2023-07-21 15:48 ` [PATCH v4 4/4] ACPI: NHLT: Add query functions Cezary Rojewski

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=d41c58f0-9fbc-dace-a781-8ba00758c052@intel.com \
    --to=cezary.rojewski@intel.com \
    --cc=amadeuszx.slawinski@linux.intel.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=rafael@kernel.org \
    --cc=robert.moore@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox