[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