• Hans de Goede's avatar
    drm/i915/vlv_dsi: Add DMI quirk for wrong I2C bus and panel size on Lenovo... · 2cac4ed9
    Hans de Goede authored
    drm/i915/vlv_dsi: Add DMI quirk for wrong I2C bus and panel size on Lenovo Yoga Tablet 2 series (v3)
    
    On the Lenovo Yoga Tablet 2 830 / 1050 there are 2 problems:
    
    1. The I2C MIPI sequence elements reference bus 3. ACPI has I2C1 - I2C7
       which under Linux become bus 0 - 6. And the MIPI sequence reference
       to bus 3 is indented for I2C3 which is bus 2 under Linux.
    
       This leads to errors like these:
       [  178.244049] i2c_designware 80860F41:03: controller timed out
       [  178.245703] i915 0000:00:02.0: [drm] *ERROR* Failed to xfer payload of size (1) to reg (169)
       There are 3 timeouts when the panel is on, delaying
       waking up the screen on a key press by 3 seconds.
    
       Note mipi_exec_i2c() cannot just subtract 1 from the bus
       given in the I2C MIPI sequence element. Since on other
       devices the I2C bus-numbers used in the MIPI sequences do
       actually start at 0.
    
    2. width_/height_mm contain a bogus 192mm x 120mm size. This is
       especially a problem on the 8" 830 version which uses a 10:16
       portrait screen where as the bogus size is 16:10.
    
    Add a DMI quirk to override the I2C bus and the panel size with
    the correct values.
    
    Note both the 10" 1050 models as well as the 8" 830 models use the same
    mainboard and thus the same DMI strings. The 10" 1050 uses a 1920x1200
    landscape screen, where as the 8" 830 uses a 1200x1920 portrait screen,
    so the quirk handling uses the display resolution to detect the model.
    
    v2:
    - Also override i2c_bus_num to fix mipi_exec_i2c() timeouts
    
    v3:
    - Add Closes tag to gitlab issue with drm.debug=0xe, VBT info
    
    Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/9379Reviewed-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Acked-by: default avatarJani Nikula <jani.nikula@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230920195613.304091-3-hdegoede@redhat.com
    2cac4ed9
vlv_dsi.c 62.1 KB