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 <[email protected]>
> ---
>  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
need some user for that too. Either way:

Reviewed-by: Imre Deak <[email protected]>

> +             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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to