On 2019-10-10 at 17:51:26 +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrj...@linux.intel.com>
> 
> The only reason for the timeout2 value in the array is the
> HDCP_2_2_AKE_SEND_HPRIME message. But that one still needs
> special casing inside the loop, and so just ends up making
> the code harder to read. Let's just remove this leaky
> timeout2 abstraction and special case that one command
> in a way that is easy to understand. We can then remove the
> timeout2 member from struct entirely.

Looks good to me.

Reviewed-by: Ramalingam C <ramalinga...@intel.com>
> 
>     text         data     bss     dec     hex filename
> -  34633          360       0   34993    88b1 intel_hdmi.o
> +  34521          360       0   34881    8841 intel_hdmi.o
> 
> Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_hdmi.c | 28 ++++++++++++-----------
>  1 file changed, 15 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c 
> b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index 8a574be86bc6..2dd798d8b961 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -1530,17 +1530,14 @@ bool intel_hdmi_hdcp_check_link(struct 
> intel_digital_port *intel_dig_port)
>  struct hdcp2_hdmi_msg_timeout {
>       u8 msg_id;
>       u32 timeout;
> -     u32 timeout2;
>  };
>  
>  static const struct hdcp2_hdmi_msg_timeout hdcp2_msg_timeout[] = {
> -     { HDCP_2_2_AKE_SEND_CERT, HDCP_2_2_CERT_TIMEOUT_MS, 0 },
> -     { HDCP_2_2_AKE_SEND_HPRIME, HDCP_2_2_HPRIME_PAIRED_TIMEOUT_MS,
> -       HDCP_2_2_HPRIME_NO_PAIRED_TIMEOUT_MS },
> -     { HDCP_2_2_AKE_SEND_PAIRING_INFO, HDCP_2_2_PAIRING_TIMEOUT_MS, 0 },
> -     { HDCP_2_2_LC_SEND_LPRIME, HDCP_2_2_HDMI_LPRIME_TIMEOUT_MS, 0 },
> -     { HDCP_2_2_REP_SEND_RECVID_LIST, HDCP_2_2_RECVID_LIST_TIMEOUT_MS, 0 },
> -     { HDCP_2_2_REP_STREAM_READY, HDCP_2_2_STREAM_READY_TIMEOUT_MS, 0 },
> +     { HDCP_2_2_AKE_SEND_CERT, HDCP_2_2_CERT_TIMEOUT_MS, },
> +     { HDCP_2_2_AKE_SEND_PAIRING_INFO, HDCP_2_2_PAIRING_TIMEOUT_MS, },
> +     { HDCP_2_2_LC_SEND_LPRIME, HDCP_2_2_HDMI_LPRIME_TIMEOUT_MS, },
> +     { HDCP_2_2_REP_SEND_RECVID_LIST, HDCP_2_2_RECVID_LIST_TIMEOUT_MS, },
> +     { HDCP_2_2_REP_STREAM_READY, HDCP_2_2_STREAM_READY_TIMEOUT_MS, },
>  };
>  
>  static
> @@ -1557,12 +1554,17 @@ static int get_hdcp2_msg_timeout(u8 msg_id, bool 
> is_paired)
>  {
>       int i;
>  
> -     for (i = 0; i < ARRAY_SIZE(hdcp2_msg_timeout); i++)
> -             if (hdcp2_msg_timeout[i].msg_id == msg_id &&
> -                 (msg_id != HDCP_2_2_AKE_SEND_HPRIME || is_paired))
> +     if (msg_id == HDCP_2_2_AKE_SEND_HPRIME) {
> +             if (is_paired)
> +                     return HDCP_2_2_HPRIME_PAIRED_TIMEOUT_MS;
> +             else
> +                     return HDCP_2_2_HPRIME_NO_PAIRED_TIMEOUT_MS;
> +     }
> +
> +     for (i = 0; i < ARRAY_SIZE(hdcp2_msg_timeout); i++) {
> +             if (hdcp2_msg_timeout[i].msg_id == msg_id)
>                       return hdcp2_msg_timeout[i].timeout;
> -             else if (hdcp2_msg_timeout[i].msg_id == msg_id)
> -                     return hdcp2_msg_timeout[i].timeout2;
> +     }
>  
>       return -EINVAL;
>  }
> -- 
> 2.21.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to