On Thu, 2025-08-28 at 15:20 +0300, Jani Nikula wrote:
> Prefer generic poll helpers over i915 custom helpers.
> 
> The functional change is losing the exponentially growing sleep of
> __wait_for(), which used to be 1, 2, 4, ... 64, and 128 ms in this
> particular case.
> 
> Use an arbitrary 100 ms sleep instead. The timeout remains at 5000
> ms.
> 
> Cc: Suraj Kandpal <suraj.kand...@intel.com>
> Signed-off-by: Jani Nikula <jani.nik...@intel.com>

Reviewed-by: Jouni Högander <jouni.hogan...@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_hdcp.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c
> b/drivers/gpu/drm/i915/display/intel_hdcp.c
> index 42202c8bb066..0c98e50501a6 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> @@ -11,6 +11,7 @@
>  #include <linux/component.h>
>  #include <linux/debugfs.h>
>  #include <linux/i2c.h>
> +#include <linux/iopoll.h>
>  #include <linux/random.h>
>  
>  #include <drm/display/drm_hdcp_helper.h>
> @@ -326,10 +327,9 @@ static int intel_hdcp_poll_ksv_fifo(struct
> intel_digital_port *dig_port,
>       bool ksv_ready;
>  
>       /* Poll for ksv list ready (spec says max time allowed is
> 5s) */
> -     ret = __wait_for(read_ret = shim->read_ksv_ready(dig_port,
> -                                                     
> &ksv_ready),
> -                      read_ret || ksv_ready, 5 * 1000 * 1000,
> 1000,
> -                      100 * 1000);
> +     ret = poll_timeout_us(read_ret = shim-
> >read_ksv_ready(dig_port, &ksv_ready),
> +                           read_ret || ksv_ready,
> +                           100 * 1000, 5 * 1000 * 1000, false);
>       if (ret)
>               return ret;
>       if (read_ret)

Reply via email to