[PATCH 1/2] drm/i915/hdcp: Do not use inline intel_de_read
Jani Nikula
jani.nikula at intel.com
Thu Jun 19 10:59:01 UTC 2025
On Thu, 19 Jun 2025, Suraj Kandpal <suraj.kandpal at intel.com> wrote:
> Do not use intel_de_read() inline in the WARN_ON functions.
> While we are at it make the comparision for stream_type u8 to u8.
>
> Signed-off-by: Suraj Kandpal <suraj.kandpal at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> index 7bd775fb65a0..3620f7853c8f 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> @@ -805,10 +805,13 @@ intel_dp_mst_hdcp2_stream_encryption(struct intel_connector *connector,
> enum pipe pipe = (enum pipe)cpu_transcoder;
> enum port port = dig_port->base.port;
> int ret;
> + u32 val;
> + u8 stream_type;
>
> + val = intel_de_read(display, HDCP2_AUTH_STREAM(display, cpu_transcoder, port));
> + stream_type = REG_FIELD_GET8(AUTH_STREAM_TYPE, val);
The size in GET8 is not really about the size of the field, it's about
the size of the register/value, and how the field is defined.
It should be REG_FIELD_GET() for 32-bit registers.
But then should AUTH_STREAM_TYPE be defined via REG_GENMASK()?
#define AUTH_STREAM_TYPE_MASK REG_GENMASK(31, 31)
Would be more consistent:
stream_type = REG_FIELD_GET(AUTH_STREAM_TYPE_MASK, val);
> drm_WARN_ON(display->drm, enable &&
> - !!(intel_de_read(display, HDCP2_AUTH_STREAM(display, cpu_transcoder, port))
> - & AUTH_STREAM_TYPE) != data->streams[0].stream_type);
> + stream_type == data->streams[0].stream_type);
Comparing it like this certainly makes much more sense, but shouldn't it
remain != instead of ==?
BR,
Jani.
>
> ret = intel_dp_mst_toggle_hdcp_stream_select(connector, enable);
> if (ret)
--
Jani Nikula, Intel
More information about the Intel-gfx
mailing list