[Intel-gfx] [PATCH 1/5] quirk asserts controllable backlight presence, overriding VBT
Jani Nikula
jani.nikula at intel.com
Sat Jun 28 15:52:28 CEST 2014
On Fri, 27 Jun 2014, Scot Doyle <lkml14 at scotdoyle.com> wrote:
> Add a quirk to assert the presence of a controllable backlight. Use it to
> ignore the VBT backlight presence check during backlight setup.
>
> Tested-by: James Duley <jagduley at gmail.com>
> Signed-off-by: Scot Doyle <lkml14 at scotdoyle.com>
> CC: Jani Nikula <jani.nikula at intel.com>
> ---
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 8cea596..723b1fe 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -657,6 +657,7 @@ enum intel_sbi_destination {
> #define QUIRK_PIPEA_FORCE (1<<0)
> #define QUIRK_LVDS_SSC_DISABLE (1<<1)
> #define QUIRK_INVERT_BRIGHTNESS (1<<2)
> +#define QUIRK_BACKLIGHT_PRESENT (1<<3)
>
> struct intel_fbdev;
> struct intel_fbc_work;
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 065984d..c583b07 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -12290,6 +12290,14 @@ static void quirk_invert_brightness(struct drm_device *dev)
> DRM_INFO("applying inverted panel brightness quirk\n");
> }
>
> +/* Some VBT's incorrectly indicate no backlight is present */
> +static void quirk_backlight_present(struct drm_device *dev)
> +{
> + struct drm_i915_private *dev_priv = dev->dev_private;
> + dev_priv->quirks |= QUIRK_BACKLIGHT_PRESENT;
> + DRM_INFO("applying backlight present quirk\n");
> +}
> +
> struct intel_quirk {
> int device;
> int subsystem_vendor;
> diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> index 38a9857..dfc6b5f 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -1118,8 +1118,13 @@ int intel_panel_setup_backlight(struct drm_connector *connector)
> int ret;
>
> if (!dev_priv->vbt.backlight.present) {
> - DRM_DEBUG_KMS("native backlight control not available per VBT\n");
> - return 0;
> + if (dev_priv->quirks & QUIRK_BACKLIGHT_PRESENT) {
> + DRM_DEBUG_KMS("no backlight present per VBT, but "
> + "present per quirk\n");
Usually strings are not wrapped so that you can grep the source for
them.
Reviewed-by: Jani Nikula <jani.nikula at intel.com>
> + } else {
> + DRM_DEBUG_KMS("no backlight present per VBT\n");
> + return 0;
> + }
> }
>
> /* set level and max in panel struct */
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Jani Nikula, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list