From: Jani Nikula Date: Mon, 13 Jun 2016 09:30:07 +0000 (+0300) Subject: drm/i915/opregion: handle missing connector types for acpi display types X-Git-Tag: microblaze-4.10-rc1~149^2~42^2~382 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=bb9c1b976150f62e36165eb4af2afe4c66533d08;p=linux-2.6-microblaze.git 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 --- 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;