Re: [Intel-gfx] [PATCH RESEND] drm/i915: Fix pipe/transcoder enum mismatches

From: Ville Syrjälä
Date: Fri May 05 2017 - 13:40:56 EST


On Fri, May 05, 2017 at 10:26:36AM -0700, Matthias Kaehlcke wrote:
> El Thu, Apr 20, 2017 at 02:56:05PM -0700 Matthias Kaehlcke ha dit:
>
> > In several instances the driver passes an 'enum pipe' value to a
> > function expecting an 'enum transcoder' and viceversa. Since PIPE_x and
> > TRANSCODER_x have the same values this doesn't cause functional
> > problems. Still it is incorrect and causes clang to generate warnings
> > like this:
> >
> > drivers/gpu/drm/i915/intel_display.c:1844:34: warning: implicit
> > conversion from enumeration type 'enum transcoder' to different
> > enumeration type 'enum pipe' [-Wenum-conversion]
> > assert_fdi_rx_enabled(dev_priv, TRANSCODER_A);
> >
> > Change the code to pass values of the type expected by the callee.
> >
> > Signed-off-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx>
> > ---
> > drivers/gpu/drm/i915/intel_display.c | 4 ++--
> > drivers/gpu/drm/i915/intel_dp.c | 6 ++++--
> > drivers/gpu/drm/i915/intel_hdmi.c | 6 ++++--
> > drivers/gpu/drm/i915/intel_sdvo.c | 6 ++++--
> > 4 files changed, 14 insertions(+), 8 deletions(-)
>
> Ping, any comments on this patch?

I'm not convinced the patch is making things any better really. To
fix this really properly, I think we'd need to introduce a new enum
pch_transcoder and thus avoid the confusion of which type of
transcoder we're talking about. Currently most places expect an
enum pipe when dealing with PCH transcoders, and enum transcoder
when dealing with CPU transcoders. But there are some exceptions
of course.

--
Ville Syrjälä
Intel OTC