From bb9c1b976150f62e36165eb4af2afe4c66533d08 Mon Sep 17 00:00:00 2001 From: Jani Nikula Date: Mon, 13 Jun 2016 12:30:07 +0300 Subject: [PATCH] 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 Signed-off-by: Jani Nikula Link: http://patchwork.freedesktop.org/patch/msgid/5773794027ea0d699052a343491b52343ba30504.1465810007.git.jani.nikula@intel.com --- drivers/gpu/drm/i915/intel_opregion.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_opregion.c b/drivers/gpu/drm/i915/intel_opregion.c index 108cfbf..82e687d 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; -- 2.7.4