Re: [PATCH] ACPI: x86: Add skip i2c clients quirk for Lenovo Yoga Tab 3 Pro (YT3-X90F)

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

 



On Sun, Nov 27, 2022 at 7:24 PM Hans de Goede <hdegoede@xxxxxxxxxx> wrote:
>
> The Lenovo Yoga Tab 3 Pro (YT3-X90F) is a x86 (Cherry Trail) tablet which
> ships with Android x86 as factory OS. The Android x86 kernel fork ignores
> I2C devices described in the DSDT, except for the PMIC and Audio codecs.
>
> As usual the Lenovo Yoga Tab 3 Pro's DSDT contains a bunch of extra I2C
> devices which are not actually there, causing various resource conflicts.
> Add an ACPI_QUIRK_SKIP_I2C_CLIENTS quirk for the Lenovo Yoga Tab 3 Pro to
> the acpi_quirk_skip_dmi_ids table to woraround this.
>
> ACPI_QUIRK_SKIP_I2C_CLIENTS handling uses i2c_acpi_known_good_ids[],
> so that PMICs and Audio codecs will still be enumerated properly.
> The Lenovo Yoga Tab 3 Pro uses a Whiskey Cove PMIC, add the INT34D3 HID
> for this PMIC to the i2c_acpi_known_good_ids[] list.
>
> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
> ---
>  drivers/acpi/x86/utils.c | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/x86/utils.c b/drivers/acpi/x86/utils.c
> index 05262488fab9..4e816bb402f6 100644
> --- a/drivers/acpi/x86/utils.c
> +++ b/drivers/acpi/x86/utils.c
> @@ -308,7 +308,7 @@ static const struct dmi_system_id acpi_quirk_skip_dmi_ids[] = {
>                                         ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY),
>         },
>         {
> -               /* Lenovo Yoga Tablet 1050F/L */
> +               /* Lenovo Yoga Tablet 2 1050F/L */
>                 .matches = {
>                         DMI_MATCH(DMI_SYS_VENDOR, "Intel Corp."),
>                         DMI_MATCH(DMI_PRODUCT_NAME, "VALLEYVIEW C0 PLATFORM"),
> @@ -319,6 +319,16 @@ static const struct dmi_system_id acpi_quirk_skip_dmi_ids[] = {
>                 .driver_data = (void *)(ACPI_QUIRK_SKIP_I2C_CLIENTS |
>                                         ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY),
>         },
> +       {
> +               /* Lenovo Yoga Tab 3 Pro X90F */
> +               .matches = {
> +                       DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),
> +                       DMI_MATCH(DMI_PRODUCT_NAME, "CHERRYVIEW D1 PLATFORM"),
> +                       DMI_MATCH(DMI_PRODUCT_VERSION, "Blade3-10A-001"),
> +               },
> +               .driver_data = (void *)(ACPI_QUIRK_SKIP_I2C_CLIENTS |
> +                                       ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY),
> +       },
>         {
>                 /* Medion Lifetab S10346 */
>                 .matches = {
> @@ -359,6 +369,7 @@ static const struct acpi_device_id i2c_acpi_known_good_ids[] = {
>         { "10EC5640", 0 }, /* RealTek ALC5640 audio codec */
>         { "INT33F4", 0 },  /* X-Powers AXP288 PMIC */
>         { "INT33FD", 0 },  /* Intel Crystal Cove PMIC */
> +       { "INT34D3", 0 },  /* Intel Whiskey Cove PMIC */
>         { "NPCE69A", 0 },  /* Asus Transformer keyboard dock */
>         {}
>  };
> --

Applied as 6.2 material, thanks!



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux