Re: Possible problem with thunderbolt 4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mika,

>> What I _did_ find out is this: if I disable ACPI on the kernel command
>> line (acpi=off), things work fine. I can even boot with the dock
>> unplugged, then plug it when linux is up, and it works in linux, and
>> also after the reboot in the firmware!
>>
>> Of course switching off ACPI is not a real option... but maybe this
>> brings some light into the dark...
> It pretty much disables a lot of functionality so I don't think it helps
> here, unfortunately.

I may have some more information on this issue, though I'm not sure if this will help... the thing is this:

this week I got a brandnew Lenovo Thinkpad Yoga X1 along with a Lenovo Thunderbolt 4 Workstation Dock, all thunderbolt 4. And at first it seemed to behave exactly like the HP combo; namely after booting Ubuntu 22.04 (which ships with a  5.15 kernel) the dock is gone in the firmware after the reboot, and subsequently later in Windows. Same behaviour with 5.18.9. And to my big surprise, with 5.18.11 the issue is gone! I've bisected it down to this commit:

8beb71759cc8fddd937cadf9ec482e524d4f0f1c is the first fixed commit
commit 8beb71759cc8fddd937cadf9ec482e524d4f0f1c
Author: Pierre Gondois <pierre.gondois@xxxxxxx>
Date:   Wed May 18 11:08:58 2022 +0200

    ACPI: bus: Set CPPC _OSC bits for all and when CPPC_LIB is supported
    
    [ Upstream commit 72f2ecb7ece7c1d89758d4929d98e95d95fe7199 ]
    
    The _OSC method allows the OS and firmware to communicate about
    supported features/capabitlities. It also allows the OS to take
    control of some features.
    
    In ACPI 6.4, s6.2.11.2 Platform-Wide OSPM Capabilities, the CPPC
    (resp. v2) bit should be set by the OS if it 'supports controlling
    processor performance via the interfaces described in the _CPC
    object'.
    
    The OS supports CPPC and parses the _CPC object only if
    CONFIG_ACPI_CPPC_LIB is set. Replace the x86 specific
    boot_cpu_has(X86_FEATURE_HWP) dynamic check with an arch
    generic CONFIG_ACPI_CPPC_LIB build-time check.
    
    Note:
    CONFIG_X86_INTEL_PSTATE selects CONFIG_ACPI_CPPC_LIB.
    
    Signed-off-by: Pierre Gondois <pierre.gondois@xxxxxxx>
    Reviewed-by: Sudeep Holla <sudeep.holla@xxxxxxx>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

 drivers/acpi/bus.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

I've no idea why this solves the issue on the Lenovo, and obviously it doesn't solve it on the HP, but maybe this rings a bell somewhere? (Note: in my woking kernel config (on the Lenovo) I have neither CONFIG_X86_INTEL_PSTATE nor CONFIG_ACPI_CPPC_LIB set...)

Previously you said you'd talk with your Windows folks about this; any news from there?

Thanks and best regards,
Christian






[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux