diff options
| -rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 8 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_panel.c | 8 |
3 files changed, 15 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index a47fbf60b781..374f964323ad 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
| @@ -656,6 +656,7 @@ enum intel_sbi_destination { | |||
| 656 | #define QUIRK_PIPEA_FORCE (1<<0) | 656 | #define QUIRK_PIPEA_FORCE (1<<0) |
| 657 | #define QUIRK_LVDS_SSC_DISABLE (1<<1) | 657 | #define QUIRK_LVDS_SSC_DISABLE (1<<1) |
| 658 | #define QUIRK_INVERT_BRIGHTNESS (1<<2) | 658 | #define QUIRK_INVERT_BRIGHTNESS (1<<2) |
| 659 | #define QUIRK_BACKLIGHT_PRESENT (1<<3) | ||
| 659 | 660 | ||
| 660 | struct intel_fbdev; | 661 | struct intel_fbdev; |
| 661 | struct intel_fbc_work; | 662 | struct intel_fbc_work; |
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 556c916dbf9d..949c765037ed 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
| @@ -11591,6 +11591,14 @@ static void quirk_invert_brightness(struct drm_device *dev) | |||
| 11591 | DRM_INFO("applying inverted panel brightness quirk\n"); | 11591 | DRM_INFO("applying inverted panel brightness quirk\n"); |
| 11592 | } | 11592 | } |
| 11593 | 11593 | ||
| 11594 | /* Some VBT's incorrectly indicate no backlight is present */ | ||
| 11595 | static void quirk_backlight_present(struct drm_device *dev) | ||
| 11596 | { | ||
| 11597 | struct drm_i915_private *dev_priv = dev->dev_private; | ||
| 11598 | dev_priv->quirks |= QUIRK_BACKLIGHT_PRESENT; | ||
| 11599 | DRM_INFO("applying backlight present quirk\n"); | ||
| 11600 | } | ||
| 11601 | |||
| 11594 | struct intel_quirk { | 11602 | struct intel_quirk { |
| 11595 | int device; | 11603 | int device; |
| 11596 | int subsystem_vendor; | 11604 | int subsystem_vendor; |
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c index 38a98570d10c..628cd8938274 100644 --- a/drivers/gpu/drm/i915/intel_panel.c +++ b/drivers/gpu/drm/i915/intel_panel.c | |||
| @@ -1118,8 +1118,12 @@ int intel_panel_setup_backlight(struct drm_connector *connector) | |||
| 1118 | int ret; | 1118 | int ret; |
| 1119 | 1119 | ||
| 1120 | if (!dev_priv->vbt.backlight.present) { | 1120 | if (!dev_priv->vbt.backlight.present) { |
| 1121 | DRM_DEBUG_KMS("native backlight control not available per VBT\n"); | 1121 | if (dev_priv->quirks & QUIRK_BACKLIGHT_PRESENT) { |
| 1122 | return 0; | 1122 | DRM_DEBUG_KMS("no backlight present per VBT, but present per quirk\n"); |
| 1123 | } else { | ||
| 1124 | DRM_DEBUG_KMS("no backlight present per VBT\n"); | ||
| 1125 | return 0; | ||
| 1126 | } | ||
| 1123 | } | 1127 | } |
| 1124 | 1128 | ||
| 1125 | /* set level and max in panel struct */ | 1129 | /* set level and max in panel struct */ |
