• Hans de Goede's avatar
    platform/x86: intel-vbtn: Fix SW_TABLET_MODE always reporting 1 on the HP Pavilion 11 x360 · d8233468
    Hans de Goede authored
    Commit cfae58ed ("platform/x86: intel-vbtn: Only blacklist
    SW_TABLET_MODE on the 9 / "Laptop" chasis-type") restored SW_TABLET_MODE
    reporting on the HP stream x360 11 series on which it was previously broken
    by commit de9647ef ("platform/x86: intel-vbtn: Only activate tablet
    mode switch on 2-in-1's").
    
    It turns out that enabling SW_TABLET_MODE reporting on devices with a
    chassis-type of 10 ("Notebook") causes SW_TABLET_MODE to always report 1
    at boot on the HP Pavilion 11 x360, which causes libinput to disable the
    kbd and touchpad.
    
    The HP Pavilion 11 x360's ACPI VGBS method sets bit 4 instead of bit 6 when
    NOT in tablet mode at boot. Inspecting all the DSDTs in my DSDT collection
    shows only one other model, the Medion E1239T ever setting bit 4 and it
    always sets this together with bit 6.
    
    So lets treat bit 4 as a second bit which when set indicates the device not
    being in tablet-mode, as we already do for bit 6.
    
    While at it also prefix all VGBS constant defines with "VGBS_".
    
    Fixes: cfae58ed ("platform/x86: intel-vbtn: Only blacklist SW_TABLET_MODE on the 9 / "Laptop" chasis-type")
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Acked-by: default avatarMark Gross <mgross@linux.intel.com>
    Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
    d8233468
intel-vbtn.c 9.01 KB