Message ID | 1509974985-21618-1-git-send-email-mika.kahola@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Nov 06, 2017 at 03:29:45PM +0200, Mika Kahola wrote: > To make looping through transcoders in intel_ddi.c more generic, let's switch > to use 'for_each_pipe()' macro to do this. > > v2: Add a notion that we are dealing with transcoders instead of pipes (Jani) > > Signed-off-by: Mika Kahola <mika.kahola@intel.com> > --- > drivers/gpu/drm/i915/intel_ddi.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c > index ace674c..5e83785 100644 > --- a/drivers/gpu/drm/i915/intel_ddi.c > +++ b/drivers/gpu/drm/i915/intel_ddi.c > @@ -1681,8 +1681,9 @@ bool intel_ddi_get_hw_state(struct intel_encoder *encoder, > struct drm_device *dev = encoder->base.dev; > struct drm_i915_private *dev_priv = to_i915(dev); > enum port port = encoder->port; > + enum pipe p; > + enum transcoder cpu_transcoder; cpu_transcoder isn't needed outside the loop. So we can tighten the scope a bit. With that Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > u32 tmp; > - int i; > bool ret; > > if (!intel_display_power_get_if_enabled(dev_priv, > @@ -1717,15 +1718,17 @@ bool intel_ddi_get_hw_state(struct intel_encoder *encoder, > goto out; > } > > - for (i = TRANSCODER_A; i <= TRANSCODER_C; i++) { > - tmp = I915_READ(TRANS_DDI_FUNC_CTL(i)); > + for_each_pipe(dev_priv, p) { > + cpu_transcoder = (enum transcoder) p; > + > + tmp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder)); > > if ((tmp & TRANS_DDI_PORT_MASK) == TRANS_DDI_SELECT_PORT(port)) { > if ((tmp & TRANS_DDI_MODE_SELECT_MASK) == > TRANS_DDI_MODE_SELECT_DP_MST) > goto out; > > - *pipe = i; > + *pipe = p; > ret = true; > > goto out; > -- > 2.7.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
On Wed, 2017-11-08 at 21:54 +0200, Ville Syrjälä wrote: > On Mon, Nov 06, 2017 at 03:29:45PM +0200, Mika Kahola wrote: > > > > To make looping through transcoders in intel_ddi.c more generic, > > let's switch > > to use 'for_each_pipe()' macro to do this. > > > > v2: Add a notion that we are dealing with transcoders instead of > > pipes (Jani) > > > > Signed-off-by: Mika Kahola <mika.kahola@intel.com> > > --- > > drivers/gpu/drm/i915/intel_ddi.c | 11 +++++++---- > > 1 file changed, 7 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_ddi.c > > b/drivers/gpu/drm/i915/intel_ddi.c > > index ace674c..5e83785 100644 > > --- a/drivers/gpu/drm/i915/intel_ddi.c > > +++ b/drivers/gpu/drm/i915/intel_ddi.c > > @@ -1681,8 +1681,9 @@ bool intel_ddi_get_hw_state(struct > > intel_encoder *encoder, > > struct drm_device *dev = encoder->base.dev; > > struct drm_i915_private *dev_priv = to_i915(dev); > > enum port port = encoder->port; > > + enum pipe p; > > + enum transcoder cpu_transcoder; > cpu_transcoder isn't needed outside the loop. So we can tighten the > scope a bit. Thanks for the review! I'll make the change and respin it for CI. > > With that > Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > > u32 tmp; > > - int i; > > bool ret; > > > > if (!intel_display_power_get_if_enabled(dev_priv, > > @@ -1717,15 +1718,17 @@ bool intel_ddi_get_hw_state(struct > > intel_encoder *encoder, > > goto out; > > } > > > > - for (i = TRANSCODER_A; i <= TRANSCODER_C; i++) { > > - tmp = I915_READ(TRANS_DDI_FUNC_CTL(i)); > > + for_each_pipe(dev_priv, p) { > > + cpu_transcoder = (enum transcoder) p; > > + > > + tmp = > > I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder)); > > > > if ((tmp & TRANS_DDI_PORT_MASK) == > > TRANS_DDI_SELECT_PORT(port)) { > > if ((tmp & TRANS_DDI_MODE_SELECT_MASK) == > > TRANS_DDI_MODE_SELECT_DP_MST) > > goto out; > > > > - *pipe = i; > > + *pipe = p; > > ret = true; > > > > goto out; > > -- > > 2.7.4 > > > > _______________________________________________ > > Intel-gfx mailing list > > Intel-gfx@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c index ace674c..5e83785 100644 --- a/drivers/gpu/drm/i915/intel_ddi.c +++ b/drivers/gpu/drm/i915/intel_ddi.c @@ -1681,8 +1681,9 @@ bool intel_ddi_get_hw_state(struct intel_encoder *encoder, struct drm_device *dev = encoder->base.dev; struct drm_i915_private *dev_priv = to_i915(dev); enum port port = encoder->port; + enum pipe p; + enum transcoder cpu_transcoder; u32 tmp; - int i; bool ret; if (!intel_display_power_get_if_enabled(dev_priv, @@ -1717,15 +1718,17 @@ bool intel_ddi_get_hw_state(struct intel_encoder *encoder, goto out; } - for (i = TRANSCODER_A; i <= TRANSCODER_C; i++) { - tmp = I915_READ(TRANS_DDI_FUNC_CTL(i)); + for_each_pipe(dev_priv, p) { + cpu_transcoder = (enum transcoder) p; + + tmp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder)); if ((tmp & TRANS_DDI_PORT_MASK) == TRANS_DDI_SELECT_PORT(port)) { if ((tmp & TRANS_DDI_MODE_SELECT_MASK) == TRANS_DDI_MODE_SELECT_DP_MST) goto out; - *pipe = i; + *pipe = p; ret = true; goto out;
To make looping through transcoders in intel_ddi.c more generic, let's switch to use 'for_each_pipe()' macro to do this. v2: Add a notion that we are dealing with transcoders instead of pipes (Jani) Signed-off-by: Mika Kahola <mika.kahola@intel.com> --- drivers/gpu/drm/i915/intel_ddi.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-)