aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_opregion.c
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2016-06-13 12:30:07 +0300
committerJani Nikula <jani.nikula@intel.com>2016-06-29 17:41:50 +0300
commitbb9c1b976150f62e36165eb4af2afe4c66533d08 (patch)
tree5075378995baf1873b0afea1cc23fc5866e0acaf /drivers/gpu/drm/i915/intel_opregion.c
parentdrm/i915/opregion: abstract acpi display type getter for a connector (diff)
downloadlinux-dev-bb9c1b976150f62e36165eb4af2afe4c66533d08.tar.xz
linux-dev-bb9c1b976150f62e36165eb4af2afe4c66533d08.zip
drm/i915/opregion: handle missing connector types for acpi display types
Most notably eDP, DSI, and TV. Add MISSING_CASE handling so we won't miss this in the future. Reviewed-and-tested-by: Peter Wu <peter@lekensteyn.nl> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/5773794027ea0d699052a343491b52343ba30504.1465810007.git.jani.nikula@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/intel_opregion.c')
-rw-r--r--drivers/gpu/drm/i915/intel_opregion.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_opregion.c b/drivers/gpu/drm/i915/intel_opregion.c
index 108cfbf65931..82e687dd09c3 100644
--- a/drivers/gpu/drm/i915/intel_opregion.c
+++ b/drivers/gpu/drm/i915/intel_opregion.c
@@ -676,7 +676,7 @@ static void set_did(struct intel_opregion *opregion, int i, u32 val)
static u32 acpi_display_type(struct drm_connector *connector)
{
- u32 display_type = ACPI_DISPLAY_TYPE_OTHER;
+ u32 display_type;
switch (connector->connector_type) {
case DRM_MODE_CONNECTOR_VGA:
@@ -687,6 +687,7 @@ static u32 acpi_display_type(struct drm_connector *connector)
case DRM_MODE_CONNECTOR_SVIDEO:
case DRM_MODE_CONNECTOR_Component:
case DRM_MODE_CONNECTOR_9PinDIN:
+ case DRM_MODE_CONNECTOR_TV:
display_type = ACPI_DISPLAY_TYPE_TV;
break;
case DRM_MODE_CONNECTOR_DVII:
@@ -697,8 +698,18 @@ static u32 acpi_display_type(struct drm_connector *connector)
display_type = ACPI_DISPLAY_TYPE_EXTERNAL_DIGITAL;
break;
case DRM_MODE_CONNECTOR_LVDS:
+ case DRM_MODE_CONNECTOR_eDP:
+ case DRM_MODE_CONNECTOR_DSI:
display_type = ACPI_DISPLAY_TYPE_INTERNAL_DIGITAL;
break;
+ case DRM_MODE_CONNECTOR_Unknown:
+ case DRM_MODE_CONNECTOR_VIRTUAL:
+ display_type = ACPI_DISPLAY_TYPE_OTHER;
+ break;
+ default:
+ MISSING_CASE(connector->connector_type);
+ display_type = ACPI_DISPLAY_TYPE_OTHER;
+ break;
}
return display_type;