> -----Original Message----- > From: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> > Sent: Wednesday, October 9, 2024 1:09 PM > To: Atwood, Matthew S <matthew.s.atwood@xxxxxxxxx>; intel- > xe@xxxxxxxxxxxxxxxxxxxxx; intel-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Kandpal, Suraj <suraj.kandpal@xxxxxxxxx>; Atwood, Matthew S > <matthew.s.atwood@xxxxxxxxx> > 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@xxxxxxxxx> wrote: > > From: Suraj Kandpal <suraj.kandpal@xxxxxxxxx> > > > > 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@xxxxxxxxx> > > Signed-off-by: Matt Atwood <matthew.s.atwood@xxxxxxxxx> > > --- > > 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? 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