[PATCH 06/10] drm/i915/xe3lpd: Add macro to choose HDCP_LINE_REKEY bit
Jani Nikula
jani.nikula at linux.intel.com
Thu Oct 10 08:09:34 UTC 2024
On Thu, 10 Oct 2024, "Kandpal, Suraj" <suraj.kandpal at intel.com> wrote:
>> -----Original Message-----
>> From: Jani Nikula <jani.nikula at linux.intel.com>
>> Sent: Wednesday, October 9, 2024 1:09 PM
>> To: Atwood, Matthew S <matthew.s.atwood at intel.com>; intel-
>> xe at lists.freedesktop.org; intel-gfx at lists.freedesktop.org
>> Cc: Kandpal, Suraj <suraj.kandpal at intel.com>; Atwood, Matthew S
>> <matthew.s.atwood at intel.com>
>> Subject: Re: [PATCH 06/10] drm/i915/xe3lpd: Add macro to choose
>> HDCP_LINE_REKEY bit
>>
>> On Tue, 08 Oct 2024, Matt Atwood <matthew.s.atwood at intel.com> wrote:
>> > From: Suraj Kandpal <suraj.kandpal at intel.com>
>> >
>> > DISPLAY_VER() >= 30 has the HDCP_LINE_REKEY bit redefined from bit 12
>> > to bit 14. Create a macro to choose the correct bit based on
>> > DISPLAY_VER().
>> >
>> > Signed-off-by: Suraj Kandpal <suraj.kandpal at intel.com>
>> > Signed-off-by: Matt Atwood <matthew.s.atwood at intel.com>
>> > ---
>> > drivers/gpu/drm/i915/display/intel_hdcp.c | 5 +++--
>> > drivers/gpu/drm/i915/i915_reg.h | 2 +-
>> > 2 files changed, 4 insertions(+), 3 deletions(-)
>> >
>> > diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c
>> > b/drivers/gpu/drm/i915/display/intel_hdcp.c
>> > index ed6aa87403e2..e9b0414590ce 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
>> > @@ -47,10 +47,11 @@ intel_hdcp_disable_hdcp_line_rekeying(struct
>> intel_encoder *encoder,
>> > intel_de_rmw(display, MTL_CHICKEN_TRANS(hdcp-
>> >cpu_transcoder),
>> > 0, HDCP_LINE_REKEY_DISABLE);
>> > else if (IS_DISPLAY_VER_STEP(display, IP_VER(14, 1), STEP_B0,
>> STEP_FOREVER) ||
>> > - IS_DISPLAY_VER_STEP(display, IP_VER(20, 0),
>> STEP_B0, STEP_FOREVER))
>> > + IS_DISPLAY_VER_STEP(display, IP_VER(20, 0),
>> STEP_B0, STEP_FOREVER) ||
>> > + DISPLAY_VER(display) >= 30)
>> > intel_de_rmw(display,
>> > TRANS_DDI_FUNC_CTL(display, hdcp-
>> >cpu_transcoder),
>> > - 0,
>> TRANS_DDI_HDCP_LINE_REKEY_DISABLE);
>> > + 0,
>> TRANS_DDI_HDCP_LINE_REKEY_DISABLE(display));
>> > }
>> > }
>> >
>> > diff --git a/drivers/gpu/drm/i915/i915_reg.h
>> > b/drivers/gpu/drm/i915/i915_reg.h index d30459f8d1cb..da65500cd0c8
>> > 100644
>> > --- a/drivers/gpu/drm/i915/i915_reg.h
>> > +++ b/drivers/gpu/drm/i915/i915_reg.h
>> > @@ -3832,7 +3832,7 @@ enum skl_power_gate {
>> > #define TRANS_DDI_EDP_INPUT_B_ONOFF (5 << 12)
>> > #define TRANS_DDI_EDP_INPUT_C_ONOFF (6 << 12)
>> > #define TRANS_DDI_EDP_INPUT_D_ONOFF (7 << 12)
>> > -#define TRANS_DDI_HDCP_LINE_REKEY_DISABLE REG_BIT(12)
>> > +#define TRANS_DDI_HDCP_LINE_REKEY_DISABLE(display)
>> (DISPLAY_VER(display) >= 30 ? REG_BIT(15) : REG_BIT(12))
>>
>> Do we really want to extend this style to individual bits?
>
> I just thought this might be cleaner should we use
> TRANS_DDI_HDCP_LINE_REKEY_DISABLE
> And
> XE3_TRANS_DDI_HDCP_LINE_REKEY_DISABLE instead then?
I think so yes.
If it becomes too ugly in code, at the very least define the bits
separately instead of inline in the ternary operator.
BR,
Jani.
>
> Regards,
> Suraj Kandpal
>
>>
>> BR,
>> Jani.
>>
>> > #define TRANS_DDI_MST_TRANSPORT_SELECT_MASK
>> REG_GENMASK(11, 10)
>> > #define TRANS_DDI_MST_TRANSPORT_SELECT(trans) \
>> > REG_FIELD_PREP(TRANS_DDI_MST_TRANSPORT_SELECT_MASK,
>> trans)
>>
>> --
>> Jani Nikula, Intel
--
Jani Nikula, Intel
More information about the Intel-xe
mailing list