Thread (23 messages) flat view 23 messages, 4 authors, 2021-01-28

Re: [PATCH 4/6] ACPI: Execute platform _OSC also with query bit clear

From: Mika Westerberg <mika.westerberg@linux.intel.com>
Date: 2021-01-27 12:55:54
Also in: linux-acpi

On Tue, Jan 26, 2021 at 10:43:32PM +0000, Limonciello, Mario wrote:
quoted
I would put that information into the changelog.
Thanks, @Mika Westerberg can you collapse that in when you re-spin the
series?
Sure.
quoted
Moreover, have you looked at acpi_pci_osc_control_set()?

What it does is analogous to what you are proposing, but a bit
different, and I would like to preserve consistency between _OSC use
cases.

So would it be possible to adjust the _SB _OSC evaluation flow to
follow the PCI _OSC one?  That is, if any control bits are there, pass
them along with the last evaluation of _OSC with the query flag clear.
Or is the latter defective and if so then why?
Basically the only difference is another line cloning OSC_CONTROL_DWORD from
capbuf_ret to capbuf?

Yes, this actually sounds like it better adheres to the spec to me.

Quoting spec:
" If the OS is granted control of a feature in the Control Field in one call to
_OSC, then it must preserve the set state of that bit (requesting that feature)
in all subsequent calls."
However, the platform wide _OSC does not actually have this
OSC_CONTROL_DWORD at all ;-)

I think what we do in this patch is already equivalent to what the PCI
_OSC is doing:

  1. Query bit set _OSC
  2. Take the returned OSC_SUPPORT_DWORD buffer and
  3. Pass it to the _OSC with query bit clear.

I may be missing something, though.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help