[v2,3/5] drm/i915/opregion: handle missing connector types for acpi display types

Submitted by Jani Nikula on June 13, 2016, 9:30 a.m.

Details

Message ID 5773794027ea0d699052a343491b52343ba30504.1465810007.git.jani.nikula@intel.com
State New
Headers show
Series "drm/i915/opregion: proper handling of DIDL and CADL" ( rev: 3 2 ) in Intel GFX

Not browsing as part of any series.

Commit Message

Jani Nikula June 13, 2016, 9:30 a.m.
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>
---
 drivers/gpu/drm/i915/intel_opregion.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

Patch hide | download patch | download mbox

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;

Comments

On Mon, 13 Jun 2016, Jani Nikula <jani.nikula@intel.com> wrote:
> 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>

Pushed up to and including this patch to drm-intel-next-queued, as
they're fairly benign changes. Patches 4 and 5 should probably go in
hand-in-hand.

BR,
Jani.


> ---
>  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 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;