[Intel-gfx] [PATCH 2/2] drm/i915: transform INTEL_OUTPUT_* into an enum
Daniel Vetter
daniel at ffwll.ch
Tue Oct 28 08:55:05 CET 2014
On Mon, Oct 27, 2014 at 05:47:52PM -0200, Paulo Zanoni wrote:
> From: Paulo Zanoni <paulo.r.zanoni at intel.com>
>
> Because I got annoyed that I had to document what values "int
> ddi_personality" is supposed to hold.
>
> A good side-effect of this change is that now the compilers can do
> some additional checks on our code, which may prevent some bugs in the
> future. A bad side-effect of this change is that now the compilers do
> some additional checks on our code and complain when a switch
> statement doesn't check for all possible values, so we need to add
> "default" cases to all those switches. Hopefully, this may help
> preventing confusions against DRM_MODE_CONNECTOR_* and
> DRM_MODE_ENCODER_*.
>
> I guess that just by looking at the patch, some people will think this
> change is not worth its benefits. In this case, I don't really mind
> dropping the patch.
>
> Also, there's probably still a few more places where we can
> s/int/enum intel_output_type/, but we can change that later, when we
> spot the places.
>
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
I like this, so went right ahead and applied it and resolved the little
rebase conflict.
-Daniel
> ---
> drivers/gpu/drm/i915/i915_debugfs.c | 2 ++
> drivers/gpu/drm/i915/intel_display.c | 10 ++++++++++
> drivers/gpu/drm/i915/intel_drv.h | 31 ++++++++++++++++---------------
> 3 files changed, 28 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 61ea8da..a79f83c 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2971,6 +2971,8 @@ static int i9xx_pipe_crc_auto_source(struct drm_device *dev, enum pipe pipe,
> break;
> }
> break;
> + default:
> + break;
> }
> }
> drm_modeset_unlock_all(dev);
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 16750c4..83b8771 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -6269,6 +6269,8 @@ static int i9xx_crtc_mode_set(struct intel_crtc *crtc,
> case INTEL_OUTPUT_DSI:
> is_dsi = true;
> break;
> + default:
> + break;
> }
>
> num_connectors++;
> @@ -6597,6 +6599,8 @@ static void ironlake_init_pch_refclk(struct drm_device *dev)
> if (enc_to_dig_port(&encoder->base)->port == PORT_A)
> has_cpu_edp = true;
> break;
> + default:
> + break;
> }
> }
>
> @@ -6901,6 +6905,8 @@ static void lpt_init_pch_refclk(struct drm_device *dev)
> case INTEL_OUTPUT_ANALOG:
> has_vga = true;
> break;
> + default:
> + break;
> }
> }
>
> @@ -6934,6 +6940,8 @@ static int ironlake_get_refclk(struct drm_crtc *crtc)
> case INTEL_OUTPUT_LVDS:
> is_lvds = true;
> break;
> + default:
> + break;
> }
> num_connectors++;
> }
> @@ -7188,6 +7196,8 @@ static uint32_t ironlake_compute_dpll(struct intel_crtc *intel_crtc,
> case INTEL_OUTPUT_HDMI:
> is_sdvo = true;
> break;
> + default:
> + break;
> }
>
> num_connectors++;
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index bf3267c..deb1bc6 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -94,18 +94,20 @@
>
> /* these are outputs from the chip - integrated only
> external chips are via DVO or SDVO output */
> -#define INTEL_OUTPUT_UNUSED 0
> -#define INTEL_OUTPUT_ANALOG 1
> -#define INTEL_OUTPUT_DVO 2
> -#define INTEL_OUTPUT_SDVO 3
> -#define INTEL_OUTPUT_LVDS 4
> -#define INTEL_OUTPUT_TVOUT 5
> -#define INTEL_OUTPUT_HDMI 6
> -#define INTEL_OUTPUT_DISPLAYPORT 7
> -#define INTEL_OUTPUT_EDP 8
> -#define INTEL_OUTPUT_DSI 9
> -#define INTEL_OUTPUT_UNKNOWN 10
> -#define INTEL_OUTPUT_DP_MST 11
> +enum intel_output_type {
> + INTEL_OUTPUT_UNUSED = 0,
> + INTEL_OUTPUT_ANALOG = 1,
> + INTEL_OUTPUT_DVO = 2,
> + INTEL_OUTPUT_SDVO = 3,
> + INTEL_OUTPUT_LVDS = 4,
> + INTEL_OUTPUT_TVOUT = 5,
> + INTEL_OUTPUT_HDMI = 6,
> + INTEL_OUTPUT_DISPLAYPORT = 7,
> + INTEL_OUTPUT_EDP = 8,
> + INTEL_OUTPUT_DSI = 9,
> + INTEL_OUTPUT_UNKNOWN = 10,
> + INTEL_OUTPUT_DP_MST = 11,
> +};
>
> #define INTEL_DVO_CHIP_NONE 0
> #define INTEL_DVO_CHIP_LVDS 1
> @@ -136,7 +138,7 @@ struct intel_encoder {
> */
> struct intel_crtc *new_crtc;
>
> - int type;
> + enum intel_output_type type;
> unsigned int cloneable;
> bool connectors_active;
> void (*hot_plug)(struct intel_encoder *);
> @@ -387,8 +389,7 @@ struct intel_crtc_config {
> bool dp_encoder_is_mst;
> int pbn;
>
> - /* This should be INTEL_OUTPUT_*. */
> - int ddi_personality;
> + enum intel_output_type ddi_personality;
> };
>
> struct intel_pipe_wm {
> --
> 2.1.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the Intel-gfx
mailing list