drm/i915/hdcp: Retry first read and writes to downstream
authorSuraj Kandpal <suraj.kandpal@intel.com>
Fri, 27 Sep 2024 06:04:37 +0000 (11:34 +0530)
committerSuraj Kandpal <suraj.kandpal@intel.com>
Mon, 30 Sep 2024 04:06:50 +0000 (09:36 +0530)
commit9d5a05f86d2f4f81abcac6abc856c0d511a8607b
treee72002b87f8485e531ce63da4bd66531838530a5
parent9572bdfeb1280fd1e5beb28e34e226a6bc851280
drm/i915/hdcp: Retry first read and writes to downstream

Retry the first read and write to downstream at least 10 times
with a 50ms delay if not hdcp2 capable(dock decides to stop advertising
hdcp2 capability for some reason). The reason being that
during suspend resume Dock usually keep the HDCP2 registers inaccesible
causing AUX error. This wouldn't be a big problem if the userspace
just kept retrying with some delay while it continues to play low
values content but most userpace applications end up throwing an error
when it receives one from KMD. This makes sure we give the dock
and the sink devices to complete its power cycle and then try HDCP
authentication.

--v2
-Add more details in comment [Jani]
-fix looping condition [Jani]
-optimize loop exit condition [Jani]

--v3
-Add comment explaining why the loop was added [Ankit]

Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240927060437.1422942-2-suraj.kandpal@intel.com
drivers/gpu/drm/i915/display/intel_hdcp.c