[Intel-gfx] [PATCH v2 2/2] drm/i915/icl: reverse uninit order
Imre Deak
imre.deak at intel.com
Tue Nov 13 13:23:07 UTC 2018
On Tue, Nov 13, 2018 at 03:19:06PM +0200, Imre Deak wrote:
> On Mon, Nov 12, 2018 at 06:45:03PM -0800, Lucas De Marchi wrote:
> > Bspec 21257 says "DDIA PHY is the comp master, so it must
> > not be un-initialized if other combo PHYs are in use". Here
> > we are shutting down all phys, so it's not strictly required.
> > However let's be consistent on deinitializing things in the
> > reversed order we initialized them.
> >
> > Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
> > ---
> > drivers/gpu/drm/i915/intel_combo_phy.c | 8 +++++++-
> > 1 file changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_combo_phy.c b/drivers/gpu/drm/i915/intel_combo_phy.c
> > index 49f3a533860d..9c06be45b84e 100644
> > --- a/drivers/gpu/drm/i915/intel_combo_phy.c
> > +++ b/drivers/gpu/drm/i915/intel_combo_phy.c
> > @@ -9,6 +9,12 @@
> > for ((__port) = PORT_A; (__port) < I915_MAX_PORTS; (__port)++) \
> > for_each_if(intel_port_is_combophy(__dev_priv, __port))
> >
> > +#define for_each_combo_port_rev(__dev_priv, __port) \
> > + for ((__port) = I915_MAX_PORTS - 1; \
> > + (__port) >= PORT_A && (__port) < I915_MAX_PORTS; \
> > + (__port)--) \
>
> Heh, so 'enum port' is unsigned. Surely I would have get this right
> only after seeing it fail with only the >= condition :) An
> alternative:
>
> for ((__port) = I915_MAX_PORTS; (__port)-- > 0;)
>
> or add a negative value, like INVALID_PORT=-1 to 'enum port', but we'd
Hm, actually we do have PORT_NONE=-1, in which case 'enum port' is a
signed int. So why do we need (__port) < I915_MAX_PORTS ?
> need some user for that too. Either way:
>
> Reviewed-by: Imre Deak <imre.deak at intel.com>
>
> > + for_each_if(intel_port_is_combophy(__dev_priv, __port))
> > +
> > enum {
> > PROCMON_0_85V_DOT_0,
> > PROCMON_0_95V_DOT_0,
> > @@ -232,7 +238,7 @@ void icl_combo_phys_uninit(struct drm_i915_private *dev_priv)
> > {
> > enum port port;
> >
> > - for_each_combo_port(dev_priv, port) {
> > + for_each_combo_port_rev(dev_priv, port) {
> > u32 val;
> >
> > if (!icl_combo_phy_verify_state(dev_priv, port))
> > --
> > 2.19.1.1.g56c4683e68
> >
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list