From: Jani Nikula <jani.nikula@linux.intel.com>
To: Matt Roper <matthew.d.roper@intel.com>, "Srivatsa\,
Anusha" <anusha.srivatsa@intel.com>
Cc: "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH 04/56] drm/i915: Convert INTEL_GEN() to DISPLAY_VER() as appropriate in intel_pm.c
Date: Wed, 17 Mar 2021 20:02:43 +0200 [thread overview]
Message-ID: <87a6r1odz0.fsf@intel.com> (raw)
In-Reply-To: <20210312204632.GU2690983@mdroper-desk1.amr.corp.intel.com>
On Fri, 12 Mar 2021, Matt Roper <matthew.d.roper@intel.com> wrote:
> On Fri, Mar 12, 2021 at 12:42:27PM -0800, Srivatsa, Anusha wrote:
>>
>>
>> > -----Original Message-----
>> > From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Matt
>> > Roper
>> > Sent: Thursday, March 11, 2021 2:36 PM
>> > To: intel-gfx@lists.freedesktop.org
>> > Subject: [Intel-gfx] [PATCH 04/56] drm/i915: Convert INTEL_GEN() to
>> > DISPLAY_VER() as appropriate in intel_pm.c
>> >
>> > Although most of the code in this file is display-related (watermarks), there's
>> > some functions that are not (e.g., clock gating). Thus we need to do the
>> > conversions to DISPLAY_VER() manually here rather than using Coccinelle.
>> >
>> > In the near-future we'll probably want to think about moving watermark
>> > logic out of intel_pm.c and into watermark-specific files under the display/
>> > directory.
>> >
>> > Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
>>
>> Any reason Patch 4 and Patch 5 are not one single patch? It looks like
>> both replace INTEL_GEN() with DISPLAY_VER() where necessary...
>
> They're manually changing different sections of the driver (parts which
> can't be done in an automated manner), so I wanted to make it easier to
> review the two parts separately.
Also definitely smaller pieces rather than the big ones!
BR,
Jani.
>
>
> Matt
>
>>
>> Anusha
>> > ---
>> > drivers/gpu/drm/i915/intel_pm.c | 132 ++++++++++++++++----------------
>> > 1 file changed, 66 insertions(+), 66 deletions(-)
>> >
>> > diff --git a/drivers/gpu/drm/i915/intel_pm.c
>> > b/drivers/gpu/drm/i915/intel_pm.c index 854ffecd98d9..2616b1845719
>> > 100644
>> > --- a/drivers/gpu/drm/i915/intel_pm.c
>> > +++ b/drivers/gpu/drm/i915/intel_pm.c
>> > @@ -2339,7 +2339,7 @@ static void i9xx_update_wm(struct intel_crtc
>> > *unused_crtc)
>> >
>> > if (IS_I945GM(dev_priv))
>> > wm_info = &i945_wm_info;
>> > - else if (!IS_GEN(dev_priv, 2))
>> > + else if (DISPLAY_VER(dev_priv) != 2)
>> > wm_info = &i915_wm_info;
>> > else
>> > wm_info = &i830_a_wm_info;
>> > @@ -2353,7 +2353,7 @@ static void i9xx_update_wm(struct intel_crtc
>> > *unused_crtc)
>> > crtc->base.primary->state->fb;
>> > int cpp;
>> >
>> > - if (IS_GEN(dev_priv, 2))
>> > + if (DISPLAY_VER(dev_priv) == 2)
>> > cpp = 4;
>> > else
>> > cpp = fb->format->cpp[0];
>> > @@ -2368,7 +2368,7 @@ static void i9xx_update_wm(struct intel_crtc
>> > *unused_crtc)
>> > planea_wm = wm_info->max_wm;
>> > }
>> >
>> > - if (IS_GEN(dev_priv, 2))
>> > + if (DISPLAY_VER(dev_priv) == 2)
>> > wm_info = &i830_bc_wm_info;
>> >
>> > fifo_size = dev_priv->display.get_fifo_size(dev_priv, PLANE_B); @@ -
>> > 2380,7 +2380,7 @@ static void i9xx_update_wm(struct intel_crtc
>> > *unused_crtc)
>> > crtc->base.primary->state->fb;
>> > int cpp;
>> >
>> > - if (IS_GEN(dev_priv, 2))
>> > + if (DISPLAY_VER(dev_priv) == 2)
>> > cpp = 4;
>> > else
>> > cpp = fb->format->cpp[0];
>> > @@ -2652,9 +2652,9 @@ static u32 ilk_compute_fbc_wm(const struct
>> > intel_crtc_state *crtc_state, static unsigned int ilk_display_fifo_size(const
>> > struct drm_i915_private *dev_priv) {
>> > - if (INTEL_GEN(dev_priv) >= 8)
>> > + if (DISPLAY_VER(dev_priv) >= 8)
>> > return 3072;
>> > - else if (INTEL_GEN(dev_priv) >= 7)
>> > + else if (DISPLAY_VER(dev_priv) >= 7)
>> > return 768;
>> > else
>> > return 512;
>> > @@ -2664,10 +2664,10 @@ static unsigned int
>> > ilk_plane_wm_reg_max(const struct drm_i915_private *dev_priv,
>> > int level, bool is_sprite)
>> > {
>> > - if (INTEL_GEN(dev_priv) >= 8)
>> > + if (DISPLAY_VER(dev_priv) >= 8)
>> > /* BDW primary/sprite plane watermarks */
>> > return level == 0 ? 255 : 2047;
>> > - else if (INTEL_GEN(dev_priv) >= 7)
>> > + else if (DISPLAY_VER(dev_priv) >= 7)
>> > /* IVB/HSW primary/sprite plane watermarks */
>> > return level == 0 ? 127 : 1023;
>> > else if (!is_sprite)
>> > @@ -2681,7 +2681,7 @@ ilk_plane_wm_reg_max(const struct
>> > drm_i915_private *dev_priv, static unsigned int
>> > ilk_cursor_wm_reg_max(const struct drm_i915_private *dev_priv, int level) {
>> > - if (INTEL_GEN(dev_priv) >= 7)
>> > + if (DISPLAY_VER(dev_priv) >= 7)
>> > return level == 0 ? 63 : 255;
>> > else
>> > return level == 0 ? 31 : 63;
>> > @@ -2689,7 +2689,7 @@ ilk_cursor_wm_reg_max(const struct
>> > drm_i915_private *dev_priv, int level)
>> >
>> > static unsigned int ilk_fbc_wm_reg_max(const struct drm_i915_private
>> > *dev_priv) {
>> > - if (INTEL_GEN(dev_priv) >= 8)
>> > + if (DISPLAY_VER(dev_priv) >= 8)
>> > return 31;
>> > else
>> > return 15;
>> > @@ -2717,7 +2717,7 @@ static unsigned int ilk_plane_wm_max(const struct
>> > drm_i915_private *dev_priv,
>> > * FIFO size is only half of the self
>> > * refresh FIFO size on ILK/SNB.
>> > */
>> > - if (INTEL_GEN(dev_priv) <= 6)
>> > + if (DISPLAY_VER(dev_priv) <= 6)
>> > fifo_size /= 2;
>> > }
>> >
>> > @@ -2852,7 +2852,7 @@ static void intel_read_wm_latency(struct
>> > drm_i915_private *dev_priv, {
>> > struct intel_uncore *uncore = &dev_priv->uncore;
>> >
>> > - if (INTEL_GEN(dev_priv) >= 9) {
>> > + if (DISPLAY_VER(dev_priv) >= 9) {
>> > u32 val;
>> > int ret, i;
>> > int level, max_level = ilk_wm_max_level(dev_priv); @@ -
>> > 2944,14 +2944,14 @@ static void intel_read_wm_latency(struct
>> > drm_i915_private *dev_priv,
>> > wm[2] = (sskpd >> 12) & 0xFF;
>> > wm[3] = (sskpd >> 20) & 0x1FF;
>> > wm[4] = (sskpd >> 32) & 0x1FF;
>> > - } else if (INTEL_GEN(dev_priv) >= 6) {
>> > + } else if (DISPLAY_VER(dev_priv) >= 6) {
>> > u32 sskpd = intel_uncore_read(uncore, MCH_SSKPD);
>> >
>> > wm[0] = (sskpd >> SSKPD_WM0_SHIFT) & SSKPD_WM_MASK;
>> > wm[1] = (sskpd >> SSKPD_WM1_SHIFT) & SSKPD_WM_MASK;
>> > wm[2] = (sskpd >> SSKPD_WM2_SHIFT) & SSKPD_WM_MASK;
>> > wm[3] = (sskpd >> SSKPD_WM3_SHIFT) & SSKPD_WM_MASK;
>> > - } else if (INTEL_GEN(dev_priv) >= 5) {
>> > + } else if (DISPLAY_VER(dev_priv) >= 5) {
>> > u32 mltr = intel_uncore_read(uncore, MLTR_ILK);
>> >
>> > /* ILK primary LP0 latency is 700 ns */ @@ -2967,7 +2967,7
>> > @@ static void intel_fixup_spr_wm_latency(struct drm_i915_private
>> > *dev_priv,
>> > u16 wm[5])
>> > {
>> > /* ILK sprite LP0 latency is 1300 ns */
>> > - if (IS_GEN(dev_priv, 5))
>> > + if (DISPLAY_VER(dev_priv) == 5)
>> > wm[0] = 13;
>> > }
>> >
>> > @@ -2975,18 +2975,18 @@ static void intel_fixup_cur_wm_latency(struct
>> > drm_i915_private *dev_priv,
>> > u16 wm[5])
>> > {
>> > /* ILK cursor LP0 latency is 1300 ns */
>> > - if (IS_GEN(dev_priv, 5))
>> > + if (DISPLAY_VER(dev_priv) == 5)
>> > wm[0] = 13;
>> > }
>> >
>> > int ilk_wm_max_level(const struct drm_i915_private *dev_priv) {
>> > /* how many WM levels are we expecting */
>> > - if (INTEL_GEN(dev_priv) >= 9)
>> > + if (DISPLAY_VER(dev_priv) >= 9)
>> > return 7;
>> > else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv))
>> > return 4;
>> > - else if (INTEL_GEN(dev_priv) >= 6)
>> > + else if (DISPLAY_VER(dev_priv) >= 6)
>> > return 3;
>> > else
>> > return 2;
>> > @@ -3012,7 +3012,7 @@ static void intel_print_wm_latency(struct
>> > drm_i915_private *dev_priv,
>> > * - latencies are in us on gen9.
>> > * - before then, WM1+ latency values are in 0.5us units
>> > */
>> > - if (INTEL_GEN(dev_priv) >= 9)
>> > + if (DISPLAY_VER(dev_priv) >= 9)
>> > latency *= 10;
>> > else if (level > 0)
>> > latency *= 5;
>> > @@ -3105,7 +3105,7 @@ static void ilk_setup_wm_latency(struct
>> > drm_i915_private *dev_priv)
>> > intel_print_wm_latency(dev_priv, "Sprite", dev_priv-
>> > >wm.spr_latency);
>> > intel_print_wm_latency(dev_priv, "Cursor", dev_priv-
>> > >wm.cur_latency);
>> >
>> > - if (IS_GEN(dev_priv, 6)) {
>> > + if (DISPLAY_VER(dev_priv) == 6) {
>> > snb_wm_latency_quirk(dev_priv);
>> > snb_wm_lp3_irq_quirk(dev_priv);
>> > }
>> > @@ -3176,7 +3176,7 @@ static int ilk_compute_pipe_wm(struct
>> > intel_crtc_state *crtc_state)
>> > usable_level = max_level;
>> >
>> > /* ILK/SNB: LP2+ watermarks only w/o sprites */
>> > - if (INTEL_GEN(dev_priv) <= 6 && pipe_wm->sprites_enabled)
>> > + if (DISPLAY_VER(dev_priv) <= 6 && pipe_wm->sprites_enabled)
>> > usable_level = 1;
>> >
>> > /* ILK/SNB/IVB: LP1+ watermarks only w/o scaling */ @@ -3318,12
>> > +3318,12 @@ static void ilk_wm_merge(struct drm_i915_private *dev_priv,
>> > int last_enabled_level = max_level;
>> >
>> > /* ILK/SNB/IVB: LP1+ watermarks only w/ single pipe */
>> > - if ((INTEL_GEN(dev_priv) <= 6 || IS_IVYBRIDGE(dev_priv)) &&
>> > + if ((DISPLAY_VER(dev_priv) <= 6 || IS_IVYBRIDGE(dev_priv)) &&
>> > config->num_pipes_active > 1)
>> > last_enabled_level = 0;
>> >
>> > /* ILK: FBC WM must be disabled always */
>> > - merged->fbc_wm_enabled = INTEL_GEN(dev_priv) >= 6;
>> > + merged->fbc_wm_enabled = DISPLAY_VER(dev_priv) >= 6;
>> >
>> > /* merge each WM1+ level */
>> > for (level = 1; level <= max_level; level++) { @@ -3354,7 +3354,7 @@
>> > static void ilk_wm_merge(struct drm_i915_private *dev_priv,
>> > * What we should check here is whether FBC can be
>> > * enabled sometime later.
>> > */
>> > - if (IS_GEN(dev_priv, 5) && !merged->fbc_wm_enabled &&
>> > + if (DISPLAY_VER(dev_priv) == 5 && !merged->fbc_wm_enabled &&
>> > intel_fbc_is_active(dev_priv)) {
>> > for (level = 2; level <= max_level; level++) {
>> > struct intel_wm_level *wm = &merged->wm[level];
>> > @@ -3411,7 +3411,7 @@ static void ilk_compute_wm_results(struct
>> > drm_i915_private *dev_priv,
>> > if (r->enable)
>> > results->wm_lp[wm_lp - 1] |= WM1_LP_SR_EN;
>> >
>> > - if (INTEL_GEN(dev_priv) >= 8)
>> > + if (DISPLAY_VER(dev_priv) >= 8)
>> > results->wm_lp[wm_lp - 1] |=
>> > r->fbc_val << WM1_LP_FBC_SHIFT_BDW;
>> > else
>> > @@ -3422,7 +3422,7 @@ static void ilk_compute_wm_results(struct
>> > drm_i915_private *dev_priv,
>> > * Always set WM1S_LP_EN when spr_val != 0, even if the
>> > * level is disabled. Doing otherwise could cause underruns.
>> > */
>> > - if (INTEL_GEN(dev_priv) <= 6 && r->spr_val) {
>> > + if (DISPLAY_VER(dev_priv) <= 6 && r->spr_val) {
>> > drm_WARN_ON(&dev_priv->drm, wm_lp != 1);
>> > results->wm_lp_spr[wm_lp - 1] = WM1S_LP_EN | r-
>> > >spr_val;
>> > } else
>> > @@ -3612,7 +3612,7 @@ static void ilk_write_wm_values(struct
>> > drm_i915_private *dev_priv,
>> > previous->wm_lp_spr[0] != results->wm_lp_spr[0])
>> > intel_uncore_write(&dev_priv->uncore, WM1S_LP_ILK,
>> > results->wm_lp_spr[0]);
>> >
>> > - if (INTEL_GEN(dev_priv) >= 7) {
>> > + if (DISPLAY_VER(dev_priv) >= 7) {
>> > if (dirty & WM_DIRTY_LP(2) && previous->wm_lp_spr[1] !=
>> > results->wm_lp_spr[1])
>> > intel_uncore_write(&dev_priv->uncore,
>> > WM2S_LP_IVB, results->wm_lp_spr[1]);
>> > if (dirty & WM_DIRTY_LP(3) && previous->wm_lp_spr[2] !=
>> > results->wm_lp_spr[2]) @@ -3660,14 +3660,14 @@ static bool
>> > skl_needs_memory_bw_wa(struct drm_i915_private *dev_priv) static bool
>> > intel_has_sagv(struct drm_i915_private *dev_priv) {
>> > - return (IS_GEN9_BC(dev_priv) || INTEL_GEN(dev_priv) >= 10) &&
>> > + return (IS_GEN9_BC(dev_priv) || DISPLAY_VER(dev_priv) >= 10) &&
>> > dev_priv->sagv_status != I915_SAGV_NOT_CONTROLLED; }
>> >
>> > static void
>> > skl_setup_sagv_block_time(struct drm_i915_private *dev_priv) {
>> > - if (INTEL_GEN(dev_priv) >= 12) {
>> > + if (DISPLAY_VER(dev_priv) >= 12) {
>> > u32 val = 0;
>> > int ret;
>> >
>> > @@ -3680,17 +3680,17 @@ skl_setup_sagv_block_time(struct
>> > drm_i915_private *dev_priv)
>> > }
>> >
>> > drm_dbg(&dev_priv->drm, "Couldn't read SAGV block
>> > time!\n");
>> > - } else if (IS_GEN(dev_priv, 11)) {
>> > + } else if (DISPLAY_VER(dev_priv) == 11) {
>> > dev_priv->sagv_block_time_us = 10;
>> > return;
>> > - } else if (IS_GEN(dev_priv, 10)) {
>> > + } else if (DISPLAY_VER(dev_priv) == 10) {
>> > dev_priv->sagv_block_time_us = 20;
>> > return;
>> > - } else if (IS_GEN(dev_priv, 9)) {
>> > + } else if (DISPLAY_VER(dev_priv) == 9) {
>> > dev_priv->sagv_block_time_us = 30;
>> > return;
>> > } else {
>> > - MISSING_CASE(INTEL_GEN(dev_priv));
>> > + MISSING_CASE(DISPLAY_VER(dev_priv));
>> > }
>> >
>> > /* Default to an unusable block time */ @@ -3797,7 +3797,7 @@
>> > void intel_sagv_pre_plane_update(struct intel_atomic_state *state)
>> > if (!new_bw_state)
>> > return;
>> >
>> > - if (INTEL_GEN(dev_priv) < 11 && !intel_can_enable_sagv(dev_priv,
>> > new_bw_state)) {
>> > + if (DISPLAY_VER(dev_priv) < 11 && !intel_can_enable_sagv(dev_priv,
>> > +new_bw_state)) {
>> > intel_disable_sagv(dev_priv);
>> > return;
>> > }
>> > @@ -3848,7 +3848,7 @@ void intel_sagv_post_plane_update(struct
>> > intel_atomic_state *state)
>> > if (!new_bw_state)
>> > return;
>> >
>> > - if (INTEL_GEN(dev_priv) < 11 && intel_can_enable_sagv(dev_priv,
>> > new_bw_state)) {
>> > + if (DISPLAY_VER(dev_priv) < 11 && intel_can_enable_sagv(dev_priv,
>> > +new_bw_state)) {
>> > intel_enable_sagv(dev_priv);
>> > return;
>> > }
>> > @@ -3936,7 +3936,7 @@ static bool intel_crtc_can_enable_sagv(const struct
>> > intel_crtc_state *crtc_state
>> > struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>> > struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
>> >
>> > - if (INTEL_GEN(dev_priv) >= 12)
>> > + if (DISPLAY_VER(dev_priv) >= 12)
>> > return tgl_crtc_can_enable_sagv(crtc_state);
>> > else
>> > return skl_crtc_can_enable_sagv(crtc_state);
>> > @@ -3945,7 +3945,7 @@ static bool intel_crtc_can_enable_sagv(const struct
>> > intel_crtc_state *crtc_state bool intel_can_enable_sagv(struct
>> > drm_i915_private *dev_priv,
>> > const struct intel_bw_state *bw_state) {
>> > - if (INTEL_GEN(dev_priv) < 11 &&
>> > + if (DISPLAY_VER(dev_priv) < 11 &&
>> > bw_state->active_pipes && !is_power_of_2(bw_state-
>> > >active_pipes))
>> > return false;
>> >
>> > @@ -3998,7 +3998,7 @@ static int intel_compute_sagv_mask(struct
>> > intel_atomic_state *state)
>> > * latter from the plane commit hooks (especially in the
>> > legacy
>> > * cursor case)
>> > */
>> > - pipe_wm->use_sagv_wm = INTEL_GEN(dev_priv) >= 12 &&
>> > + pipe_wm->use_sagv_wm = DISPLAY_VER(dev_priv) >= 12 &&
>> > intel_can_enable_sagv(dev_priv,
>> > new_bw_state);
>> > }
>> >
>> > @@ -4022,7 +4022,7 @@ static int intel_dbuf_size(struct drm_i915_private
>> > *dev_priv)
>> >
>> > drm_WARN_ON(&dev_priv->drm, ddb_size == 0);
>> >
>> > - if (INTEL_GEN(dev_priv) < 11)
>> > + if (DISPLAY_VER(dev_priv) < 11)
>> > return ddb_size - 4; /* 4 blocks for bypass path allocation */
>> >
>> > return ddb_size;
>> > @@ -4277,7 +4277,7 @@ skl_ddb_get_hw_plane_state(struct
>> > drm_i915_private *dev_priv,
>> > val & PLANE_CTL_ORDER_RGBX,
>> > val & PLANE_CTL_ALPHA_MASK);
>> >
>> > - if (INTEL_GEN(dev_priv) >= 11) {
>> > + if (DISPLAY_VER(dev_priv) >= 11) {
>> > val = intel_uncore_read(&dev_priv->uncore,
>> > PLANE_BUF_CFG(pipe, plane_id));
>> > skl_ddb_entry_init_from_hw(dev_priv, ddb_y, val);
>> > } else {
>> > @@ -4601,9 +4601,9 @@ static u8 skl_compute_dbuf_slices(struct intel_crtc
>> > *crtc, u8 active_pipes)
>> > struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
>> > enum pipe pipe = crtc->pipe;
>> >
>> > - if (IS_GEN(dev_priv, 12))
>> > + if (DISPLAY_VER(dev_priv) == 12)
>> > return tgl_compute_dbuf_slices(pipe, active_pipes);
>> > - else if (IS_GEN(dev_priv, 11))
>> > + else if (DISPLAY_VER(dev_priv) == 11)
>> > return icl_compute_dbuf_slices(pipe, active_pipes);
>> > /*
>> > * For anything else just return one slice yet.
>> > @@ -4796,7 +4796,7 @@ skl_allocate_plane_ddb(struct intel_atomic_state
>> > *state,
>> > if (!crtc_state->hw.active)
>> > return 0;
>> >
>> > - if (INTEL_GEN(dev_priv) >= 11)
>> > + if (DISPLAY_VER(dev_priv) >= 11)
>> > total_data_rate =
>> > icl_get_total_relative_data_rate(state, crtc);
>> > else
>> > @@ -4910,7 +4910,7 @@ skl_allocate_plane_ddb(struct intel_atomic_state
>> > *state,
>> >
>> > /* Gen11+ uses a separate plane for UV watermarks */
>> > drm_WARN_ON(&dev_priv->drm,
>> > - INTEL_GEN(dev_priv) >= 11 && uv_total[plane_id]);
>> > + DISPLAY_VER(dev_priv) >= 11 &&
>> > uv_total[plane_id]);
>> >
>> > /* Leave disabled planes at (0,0) */
>> > if (total[plane_id]) {
>> > @@ -4957,7 +4957,7 @@ skl_allocate_plane_ddb(struct intel_atomic_state
>> > *state,
>> > * Wa_1408961008:icl, ehl
>> > * Underruns with WM1+ disabled
>> > */
>> > - if (IS_GEN(dev_priv, 11) &&
>> > + if (DISPLAY_VER(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; @@ -5006,7 +5006,7 @@ skl_wm_method1(const
>> > struct drm_i915_private *dev_priv, u32 pixel_rate,
>> > wm_intermediate_val = latency * pixel_rate * cpp;
>> > ret = div_fixed16(wm_intermediate_val, 1000 * dbuf_block_size);
>> >
>> > - if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
>> > + if (DISPLAY_VER(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
>> > ret = add_fixed16_u32(ret, 1);
>> >
>> > return ret;
>> > @@ -5086,7 +5086,7 @@ skl_compute_wm_params(const struct
>> > intel_crtc_state *crtc_state,
>> > wp->cpp = format->cpp[color_plane];
>> > wp->plane_pixel_rate = plane_pixel_rate;
>> >
>> > - if (INTEL_GEN(dev_priv) >= 11 &&
>> > + if (DISPLAY_VER(dev_priv) >= 11 &&
>> > modifier == I915_FORMAT_MOD_Yf_TILED && wp->cpp == 1)
>> > wp->dbuf_block_size = 256;
>> > else
>> > @@ -5120,7 +5120,7 @@ skl_compute_wm_params(const struct
>> > intel_crtc_state *crtc_state,
>> > wp->y_min_scanlines,
>> > wp->dbuf_block_size);
>> >
>> > - if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
>> > + if (DISPLAY_VER(dev_priv) >= 10 ||
>> > IS_GEMINILAKE(dev_priv))
>> > interm_pbpl++;
>> >
>> > wp->plane_blocks_per_line = div_fixed16(interm_pbpl, @@ -
>> > 5130,7 +5130,7 @@ skl_compute_wm_params(const struct intel_crtc_state
>> > *crtc_state,
>> > wp->dbuf_block_size);
>> >
>> > if (!wp->x_tiled ||
>> > - INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
>> > + DISPLAY_VER(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
>> > interm_pbpl++;
>> >
>> > wp->plane_blocks_per_line = u32_to_fixed16(interm_pbpl);
>> > @@ -5169,7 +5169,7 @@ skl_compute_plane_wm_params(const struct
>> > intel_crtc_state *crtc_state,
>> >
>> > static bool skl_wm_has_lines(struct drm_i915_private *dev_priv, int level) {
>> > - if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
>> > + if (DISPLAY_VER(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
>> > return true;
>> >
>> > /* The number of lines are ignored for the level 0 watermark. */ @@
>> > -5222,7 +5222,7 @@ static void skl_compute_plane_wm(const struct
>> > intel_crtc_state *crtc_state,
>> > (wp->plane_bytes_per_line / wp->dbuf_block_size < 1)) {
>> > selected_result = method2;
>> > } else if (latency >= wp->linetime_us) {
>> > - if (IS_GEN(dev_priv, 9) &&
>> > + if (DISPLAY_VER(dev_priv) == 9 &&
>> > !IS_GEMINILAKE(dev_priv))
>> > selected_result = min_fixed16(method1,
>> > method2);
>> > else
>> > @@ -5263,7 +5263,7 @@ static void skl_compute_plane_wm(const struct
>> > intel_crtc_state *crtc_state,
>> > }
>> > }
>> >
>> > - if (INTEL_GEN(dev_priv) >= 11) {
>> > + if (DISPLAY_VER(dev_priv) >= 11) {
>> > if (wp->y_tiled) {
>> > int extra_lines;
>> >
>> > @@ -5302,7 +5302,7 @@ static void skl_compute_plane_wm(const struct
>> > intel_crtc_state *crtc_state,
>> > result->min_ddb_alloc = max(min_ddb_alloc, res_blocks) + 1;
>> > result->plane_en = true;
>> >
>> > - if (INTEL_GEN(dev_priv) < 12)
>> > + if (DISPLAY_VER(dev_priv) < 12)
>> > result->can_sagv = latency >= dev_priv->sagv_block_time_us;
>> > }
>> >
>> > @@ -5359,7 +5359,7 @@ static void skl_compute_transition_wm(struct
>> > drm_i915_private *dev_priv,
>> > if (IS_GEN9_BC(dev_priv) || IS_BROXTON(dev_priv))
>> > return;
>> >
>> > - if (INTEL_GEN(dev_priv) >= 11)
>> > + if (DISPLAY_VER(dev_priv) >= 11)
>> > trans_min = 4;
>> > else
>> > trans_min = 14;
>> > @@ -5422,7 +5422,7 @@ static int skl_build_plane_wm_single(struct
>> > intel_crtc_state *crtc_state,
>> > skl_compute_transition_wm(dev_priv, &wm->trans_wm,
>> > &wm->wm[0], &wm_params);
>> >
>> > - if (INTEL_GEN(dev_priv) >= 12) {
>> > + if (DISPLAY_VER(dev_priv) >= 12) {
>> > tgl_compute_sagv_wm(crtc_state, &wm_params, wm);
>> >
>> > skl_compute_transition_wm(dev_priv, &wm-
>> > >sagv.trans_wm, @@ -5544,7 +5544,7 @@ static int
>> > skl_build_pipe_wm(struct intel_atomic_state *state,
>> > if (plane->pipe != crtc->pipe)
>> > continue;
>> >
>> > - if (INTEL_GEN(dev_priv) >= 11)
>> > + if (DISPLAY_VER(dev_priv) >= 11)
>> > ret = icl_build_plane_wm(crtc_state, plane_state);
>> > else
>> > ret = skl_build_plane_wm(crtc_state, plane_state);
>> > @@ -5605,7 +5605,7 @@ void skl_write_plane_wm(struct intel_plane
>> > *plane,
>> > skl_write_wm_level(dev_priv, PLANE_WM_TRANS(pipe, plane_id),
>> > skl_plane_trans_wm(pipe_wm, plane_id));
>> >
>> > - if (INTEL_GEN(dev_priv) >= 11) {
>> > + if (DISPLAY_VER(dev_priv) >= 11) {
>> > skl_ddb_entry_write(dev_priv,
>> > PLANE_BUF_CFG(pipe, plane_id), ddb_y);
>> > return;
>> > @@ -6135,7 +6135,7 @@ static void ilk_program_watermarks(struct
>> > drm_i915_private *dev_priv)
>> > ilk_wm_merge(dev_priv, &config, &max, &lp_wm_1_2);
>> >
>> > /* 5/6 split only in single pipe config on IVB+ */
>> > - if (INTEL_GEN(dev_priv) >= 7 &&
>> > + if (DISPLAY_VER(dev_priv) >= 7 &&
>> > config.num_pipes_active == 1 && config.sprites_enabled) {
>> > ilk_compute_wm_maximums(dev_priv, 1, &config,
>> > INTEL_DDB_PART_5_6, &max);
>> > ilk_wm_merge(dev_priv, &config, &max, &lp_wm_5_6); @@
>> > -6221,7 +6221,7 @@ void skl_pipe_wm_get_hw_state(struct intel_crtc *crtc,
>> >
>> > skl_wm_level_from_reg_val(val, &wm->trans_wm);
>> >
>> > - if (INTEL_GEN(dev_priv) >= 12) {
>> > + if (DISPLAY_VER(dev_priv) >= 12) {
>> > wm->sagv.wm0 = wm->wm[0];
>> > wm->sagv.trans_wm = wm->trans_wm;
>> > }
>> > @@ -6748,7 +6748,7 @@ void ilk_wm_get_hw_state(struct
>> > drm_i915_private *dev_priv)
>> > hw->wm_lp[2] = intel_uncore_read(&dev_priv->uncore,
>> > WM3_LP_ILK);
>> >
>> > hw->wm_lp_spr[0] = intel_uncore_read(&dev_priv->uncore,
>> > WM1S_LP_ILK);
>> > - if (INTEL_GEN(dev_priv) >= 7) {
>> > + if (DISPLAY_VER(dev_priv) >= 7) {
>> > hw->wm_lp_spr[1] = intel_uncore_read(&dev_priv->uncore,
>> > WM2S_LP_IVB);
>> > hw->wm_lp_spr[2] = intel_uncore_read(&dev_priv->uncore,
>> > WM3S_LP_IVB);
>> > }
>> > @@ -7649,15 +7649,15 @@ void intel_init_pm(struct drm_i915_private
>> > *dev_priv)
>> > skl_setup_sagv_block_time(dev_priv);
>> >
>> > /* For FIFO watermark updates */
>> > - if (INTEL_GEN(dev_priv) >= 9) {
>> > + if (DISPLAY_VER(dev_priv) >= 9) {
>> > skl_setup_wm_latency(dev_priv);
>> > dev_priv->display.compute_global_watermarks =
>> > skl_compute_wm;
>> > } else if (HAS_PCH_SPLIT(dev_priv)) {
>> > ilk_setup_wm_latency(dev_priv);
>> >
>> > - if ((IS_GEN(dev_priv, 5) && dev_priv->wm.pri_latency[1] &&
>> > + if ((DISPLAY_VER(dev_priv) == 5 && dev_priv-
>> > >wm.pri_latency[1] &&
>> > dev_priv->wm.spr_latency[1] && dev_priv-
>> > >wm.cur_latency[1]) ||
>> > - (!IS_GEN(dev_priv, 5) && dev_priv->wm.pri_latency[0] &&
>> > + (DISPLAY_VER(dev_priv) != 5 && dev_priv-
>> > >wm.pri_latency[0] &&
>> > dev_priv->wm.spr_latency[0] && dev_priv-
>> > >wm.cur_latency[0])) {
>> > dev_priv->display.compute_pipe_wm =
>> > ilk_compute_pipe_wm;
>> > dev_priv->display.compute_intermediate_wm = @@
>> > -7700,12 +7700,12 @@ void intel_init_pm(struct drm_i915_private
>> > *dev_priv)
>> > dev_priv->display.update_wm = NULL;
>> > } else
>> > dev_priv->display.update_wm = pnv_update_wm;
>> > - } else if (IS_GEN(dev_priv, 4)) {
>> > + } else if (DISPLAY_VER(dev_priv) == 4) {
>> > dev_priv->display.update_wm = i965_update_wm;
>> > - } else if (IS_GEN(dev_priv, 3)) {
>> > + } else if (DISPLAY_VER(dev_priv) == 3) {
>> > dev_priv->display.update_wm = i9xx_update_wm;
>> > dev_priv->display.get_fifo_size = i9xx_get_fifo_size;
>> > - } else if (IS_GEN(dev_priv, 2)) {
>> > + } else if (DISPLAY_VER(dev_priv) == 2) {
>> > if (INTEL_NUM_PIPES(dev_priv) == 1) {
>> > dev_priv->display.update_wm = i845_update_wm;
>> > dev_priv->display.get_fifo_size = i845_get_fifo_size;
>> > --
>> > 2.25.4
>> >
>> > _______________________________________________
>> > Intel-gfx mailing list
>> > Intel-gfx@lists.freedesktop.org
>> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2021-03-17 18:02 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-11 22:35 [Intel-gfx] [PATCH 00/56] Introduce Alder Lake-P Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 01/56] drm/i915/display: Convert gen5/gen6 tests to IS_IRONLAKE/IS_SANDYBRIDGE Matt Roper
2021-03-12 16:50 ` Ville Syrjälä
2021-03-11 22:35 ` [Intel-gfx] [PATCH 02/56] drm/i915: Add DISPLAY_VER() Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 03/56] drm/i915/display: Eliminate most usage of INTEL_GEN() Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 04/56] drm/i915: Convert INTEL_GEN() to DISPLAY_VER() as appropriate in intel_pm.c Matt Roper
2021-03-12 20:42 ` Srivatsa, Anusha
2021-03-12 20:46 ` Matt Roper
2021-03-17 18:02 ` Jani Nikula [this message]
2021-03-11 22:35 ` [Intel-gfx] [PATCH 05/56] drm/i915: Convert INTEL_GEN() to DISPLAY_VER() as appropriate in i915_irq.c Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 06/56] drm/i915/display: Simplify GLK display version tests Matt Roper
2021-03-12 18:52 ` Ville Syrjälä
2021-03-11 22:35 ` [Intel-gfx] [PATCH 07/56] drm/i915/xelpd: add XE_LPD display characteristics Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 08/56] drm/i915/xelpd: Handle proper AUX interrupt bits Matt Roper
2021-03-12 22:41 ` Srivatsa, Anusha
2021-03-11 22:35 ` [Intel-gfx] [PATCH 09/56] drm/i915/xelpd: Enhanced pipe underrun reporting Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 10/56] drm/i915/xelpd: Define plane capabilities Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 11/56] drm/i915/xelpd: Support 128k plane stride Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 12/56] drm/i915/xelpd: Handle new location of outputs D and E Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 13/56] drm/i915/xelpd: Add XE_LPD power wells Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 14/56] drm/i915/xelpd: Handle LPSP for XE_LPD Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 15/56] drm/i915/xelpd: Increase maximum watermark lines to 255 Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 16/56] drm/i915/xelpd: Required bandwidth increases when VT-d is active Matt Roper
2021-03-12 23:03 ` Srivatsa, Anusha
2021-03-11 22:35 ` [Intel-gfx] [PATCH 17/56] drm/i915/xelpd: Add Wa_14011503030 Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 18/56] drm/i915/display/dsc: Refactor intel_dp_dsc_compute_bpp Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 19/56] drm/i915/xelpd: Support DP1.4 compression BPPs Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 20/56] drm/i915: Get slice height before computing rc params Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 21/56] drm/i915/xelpd: Calculate VDSC RC parameters Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 22/56] drm/i915/xelpd: Add rc_qp_table for rcparams calculation Matt Roper
2021-03-11 22:35 ` [Intel-gfx] [PATCH 23/56] drm/i915/xelpd: Add VRR guardband for VRR CTL Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 24/56] drm/i915/adl_p: Add PCI Devices IDs Matt Roper
2021-03-12 23:20 ` Srivatsa, Anusha
2021-03-17 18:04 ` Jani Nikula
2021-03-11 22:36 ` [Intel-gfx] [PATCH 25/56] drm/i915/adl_p: ADL_P device info enabling Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 26/56] drm/i915/adl_p: Add PCH support Matt Roper
2021-03-12 23:52 ` Srivatsa, Anusha
2021-03-11 22:36 ` [Intel-gfx] [PATCH 27/56] drm/i915/adl_p: Add dedicated SAGV watermarks Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 28/56] drm/i915/adl_p: Extend PLANE_WM bits for blocks & lines Matt Roper
2021-03-12 23:59 ` Srivatsa, Anusha
2021-03-11 22:36 ` [Intel-gfx] [PATCH 29/56] drm/i915/adl_p: Load DMC Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 30/56] drm/i915/adl_p: Setup ports/phys Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 31/56] drm/i915/adl_p: Add cdclk support for ADL-P Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 32/56] drm/i915/display/tc: Rename safe_mode functions ownership Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 33/56] drm/i915/adl_p: Handle TC cold Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 34/56] drm/i915/adl_p: Implement TC sequences Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 35/56] drm/i915/adl_p: Enable modular fia Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 36/56] drm/i915/adl_p: Don't config MBUS and DBUF during display initialization Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 37/56] drm/i915/adl_p: Add ddb allocation support Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 38/56] drm/i915: Introduce MBUS relative dbuf offsets Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 39/56] drm/i915: Move intel_modeset_all_pipes() Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 40/56] drm/i915/adl_p: MBUS programming Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 41/56] drm/i915/adl_p: Tx escape clock with DSI Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 42/56] drm/i915/adl_p: Add initial ADL_P Workarounds Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 43/56] drm/i915/adlp: Define GuC/HuC for Alderlake_P Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 44/56] drm/i915/adl_p: Define and use ADL-P specific DP translation tables Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 45/56] drm/i915/adl_p: Enable/disable loadgen sharing Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 46/56] drm/i915/adl_p: Add PLL Support Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 47/56] drm/i915/bigjoiner: Mode validation with uncompressed pipe joiner Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 48/56] drm/i915/bigjoiner: Avoid dsc_compute_config for uncompressed bigjoiner Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 49/56] drm/i915/bigjoiner: atomic commit changes for uncompressed joiner Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 50/56] drm/i915/adlp: Add PIPE_MISC2 programming Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 51/56] drm/i915/adl_p: Update memory bandwidth parameters Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 52/56] drm/i915/adl_p: Implement Wa_22011091694 Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 53/56] drm/i915/display/adl_p: Implement Wa_22011320316 Matt Roper
2021-03-11 22:36 ` [Intel-gfx] [PATCH 54/56] drm/i915/display/adl_p: Remove CCS support Matt Roper
2021-03-13 0:24 ` Srivatsa, Anusha
2021-03-11 22:36 ` [Intel-gfx] [PATCH 55/56] drm/i915/perf: Enable OA formats for ADL_P Matt Roper
2021-03-12 20:37 ` Dixit, Ashutosh
2021-03-11 22:36 ` [Intel-gfx] [PATCH 56/56] drm/i915/display/adl_p: Implement PSR changes Matt Roper
2021-03-13 19:49 ` Mun, Gwan-gyeong
2021-03-11 22:48 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Introduce Alder Lake-P Patchwork
2021-03-11 22:50 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-03-11 23:14 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a6r1odz0.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=anusha.srivatsa@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=matthew.d.roper@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.