[Intel-gfx] [PATCH] drm/i915/ehl: Inherit Ice Lake conditional code
Souza, Jose
jose.souza at intel.com
Fri Apr 12 14:32:24 UTC 2019
On Thu, 2019-04-11 at 16:51 -0700, Rodrigo Vivi wrote:
> On Thu, Apr 11, 2019 at 04:16:41PM -0700, Souza, Jose wrote:
> > On Thu, 2019-04-11 at 16:08 -0700, Rodrigo Vivi wrote:
> > > From: Bob Paauwe <bob.j.paauwe at intel.com>
> > >
> > > Most of the conditional code for ICELAKE also applies to
> > > ELKHARTLAKE
> > > so use IS_GEN(dev_priv, 11) even for PM and Workarounds for now.
> > >
> > > v2: - Rename commit (Jose)
> > > - Include a wm workaround (Jose and Lucas)
> > > - Include display core init (Jose and Lucas)
> > >
> > > Cc: José Roberto de Souza <jose.souza at intel.com>
> > > Cc: Lucas De Marchi <lucas.demarchi at intel.com>
> > > Signed-off-by: Bob Paauwe <bob.j.paauwe at intel.com>
> > > Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> > > ---
> > > drivers/gpu/drm/i915/intel_pm.c | 6 +++---
> > > drivers/gpu/drm/i915/intel_runtime_pm.c | 6 +++---
> > > drivers/gpu/drm/i915/intel_workarounds.c | 8 ++++----
> > > 3 files changed, 10 insertions(+), 10 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/intel_pm.c
> > > b/drivers/gpu/drm/i915/intel_pm.c
> > > index 8e826a6ab62e..7357bddf9ad9 100644
> > > --- a/drivers/gpu/drm/i915/intel_pm.c
> > > +++ b/drivers/gpu/drm/i915/intel_pm.c
> > > @@ -4530,10 +4530,10 @@ skl_allocate_pipe_ddb(struct
> > > intel_crtc_state
> > > *cstate,
> > > memset(&wm->wm[level], 0, sizeof(wm-
> > > > wm[level]));
> > >
> > > /*
> > > - * Wa_1408961008:icl
> > > + * Wa_1408961008:icl, ehl
> > > * Underruns with WM1+ disabled
> > > */
> > > - if (IS_ICELAKE(dev_priv) &&
> > > + if (IS_GEN(dev_priv, 11) &&
> > > level == 1 && wm->wm[0].plane_en) {
> > > wm->wm[level].plane_res_b = wm-
> > > > wm[0].plane_res_b;
> > > wm->wm[level].plane_res_l = wm-
> > > > wm[0].plane_res_l;
> > > @@ -9573,7 +9573,7 @@ static void nop_init_clock_gating(struct
> > > drm_i915_private *dev_priv)
> > > */
> > > void intel_init_clock_gating_hooks(struct drm_i915_private
> > > *dev_priv)
> > > {
> > > - if (IS_ICELAKE(dev_priv))
> > > + if (IS_GEN(dev_priv, 11))
> > > dev_priv->display.init_clock_gating =
> > > icl_init_clock_gating;
> > > else if (IS_CANNONLAKE(dev_priv))
> > > dev_priv->display.init_clock_gating =
> > > cnl_init_clock_gating;
> > > diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c
> > > b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > > index 3107a742d8ad..fcd388e8978b 100644
> > > --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> > > +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > > @@ -3448,7 +3448,7 @@ int intel_power_domains_init(struct
> > > drm_i915_private *dev_priv)
> > > * The enabling order will be from lower to higher indexed
> > > wells,
> > > * the disabling order is reversed.
> > > */
> > > - if (IS_ICELAKE(dev_priv)) {
> > > + if (IS_GEN(dev_priv, 11)) {
> > > err = set_power_wells(power_domains, icl_power_wells);
> > > } else if (IS_CANNONLAKE(dev_priv)) {
> > > err = set_power_wells(power_domains, cnl_power_wells);
> > > @@ -4061,7 +4061,7 @@ void intel_power_domains_init_hw(struct
> > > drm_i915_private *i915, bool resume)
> > >
> > > power_domains->initializing = true;
> > >
> > > - if (IS_ICELAKE(i915)) {
> > > + if (INTEL_GEN(i915) >= 11) {
> > > icl_display_core_init(i915, resume);
> > > } else if (IS_CANNONLAKE(i915)) {
> > > cnl_display_core_init(i915, resume);
> > > @@ -4209,7 +4209,7 @@ void intel_power_domains_suspend(struct
> > > drm_i915_private *i915,
> > > intel_power_domains_verify_state(i915);
> > > }
> > >
> > > - if (IS_ICELAKE(i915))
> > > + if (IS_GEN(i915, 11))
> >
> > To be consistent with init: if (INTEL_GEN(i915) >= 11)
>
> hmmm... I tried to keep power well stuff not using this
> greater-than behaviour on purpose... Because so far all
> platforms had different wells, besides gen9_bc group of course...
>
> But even display_10 glk and cnl are different on display wells :/
I guess you are talking about different things, I'm talking about the
icl_display_core_uninit() call.
if (INTEL_GEN(i915) >= 11) {
icl_display_core_init(i915, resume);
if (IS_GEN(i915, 11))
icl_display_core_uninit(i915);
And for core_init/uninit we are able to share the sequence between
several platforms of the same GEN.
>
> > Other than that:
> >
> > Reviewed-by: José Roberto de Souza <jose.souza at intel.com>
> >
> > > icl_display_core_uninit(i915);
> > > else if (IS_CANNONLAKE(i915))
> > > cnl_display_core_uninit(i915);
> > > diff --git a/drivers/gpu/drm/i915/intel_workarounds.c
> > > b/drivers/gpu/drm/i915/intel_workarounds.c
> > > index a04dbc58ec1c..c0977036db79 100644
> > > --- a/drivers/gpu/drm/i915/intel_workarounds.c
> > > +++ b/drivers/gpu/drm/i915/intel_workarounds.c
> > > @@ -569,7 +569,7 @@ void intel_engine_init_ctx_wa(struct
> > > intel_engine_cs *engine)
> > >
> > > wa_init_start(wal, "context");
> > >
> > > - if (IS_ICELAKE(i915))
> > > + if (IS_GEN(i915, 11))
> > > icl_ctx_workarounds_init(engine);
> > > else if (IS_CANNONLAKE(i915))
> > > cnl_ctx_workarounds_init(engine);
> > > @@ -867,7 +867,7 @@ icl_gt_workarounds_init(struct
> > > drm_i915_private
> > > *i915, struct i915_wa_list *wal)
> > > static void
> > > gt_init_workarounds(struct drm_i915_private *i915, struct
> > > i915_wa_list *wal)
> > > {
> > > - if (IS_ICELAKE(i915))
> > > + if (IS_GEN(i915, 11))
> > > icl_gt_workarounds_init(i915, wal);
> > > else if (IS_CANNONLAKE(i915))
> > > cnl_gt_workarounds_init(i915, wal);
> > > @@ -1064,7 +1064,7 @@ void intel_engine_init_whitelist(struct
> > > intel_engine_cs *engine)
> > >
> > > wa_init_start(w, "whitelist");
> > >
> > > - if (IS_ICELAKE(i915))
> > > + if (IS_GEN(i915, 11))
> > > icl_whitelist_build(w);
> > > else if (IS_CANNONLAKE(i915))
> > > cnl_whitelist_build(w);
> > > @@ -1112,7 +1112,7 @@ rcs_engine_wa_init(struct intel_engine_cs
> > > *engine, struct i915_wa_list *wal)
> > > {
> > > struct drm_i915_private *i915 = engine->i915;
> > >
> > > - if (IS_ICELAKE(i915)) {
> > > + if (IS_GEN(i915, 11)) {
> > > /* This is not an Wa. Enable for better image quality
> > > */
> > > wa_masked_en(wal,
> > > _3D_CHICKEN3,
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20190412/e4c277b7/attachment-0001.sig>
More information about the Intel-gfx
mailing list