• Sunil Kamath's avatar
    drm/i915/bxt: Modify BXT BLC according to VBT changes · 022e4e52
    Sunil Kamath authored
    Latest VBT mentions which set of registers will be used for BLC,
    as controller number field. Making use of this field in BXT
    BLC implementation. Also, the registers are used in case control
    pin indicates display DDI. Adding a check for this.
    According to Bspec, BLC_PWM_*_2 uses the display utility pin for output.
    To use backlight 2, enable the utility pin with mode = PWM
       v2: Jani's review comments
       addressed
           - Add a prefix _ to BXT BLC registers definitions.
           - Add "bxt only" comment for u8 controller
           - Remove control_pin check for DDI controller
           - Check for valid controller values
           - Set pipe bits in UTIL_PIN_CTL
           - Enable/Disable UTIL_PIN_CTL in enable/disable_backlight()
           - If BLC 2 is used, read active_low_pwm from UTIL_PIN polarity
       Satheesh's review comment addressed
           - If UTIL PIN is already enabled, BIOS would have programmed it. No
           need to disable and enable again.
       v3: Jani's review comments
           - add UTIL_PIN_PIPE_MASK and UTIL_PIN_MODE_MASK
           - Disable UTIL_PIN if controller 1 is used
           - Mask out UTIL_PIN_PIPE_MASK and UTIL_PIN_MODE_MASK before enabling
           UTIL_PIN
           - check valid controller value in intel_bios.c
           - add backlight.util_pin_active_low
           - disable util pin before enabling
       v4: Change for BXT-PO branch:
       Stubbed unwanted definition which was existing before
       because of DC6 patch.
       UTIL_PIN_MODE_PWM     (0x1b << 24)
    
    v2: Fixed Jani's review comment.
    
    v3: Split the backight PWM frequency programming into separate patch,
        in cases BIOS doesn't initializes it.
    
    v4: Starting afresh and not modifying existing state for backlight, as
        per Jani's recommendation.
    
    v5: Fixed Jani's review comment wrt util pin enable
    Signed-off-by: default avatarVandana Kannan <vandana.kannan@intel.com>
    Signed-off-by: default avatarSunil Kamath <sunil.kamath@intel.com>
    Signed-off-by: default avatarUma Shankar <uma.shankar@intel.com>
    Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    022e4e52
intel_panel.c 53.6 KB