30 Dec, 2020

9 commits

  • commit fe6000990394639ed374cb76c313be3640714f47 upstream.

    This 2-in-1 model (Product name: Switch SA5-271) features a SW_TABLET_MODE
    that works as it would be expected, both when detaching the keyboard and
    when folding it behind the tablet body.

    It used to work until the introduction of the allow list at
    commit 8169bd3e6e193 ("platform/x86: intel-vbtn: Switch to an allow-list
    for SW_TABLET_MODE reporting"). Add this model to it, so that the Virtual
    Buttons device announces the EV_SW features again.

    Fixes: 8169bd3e6e193 ("platform/x86: intel-vbtn: Switch to an allow-list for SW_TABLET_MODE reporting")
    Cc: stable@vger.kernel.org
    Signed-off-by: Carlos Garnacho
    Link: https://lore.kernel.org/r/20201201135727.212917-1-carlosg@gnome.org
    Signed-off-by: Hans de Goede
    Signed-off-by: Greg Kroah-Hartman

    Carlos Garnacho
     
  • commit eca6ba20f38cfa2f148d7bd13db7ccd19e88635b upstream.

    The only reference to the mlxplat_mlxcpld_psu[] array got removed,
    so there is now a warning from clang:

    drivers/platform/x86/mlx-platform.c:322:30: error: variable 'mlxplat_mlxcpld_psu' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration]
    static struct i2c_board_info mlxplat_mlxcpld_psu[] = {

    Remove the array as well and adapt the ARRAY_SIZE() call
    accordingly.

    Fixes: 912b341585e3 ("platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform configuration")
    Signed-off-by: Arnd Bergmann
    Acked-by: Vadim Pasternak
    Link: https://lore.kernel.org/r/20201203223105.1195709-1-arnd@kernel.org
    Signed-off-by: Hans de Goede
    Cc: Nathan Chancellor
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     
  • [ Upstream commit 74639cbf51d7c0304342544a83dfda354a6bd208 ]

    There isn't any need to overwrite the mode here in the driver with what
    has been detected by the firmware, such as DT or ACPI. In fact, if we
    use the SPI CS gpio descriptor feature we will overwrite the mode with
    SPI_MODE_0 where it already contains SPI_MODE_0 and more importantly
    SPI_CS_HIGH. Clearing the SPI_CS_HIGH bit causes the CS line to toggle
    when the device is probed when it shouldn't change, confusing the driver
    and making it fail to probe. Drop the assignment and let the spi core
    take care of it.

    Fixes: a17d94f0b6e1 ("mfd: Add ChromeOS EC SPI driver")
    Cc: Simon Glass
    Cc: Gwendal Grignou
    Reviewed-by: Douglas Anderson
    Tested-by: Douglas Anderson
    Acked-by: Enric Balletbo i Serra
    Cc: Alexandru M Stan
    Signed-off-by: Stephen Boyd
    Reviewed-by: Simon Glass
    Link: https://lore.kernel.org/r/20201204193540.3047030-2-swboyd@chromium.org
    Signed-off-by: Mark Brown
    Signed-off-by: Sasha Levin

    Stephen Boyd
     
  • [ Upstream commit cf791774a16caf87b0e4c0c55b82979bad0b6c01 ]

    Fix array names to match assignments for data items and data items
    counter in 'mlxplat_mlxcpld_comex_items' structure for:
    .data = mlxplat_mlxcpld_default_pwr_items_data,
    .count = ARRAY_SIZE(mlxplat_mlxcpld_pwr),
    and
    .data = mlxplat_mlxcpld_default_fan_items_data,
    .count = ARRAY_SIZE(mlxplat_mlxcpld_fan),

    Replace:
    - 'mlxplat_mlxcpld_pwr' by 'mlxplat_mlxcpld_default_pwr_items_data' for
    ARRAY_SIZE() calculation.
    - 'mlxplat_mlxcpld_fan' by 'mlxplat_mlxcpld_default_fan_items_data'
    for ARRAY_SIZE() calculation.

    Fixes: bdd6e155e0d6 ("platform/x86: mlx-platform: Add support for new system type")
    Signed-off-by: Vadim Pasternak
    Link: https://lore.kernel.org/r/20201207174745.22889-3-vadimp@nvidia.com
    Signed-off-by: Hans de Goede
    Signed-off-by: Sasha Levin

    Vadim Pasternak
     
  • [ Upstream commit ba4939f1dd46dde08c2f9b9d7ac86ed3ea7ead86 ]

    Fix array names to match assignments for data items and data items
    counter in 'mlxplat_mlxcpld_default_items' structure for:
    .data = mlxplat_mlxcpld_default_pwr_items_data,
    .count = ARRAY_SIZE(mlxplat_mlxcpld_pwr),
    and
    .data = mlxplat_mlxcpld_default_fan_items_data,
    .count = ARRAY_SIZE(mlxplat_mlxcpld_fan),

    Replace:
    - 'mlxplat_mlxcpld_pwr' by 'mlxplat_mlxcpld_default_pwr_items_data' for
    ARRAY_SIZE() calculation.
    - 'mlxplat_mlxcpld_fan' by 'mlxplat_mlxcpld_default_fan_items_data'
    for ARRAY_SIZE() calculation.

    Fixes: c6acad68eb2d ("platform/mellanox: mlxreg-hotplug: Modify to use a regmap interface")
    Signed-off-by: Vadim Pasternak
    Link: https://lore.kernel.org/r/20201207174745.22889-2-vadimp@nvidia.com
    Signed-off-by: Hans de Goede
    Signed-off-by: Sasha Levin

    Vadim Pasternak
     
  • [ Upstream commit a4327979a19e8734ddefbd8bcbb73bd9905b69cd ]

    Some HP x360 models have an ACPI VGBS method which 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_".

    Note this wrokaround was first added to the kernel as
    commit d823346876a9 ("platform/x86: intel-vbtn: Fix SW_TABLET_MODE always
    reporting 1 on the HP Pavilion 11 x360").
    After commit 8169bd3e6e19 ("platform/x86: intel-vbtn: Switch to an
    allow-list for SW_TABLET_MODE reporting") got added to the kernel this
    was reverted, because with the new allow-list approach the workaround
    was no longer necessary for the model on which the issue was first
    reported.

    But it turns out that the workaround is still necessary because some
    affected models report a chassis-type of 31 which is on the allow-list.

    BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1894017
    Fixes: 21d64817c724 ("platform/x86: intel-vbtn: Revert "Fix SW_TABLET_MODE always reporting 1 on the HP Pavilion 11 x360"")
    Signed-off-by: Hans de Goede
    Signed-off-by: Sasha Levin

    Hans de Goede
     
  • [ Upstream commit 2425ccd30fd78ce35237350fe8baac31dc18bd45 ]

    Fix to return the error code -ENODEV when fails to init wmi and
    smm.

    Fixes: 41e36f2f85af ("platform/x86: dell-smbios: Link all dell-smbios-* modules together")
    Reported-by: Hulk Robot
    Signed-off-by: Qinglang Miao
    Reviewed-by: Mario Limonciello
    Link: https://lore.kernel.org/r/20201125065032.154125-1-miaoqinglang@huawei.com
    Signed-off-by: Hans de Goede
    Signed-off-by: Sasha Levin

    Qinglang Miao
     
  • [ Upstream commit 912b341585e302ee44fc5a2733f7bcf505e2c86f ]

    Remove PSU EEPROM configuration for systems class equipped with
    Mellanox chip Spectrum and ATOM CPU - system types MSN274x. Till now
    all the systems from this class used few types of power units, all
    equipped with EEPROM device with address space two bytes. Thus, all
    these devices have been handled by EEPROM driver "24c02".

    There is a new requirement is to support power unit replacement by "off
    the shelf" device, matching electrical required parameters. Such device
    can be equipped with different EEPROM type, which could be one byte
    address space addressing or even could be not equipped with EEPROM.
    In such case "24c02" will not work.

    Fixes: ef08e14a3 ("platform/x86: mlx-platform: Add support for new msn274x system type")
    Signed-off-by: Vadim Pasternak
    Link: https://lore.kernel.org/r/20201125101056.174708-3-vadimp@nvidia.com
    Signed-off-by: Hans de Goede
    Signed-off-by: Sasha Levin

    Vadim Pasternak
     
  • [ Upstream commit 2bf5046bdb649908df8bcc0a012c56eee931a9af ]

    Remove PSU EEPROM configuration for systems class equipped with
    Mellanox chip Spectrum and Celeron CPU - system types MSN2700, MSN2100.
    Till now all the systems from this class used few types of power units,
    all equipped with EEPROM device with address space two bytes. Thus, all
    these devices have been handled by EEPROM driver "24c02".

    There is a new requirement is to support power unit replacement by "off
    the shelf" device, matching electrical required parameters. Such device
    can be equipped with different EEPROM type, which could be one byte
    address space addressing or even could be not equipped with EEPROM.
    In such case "24c02" will not work.

    Fixes: c6acad68e ("platform/mellanox: mlxreg-hotplug: Modify to use a regmap interface")
    Fixes: ba814fdd0 ("platform/x86: mlx-platform: Use defines for bus assignment")
    Signed-off-by: Vadim Pasternak
    Link: https://lore.kernel.org/r/20201125101056.174708-2-vadimp@nvidia.com
    Signed-off-by: Hans de Goede
    Signed-off-by: Sasha Levin

    Vadim Pasternak
     

26 Nov, 2020

10 commits

  • Add touchscreen info for the Irbis TW118 tablet.

    Reported-and-tested-by: russianneuromancer
    Signed-off-by: Hans de Goede
    Link: https://lore.kernel.org/r/20201124110454.114286-1-hdegoede@redhat.com

    Hans de Goede
     
  • Add touchscreen info for the Predia Basic tablet.

    Signed-off-by: Hans de Goede
    Acked-by: Andy Shevchenko
    Link: https://lore.kernel.org/r/20201015194949.50566-1-hdegoede@redhat.com

    Hans de Goede
     
  • The Pavilion 13 x360 PC has a chassis-type which does not indicate it is
    a convertible, while it is actually a convertible. Add it to the
    dmi_switches_allow_list.

    Signed-off-by: Max Verevkin
    Link: https://lore.kernel.org/r/20201124131652.11165-1-me@maxverevkin.tk
    Signed-off-by: Hans de Goede

    Max Verevkin
     
  • The commit 78429e55e4057 ("platform/x86: toshiba_acpi: Clean up
    variable declaration") cleans up variable declaration in
    video_proc_write(). Seems it does the variable assignment in the
    wrong place, this results in dead code and changes the source code
    logic. Fix it by doing the assignment at the beginning of the funciton.

    Fixes: 78429e55e4057 ("platform/x86: toshiba_acpi: Clean up variable declaration")
    Reported-by: Tosk Robot
    Signed-off-by: Kaixu Xia
    Link: https://lore.kernel.org/r/1606024177-16481-1-git-send-email-kaixuxia@tencent.com
    Signed-off-by: Hans de Goede

    Kaixu Xia
     
  • Got a dmesg message on my AMD Renoir based Acer laptop:
    "acer_wmi: Unknown key number - 0x84" when toggling keyboard
    background light

    Signed-off-by: Timo Witte
    Reviewed-by: "Lee, Chun-Yi"
    Link: https://lore.kernel.org/r/20200804001423.36778-1-timo.witte@gmail.com
    Signed-off-by: Hans de Goede

    Timo Witte
     
  • This commit enables dual fan control for the following new Lenovo
    models: P15, P15v.

    Signed-off-by: Matthias Maier
    Link: https://lore.kernel.org/r/20201126000416.2459645-2-tamiko-ibm-acpi-devel@43-1.org
    Signed-off-by: Hans de Goede

    Matthias Maier
     
  • The lid state may change while the machine is suspended. As such, we may
    need to re-check the state at wake-up time (at least when waking up from
    hibernation).
    Add the appropriate call to the resume handler in order to sync the
    SW_TABLET_MODE switch state with the hardware state.

    Fixes: dda3ec0aa631 ("platform/x86: thinkpad_acpi: Implement tablet mode using GMMS method")
    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=210269
    Signed-off-by: Benjamin Berg
    Acked-by: Henrique de Moraes Holschuh
    Link: https://lore.kernel.org/r/20201123132157.866303-1-benjamin@sipsolutions.net
    Signed-off-by: Hans de Goede

    Benjamin Berg
     
  • The Thinkpad Yoga 11e 4th gen with the N3450 / Celeron CPU only has
    one battery which is named BAT1 instead of the expected BAT0, add a
    quirk for this. This fixes not being able to set the charging tresholds
    on this model; and this alsoe fixes the following errors in dmesg:

    ACPI: \_SB_.PCI0.LPCB.EC__.HKEY: BCTG evaluated but flagged as error
    thinkpad_acpi: Error probing battery 2
    battery: extension failed to load: ThinkPad Battery Extension
    battery: extension unregistered: ThinkPad Battery Extension

    Note that the added quirk is for the "R0K" BIOS versions which are
    used on the Thinkpad Yoga 11e 4th gen's with a Celeron CPU, there
    is a separate "R0L" BIOS for the i3/i5 based versions. This may also
    need the same quirk, but if that really is necessary is unknown.

    Signed-off-by: Hans de Goede
    Link: https://lore.kernel.org/r/20201109103550.16265-1-hdegoede@redhat.com

    Hans de Goede
     
  • The Yoga 11e series has 2 accelerometers described by a BOSC0200 ACPI node.
    This setup relies on a Windows service which reads both accelerometers and
    then calculates the angle between the 2 halves to determine laptop / tent /
    tablet mode and then reports the calculated mode back to the EC by calling
    special ACPI methods on the BOSC0200 node.

    The bmc150 iio driver does not support this (it involves double
    calculations requiring sqrt and arccos so this really needs to be done
    in userspace), as a result of this on the Yoga 11e the thinkpad_acpi
    code always reports SW_TABLET_MODE=0, starting with GNOME 3.38 reporting
    SW_TABLET_MODE=0 causes GNOME to:

    1. Not show the onscreen keyboard when a text-input field is focussed
    with the touchscreen.
    2. Disable accelerometer based auto display-rotation.

    This makes sense when in laptop-mode but not when in tablet-mode. But
    since for the Yoga 11e the thinkpad_acpi code always reports
    SW_TABLET_MODE=0, GNOME does not know when the device is in tablet-mode.

    Stop reporting the broken (always 0) SW_TABLET_MODE on Yoga 11e models
    to fix this.

    Note there are plans for userspace to support 360 degree hinges style
    2-in-1s with 2 accelerometers and figure out the mode by itself, see:
    https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/issues/216

    Signed-off-by: Hans de Goede
    Link: https://lore.kernel.org/r/20201106140130.46820-1-hdegoede@redhat.com

    Hans de Goede
     
  • Tested on my P1 gen3, works fine with `thinkfan`. Since thinkpad_acpi fan
    control is off by default, it is safe to add 2nd fan control for brave
    overclockers

    Signed-off-by: Iakov 'Jake' Kirilenko
    Link: https://lore.kernel.org/r/20201105152556.34073-1-jake.kirilenko@gmail.com
    Signed-off-by: Hans de Goede

    Iakov 'Jake' Kirilenko
     

24 Oct, 2020

2 commits

  • Pull input updates from Dmitry Torokhov:

    - a new driver for ADC driven joysticks

    - a new Zintix touchscreen driver

    - enhancements to Intel SoC button array driver

    - support for F3A "function" in Synaptics RMI4 driver

    - assorted driver fixups

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (29 commits)
    Input: Add MAINTAINERS entry for SiS i2c touch input driver
    Input: evdev - per-client waitgroups
    Input: synaptics - enable InterTouch for ThinkPad T14 Gen 1
    Input: synaptics - enable InterTouch for ThinkPad P1/X1E gen 2
    Input: synaptics-rmi4 - support bootloader v8 in f34v7
    Input: synaptics-rmi4 - add support for F3A
    Input: synaptics-rmi4 - rename f30_data to gpio_data
    Input: add zinitix touchscreen driver
    dt-bindings: input/touchscreen: add bindings for zinitix
    Input: joystick - add ADC attached joystick driver.
    dt-bindings: input: Add docs for ADC driven joystick
    Input: sun4i-ps2 - fix handling of platform_get_irq() error
    Input: twl4030_keypad - fix handling of platform_get_irq() error
    Input: omap4-keypad - fix handling of platform_get_irq() error
    Input: ep93xx_keypad - fix handling of platform_get_irq() error
    Input: stmfts - fix a & vs && typo
    Input: imx6ul_tsc - unify open/close and PM paths
    Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume()
    Input: elants_i2c - fix typo for an attribute to show calibration count
    Input: elants_i2c - report resolution of ABS_MT_TOUCH_MAJOR by FW information.
    ...

    Linus Torvalds
     
  • …kernel/git/chrome-platform/linux

    Pull chrome platform updates from Benson Leung:
    "cros-ec:
    - Error code cleanup across cros-ec by Guenter
    - Remove cros_ec_cmd_xfer in favor of cros_ec_cmd_xfer_status

    cros_ec_typec:
    - Landed initial USB4 support in typec connector class driver for
    cros_ec
    - Role switch bugfix on disconnect, and reordering configuration
    steps

    cros_ec_lightbar:
    - Fix buffer outsize and result for get_lightbar_version

    misc:
    - Remove config MFD_CROS_EC, now that transition from MFD is complete
    - Enable KEY_LEFTMETA in new location on arm based cros-ec-keyboard
    keymap"

    * tag 'tag-chrome-platform-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
    ARM: dts: cros-ec-keyboard: Add alternate keymap for KEY_LEFTMETA
    platform/chrome: Use kobj_to_dev() instead of container_of()
    platform/chrome: cros_ec_proto: Drop cros_ec_cmd_xfer()
    platform/chrome: cros_ec_proto: Update cros_ec_cmd_xfer() call-sites
    platform/chrome: Kconfig: Remove the transitional MFD_CROS_EC config
    platform/chrome: cros_ec_lightbar: Reduce ligthbar get version command
    platform/chrome: cros_ec_trace: Add fields to command traces
    platform/chrome: cros_ec_typec: Re-order connector configuration steps
    platform/chrome: cros_ec_typec: Avoid setting usb role twice during disconnect
    platform/chrome: cros_ec_typec: Send enum values to usb_role_switch_set_role()
    platform/chrome: cros_ec_typec: USB4 support
    pwm: cros-ec: Simplify EC error handling
    platform/chrome: cros_ec_proto: Convert EC error codes to Linux error codes
    platform/input: cros_ec: Replace -ENOTSUPP with -ENOPROTOOPT
    pwm: cros-ec: Accept more error codes from cros_ec_cmd_xfer_status
    platform/chrome: cros_ec_sysfs: Report range of error codes from EC
    cros_ec_lightbar: Accept more error codes from cros_ec_cmd_xfer_status
    iio: cros_ec: Accept -EOPNOTSUPP as 'not supported' error code

    Linus Torvalds
     

15 Oct, 2020

1 commit

  • …ernel/git/pdx86/platform-drivers-x86

    Pull x86 platform driver updates from Hans de Goede:
    "Rather calm cycle for x86 platform drivers, all these have been in
    for-next for a couple of days with no bot complaints.

    Highlights:

    - PMC TigerLake fixes and new RocketLake support

    - various small fixes / updates in other drivers/tools"

    * tag 'platform-drivers-x86-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
    MAINTAINERS: update X86 PLATFORM DRIVERS entry with new kernel.org git repo
    platform/x86: mlx-platform: Add capability field to platform FAN description
    platform_data/mlxreg: Extend core platform structure
    platform_data/mlxreg: Update module license
    platform/x86: mlx-platform: Remove PSU EEPROM configuration
    MAINTAINERS: Update maintainers for pmc_core driver
    platform/x86: intel_pmc_core: fix: Replace dev_dbg macro with dev_info()
    platform/x86: intel_pmc_core: Add Intel RocketLake (RKL) support
    platform/x86: intel_pmc_core: Clean up: Remove the duplicate comments and reorganize
    platform/x86: intel_pmc_core: Fix the slp_s0 counter displayed value
    platform/x86: intel_pmc_core: Fix TigerLake power gating status map
    platform/x86: pmc_core: Use descriptive names for LPM registers
    tools/power/x86/intel-speed-select: Update version for v5.10
    tools/power/x86/intel-speed-select: Fix missing base-freq core IDs
    platform/x86: hp-wmi: add support for thermal policy

    Linus Torvalds
     

08 Oct, 2020

8 commits

  • Set 'capability' field to FAN core platform data..
    The content of 'capability' register allows to set the mapping between
    the drawers and tachometers.
    The motivation is to avoid adding a new code in the future in order to
    distinct between the systems types supporting a different kinds of the
    FAN drawers.

    Signed-off-by: Vadim Pasternak
    Reviewed-by: Hans de Goede
    Link: https://lore.kernel.org/r/20200923172053.26296-6-vadimp@nvidia.com
    Signed-off-by: Hans de Goede

    Vadim Pasternak
     
  • Remove PSU EEPROM configuration for systems class equipped with
    Mellanox chip Spectrume-2. Till now all the systems from this class
    used few types of power units, all equipped with EEPROM device with
    address space two bytes. Thus, all these devices have been handled by
    EEPROM driver "24c32".
    There is a new requirement is to support power unit replacement by "off
    the shelf" device, matching electrical required parameters. Such device
    could be equipped with different EEPROM type, which could be one byte
    address space addressing or even could be not equipped with EEPROM.
    In such case "24c32" will not work.

    Fixes: 1bd42d94ccab ("platform/x86: mlx-platform: Add support for new 200G IB and Ethernet systems")
    Signed-off-by: Vadim Pasternak
    Reviewed-by: Hans de Goede
    Link: https://lore.kernel.org/r/20200923172053.26296-2-vadimp@nvidia.com
    Signed-off-by: Hans de Goede

    Vadim Pasternak
     
  • dev_dbg macro is used to dump the debug registers in resume from an S0ix
    failure. However, when CONFIG_DYNAMIC_DEBUG is not set, the user may not be
    able to find the debug dump on an S0ix failure which defeats the purpose.
    The output of these messages is already controlled by a module parameter,
    warn_on_s0ix_failures, making it a 2 step process to enable anyway when
    CONFIG_DYNAMIC_DEBUG is set.

    Hence, replace dev_dbg with dev_info, allowing the control of the messages
    solely through the module parameter which is N by default.

    Fixes commit 913f984a8347 ("platform/x86: intel_pmc_core: Add an
    additional parameter to pmc_core_lpm_display()")

    Cc: Srinivas Pandruvada
    Cc: Andy Shevchenko
    Cc: David E. Box
    Signed-off-by: Gayatri Kammela
    Signed-off-by: David E. Box
    Reviewed-by: Andy Shevchenko
    Reviewed-by: Rajneesh Bhardwaj
    Link: https://lore.kernel.org/r/20201007035108.31078-4-david.e.box@linux.intel.com
    Signed-off-by: Hans de Goede

    Gayatri Kammela
     
  • Add RocketLake to the list of the platforms that intel_pmc_core driver
    supports for pmc_core device. RocketLake reuses all the TigerLake PCH IPs.

    Cc: Srinivas Pandruvada
    Cc: Andy Shevchenko
    Cc: David E. Box
    Cc: Tony Luck
    Cc: Rui Zhang
    Signed-off-by: Gayatri Kammela
    Signed-off-by: David E. Box
    Reviewed-by: Andy Shevchenko
    Reviewed-by: Rajneesh Bhardwaj
    Link: https://lore.kernel.org/r/20201007035108.31078-3-david.e.box@linux.intel.com
    Signed-off-by: Hans de Goede

    Gayatri Kammela
     
  • Some of the Cannon Lake PCH IPs are reused by most of the platforms
    such as Ice Lake, Tiger Lake, Elkhart Lake, Jasper Lake and can be
    reused by future platforms as well. The same was mentioned via comments
    not once but twice in an array of bit map structs for Cannon Lake
    (cnp_pfear_map).

    Hence, remove the duplicate comments and reorganize them.

    Cc: Srinivas Pandruvada
    Cc: Andy Shevchenko
    Cc: David E. Box
    Cc: Tony Luck
    Cc: Rui Zhang
    Suggested-by: Dave Hansen
    Signed-off-by: Gayatri Kammela
    Signed-off-by: David E. Box
    Reviewed-by: Andy Shevchenko
    Reviewed-by: Rajneesh Bhardwaj
    Link: https://lore.kernel.org/r/20201007035108.31078-2-david.e.box@linux.intel.com
    Signed-off-by: Hans de Goede

    Gayatri Kammela
     
  • slp_s0 counter value displayed via debugfs interface is calculated by
    multiplying the granularity for crystal oscillator tick as 100us with
    the value read from using slp_s0 offset. But the granularity of the tick
    varies from platform to platform and it needs to be fixed.

    Hence, specify granularity of the tick for each platform, so that the
    value of the slp_s0 counter is accurate.

    Signed-off-by: Gayatri Kammela
    Signed-off-by: David E. Box
    Reviewed-by: Andy Shevchenko
    Link: https://lore.kernel.org/r/20201006224702.12697-4-david.e.box@linux.intel.com
    Signed-off-by: Hans de Goede

    Gayatri Kammela
     
  • TigerLake's LPM power gating status register has errors in the bit-to-name
    mapping as well as with the marked reserved bits according to the actual
    implementation. Hence, update the right bit-to-name mapping and the
    reserved bits in accordance with actual implementation.

    Cc: Srinivas Pandruvada
    Cc: Andy Shevchenko
    Cc: David E. Box
    Signed-off-by: Gayatri Kammela
    Signed-off-by: David E. Box
    Reviewed-by: Andy Shevchenko
    Link: https://lore.kernel.org/r/20201006224702.12697-3-david.e.box@linux.intel.com
    Signed-off-by: Hans de Goede

    Gayatri Kammela
     
  • TigerLake Lower Power Mode (LPM) registers are grouped by functionality
    but were given simple enumerated names in the code (lpm0, lpm1, ...).
    Instead, give the register blocks names that describe their usage.

    Suggested-by: Andy Shevchenko
    Signed-off-by: David E. Box
    Reviewed-by: Andy Shevchenko
    Link: https://lore.kernel.org/r/20201006224702.12697-2-david.e.box@linux.intel.com
    Signed-off-by: Hans de Goede

    David E. Box
     

07 Oct, 2020

2 commits

  • HP Spectre notebooks (and probably other model as well)
    support up to 4 thermal policy:
    - HP Recommended
    - Performance
    - Cool
    - Quiet

    at least on HP Spectre x360 Convertible 15-df0xxx the firmware sets the
    thermal policy to default but hardcode the odvp0 variable to 1, this causes
    thermald to choose the wrong DPTF profile witch result in low performance
    when notebook is on AC, calling thermal policy write command allow firmware
    to correctly set the odvp0 variable.

    Signed-off-by: Elia Devito
    Link: https://lore.kernel.org/r/20201004211305.11628-1-eliadevito@gmail.com
    Reviewed-by: Hans de Goede
    Signed-off-by: Hans de Goede

    Elia Devito
     
  • …rnel/git/pdx86/platform-drivers-x86

    Pull another x86 platform driver fix from Hans de Goede:
    "One final pdx86 fix for Tablet Mode reporting regressions (which make
    the keyboard and touchpad unusable) on various Asus notebooks.

    These regressions were caused by the asus-nb-wmi and the intel-vbtn
    drivers both receiving recent patches to start reporting Tablet Mode /
    to report it on more models.

    Due to a miscommunication between Andy and me, Andy's earlier pull-req
    only contained the fix for the intel-vbtn driver and not the fix for
    the asus-nb-wmi code.

    This fix has been tested as a downstream patch in Fedora kernels for
    approx two weeks with no problems being reported"

    * tag 'platform-drivers-x86-v5.9-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
    platform/x86: asus-wmi: Fix SW_TABLET_MODE always reporting 1 on many different models

    Linus Torvalds
     

06 Oct, 2020

2 commits

  • Commit b0dbd97de1f1 ("platform/x86: asus-wmi: Add support for
    SW_TABLET_MODE") added support for reporting SW_TABLET_MODE using the
    Asus 0x00120063 WMI-device-id to see if various transformer models were
    docked into their keyboard-dock (SW_TABLET_MODE=0) or if they were
    being used as a tablet.

    The new SW_TABLET_MODE support (naively?) assumed that non Transformer
    devices would either not support the 0x00120063 WMI-device-id at all,
    or would NOT set ASUS_WMI_DSTS_PRESENCE_BIT in their reply when querying
    the device-id.

    Unfortunately this is not true and we have received many bug reports about
    this change causing the asus-wmi driver to always report SW_TABLET_MODE=1
    on non Transformer devices. This causes libinput to think that these are
    360 degree hinges style 2-in-1s folded into tablet-mode. Making libinput
    suppress keyboard and touchpad events from the builtin keyboard and
    touchpad. So effectively this causes the keyboard and touchpad to not work
    on many non Transformer Asus models.

    This commit fixes this by using the existing DMI based quirk mechanism in
    asus-nb-wmi.c to allow using the 0x00120063 device-id for reporting
    SW_TABLET_MODE on Transformer models and ignoring it on all other models.

    Fixes: b0dbd97de1f1 ("platform/x86: asus-wmi: Add support for SW_TABLET_MODE")
    Link: https://patchwork.kernel.org/patch/11780901/
    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=209011
    BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1876997
    Reported-by: Samuel Čavoj
    Signed-off-by: Hans de Goede

    Hans de Goede
     
  • Pull x86 platform driver fixes from Andy Shevchenko:
    "We have some fixes for Tablet Mode reporting in particular, that users
    are complaining a lot about.

    Summary:

    - Attempt #3 of enabling Tablet Mode reporting w/o regressions

    - Improve battery recognition code in ASUS WMI driver

    - Fix Kconfig dependency warning for Fujitsu and LG laptop drivers

    - Add fixes in Thinkpad ACPI driver for _BCL method and NVRAM polling

    - Fix power supply extended topology in Mellanox driver

    - Fix memory leak in OLPC EC driver

    - Avoid static struct device in Intel PMC core driver

    - Add support for the touchscreen found in MPMAN Converter9 2-in-1

    - Update MAINTAINERS to reflect the real state of affairs"

    * tag 'platform-drivers-x86-v5.9-2' of git://git.infradead.org/linux-platform-drivers-x86:
    platform/x86: thinkpad_acpi: re-initialize ACPI buffer size when reuse
    MAINTAINERS: Add Mark Gross and Hans de Goede as x86 platform drivers maintainers
    platform/x86: intel-vbtn: Switch to an allow-list for SW_TABLET_MODE reporting
    platform/x86: intel-vbtn: Revert "Fix SW_TABLET_MODE always reporting 1 on the HP Pavilion 11 x360"
    platform/x86: intel_pmc_core: do not create a static struct device
    platform/x86: mlx-platform: Fix extended topology configuration for power supply units
    platform/x86: pcengines-apuv2: Fix typo on define of AMD_FCH_GPIO_REG_GPIO55_DEVSLP0
    platform/x86: fix kconfig dependency warning for FUJITSU_LAPTOP
    platform/x86: fix kconfig dependency warning for LG_LAPTOP
    platform/x86: thinkpad_acpi: initialize tp_nvram_state variable
    platform/x86: intel-vbtn: Fix SW_TABLET_MODE always reporting 1 on the HP Pavilion 11 x360
    platform/x86: asus-wmi: Add BATC battery name to the list of supported
    platform/x86: asus-nb-wmi: Revert "Do not load on Asus T100TA and T200TA"
    platform/x86: touchscreen_dmi: Add info for the MPMAN Converter9 2-in-1
    Documentation: laptops: thinkpad-acpi: fix underline length build warning
    Platform: OLPC: Fix memleak in olpc_ec_probe

    Linus Torvalds
     

05 Oct, 2020

1 commit


02 Oct, 2020

2 commits

  • 2 recent commits:
    cfae58ed681c ("platform/x86: intel-vbtn: Only blacklist SW_TABLET_MODE
    on the 9 / "Laptop" chasis-type")
    1fac39fd0316 ("platform/x86: intel-vbtn: Also handle tablet-mode switch on
    "Detachable" and "Portable" chassis-types")

    Enabled reporting of SW_TABLET_MODE on more devices since the vbtn ACPI
    interface is used by the firmware on some of those devices to report this.

    Testing has shown that unconditionally enabling SW_TABLET_MODE reporting
    on all devices with a chassis type of 8 ("Portable") or 10 ("Notebook")
    which support the VGBS method is a very bad idea.

    Many of these devices are normal laptops (non 2-in-1) models with a VGBS
    which always returns 0, which we translate to SW_TABLET_MODE=1. This in
    turn causes userspace (libinput) to suppress events from the builtin
    keyboard and touchpad, making the laptop essentially unusable.

    Since the problem of wrongly reporting SW_TABLET_MODE=1 in combination
    with libinput, leads to a non-usable system. Where as OTOH many people will
    not even notice when SW_TABLET_MODE is not being reported, this commit
    changes intel_vbtn_has_switches() to use a DMI based allow-list.

    The new DMI based allow-list matches on the 31 ("Convertible") and
    32 ("Detachable") chassis-types, as these clearly are 2-in-1s and
    so far if they support the intel-vbtn ACPI interface they all have
    properly working SW_TABLET_MODE reporting.

    Besides these 2 generic matches, it also contains model specific matches
    for 2-in-1 models which use a different chassis-type and which are known
    to have properly working SW_TABLET_MODE reporting.

    This has been tested on the following 2-in-1 devices:

    Dell Venue 11 Pro 7130 vPro
    HP Pavilion X2 10-p002nd
    HP Stream x360 Convertible PC 11
    Medion E1239T

    Fixes: cfae58ed681c ("platform/x86: intel-vbtn: Only blacklist SW_TABLET_MODE on the 9 / "Laptop" chasis-type")
    BugLink: https://forum.manjaro.org/t/keyboard-and-touchpad-only-work-on-kernel-5-6/22668
    BugLink: https://bugzilla.opensuse.org/show_bug.cgi?id=1175599
    Cc: Barnabás Pőcze
    Cc: Takashi Iwai
    Signed-off-by: Hans de Goede
    Signed-off-by: Andy Shevchenko

    Hans de Goede
     
  • After discussion, see the Link tag, it appears that this is not good enough.
    So, revert it now and apply a better fix.

    This reverts commit d823346876a970522ff9e4d2b323c9b734dcc4de.

    Link: https://lore.kernel.org/platform-driver-x86/s5hft71klxl.wl-tiwai@suse.de/
    Signed-off-by: Andy Shevchenko

    Andy Shevchenko
     

29 Sep, 2020

1 commit


24 Sep, 2020

2 commits

  • A struct device is a dynamic structure, with reference counting.
    "Tricking" the kernel to make a dynamic structure static, by working
    around the driver core release detection logic, is not nice.

    Because of this, this code has been used as an example for others on
    "how to do things", which is just about the worst thing possible to have
    happen.

    Fix this all up by making the platform device dynamic and providing a
    real release function.

    Cc: Rajneesh Bhardwaj
    Cc: Vishwanath Somayaji
    Cc: Darren Hart
    Cc: Andy Shevchenko
    Cc: Rajat Jain
    Cc: platform-driver-x86@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Reported-by: Maximilian Luz
    Fixes: b02f6a2ef0a1 ("platform/x86: intel_pmc_core: Attach using APCI HID "INT33A1"")
    Signed-off-by: Greg Kroah-Hartman
    Acked-by: Rajat Jain
    Reviewed-by: Hans de Goede
    Signed-off-by: Andy Shevchenko

    Greg Kroah-Hartman
     
  • Fix topology configuration for power supply units in structure
    'mlxplat_mlxcpld_ext_pwr_items_data', due to hardware change.

    Note: no need to backport the fix, since there is no such hardware yet
    (equipped with four power) at the filed.

    Signed-off-by: Vadim Pasternak
    Reviewed-by: Hans de Goede
    Signed-off-by: Andy Shevchenko

    Vadim Pasternak