• Hans de Goede's avatar
    drm/i915: DSI: select correct PWM controller to use based on the VBT · b6941311
    Hans de Goede authored
    At least Bay Trail (BYT) and Cherry Trail (CHT) devices can use 1 of 2
    different PWM controllers for controlling the LCD's backlight brightness.
    Either the one integrated into the PMIC or the one integrated into the
    SoC (the 1st LPSS PWM controller).
    
    So far in the LPSS code on BYT we have skipped registering the LPSS PWM
    controller "pwm_backlight" lookup entry when a Crystal Cove PMIC is
    present, assuming that in this case the PMIC PWM controller will be used.
    
    On CHT we have been relying on only 1 of the 2 PWM controllers being
    enabled in the DSDT at the same time; and always registered the lookup.
    
    So far this has been working, but the correct way to determine which PWM
    controller needs to be used is by checking a bit in the VBT table and
    recently I've learned about 2 different BYT devices:
    Point of View MOBII TAB-P800W
    Acer Switch 10 SW5-012
    
    Which use a Crystal Cove PMIC, yet the LCD is connected to the SoC/LPSS
    PWM controller (and the VBT correctly indicates this), so here our old
    heuristics fail.
    
    This commit fixes using the wrong PWM controller on these devices by
    calling pwm_get() for the right PWM controller based on the
    VBT dsi.config.pwm_blc bit.
    
    Note this is part of a series which contains 2 other patches which renames
    the PWM lookup for the 1st SoC/LPSS PWM from "pwm_backlight" to
    "pwm_pmic_backlight" and the PWM lookup for the Crystal Cove PMIC PWM
    from "pwm_backlight" to "pwm_pmic_backlight".
    Acked-by: default avatarJani Nikula <jani.nikula@intel.com>
    Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20191216202906.1662893-4-hdegoede@redhat.com
    b6941311
intel_panel.c 62.4 KB