From: Jani Nikula <jani.nikula@linux.intel.com>
To: "José Roberto de Souza" <jose.souza@intel.com>,
intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH 2/6] drm/i915/display/adl_p: Implement Wa_22012278275
Date: Thu, 08 Jul 2021 11:56:42 +0300 [thread overview]
Message-ID: <87eec96v5h.fsf@intel.com> (raw)
In-Reply-To: <20210616203158.118111-2-jose.souza@intel.com>
This is well after this has been merged, but only spotted this now.
In the future, please add something sensible to the subject lines
instead of just the platform and workaround number. I'm looking at a
shortlog with:
drm/i915/display/adl_p: Implement Wa_22012278275
drm/i915/display/adl_p: Implement Wa_16011168373
drm/i915/display/adl_p: Implement Wa_16011303918
and that's just completely unhelpful. :(
BR,
Jani.
On Wed, 16 Jun 2021, José Roberto de Souza <jose.souza@intel.com> wrote:
> The PSR2_CTL io buffer wake and fast wake values do not match
> expected in pre production hardware, so here adding a table that
> matches with HW to program it with values that HW expect.
>
> Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_psr.c | 29 +++++++++++++++++++++++-
> drivers/gpu/drm/i915/i915_reg.h | 6 +++--
> 2 files changed, 32 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> index fde30f937504e..c8d56387d9233 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -542,7 +542,34 @@ static void hsw_activate_psr2(struct intel_dp *intel_dp)
> val |= EDP_PSR2_FRAME_BEFORE_SU(intel_dp->psr.sink_sync_latency + 1);
> val |= intel_psr2_get_tp_time(intel_dp);
>
> - if (DISPLAY_VER(dev_priv) >= 12) {
> + /* Wa_22012278275:adlp */
> + if (IS_ADLP_DISPLAY_STEP(dev_priv, STEP_A0, STEP_D1)) {
> + static const u8 map[] = {
> + 2, /* 5 lines */
> + 1, /* 6 lines */
> + 0, /* 7 lines */
> + 3, /* 8 lines */
> + 6, /* 9 lines */
> + 5, /* 10 lines */
> + 4, /* 11 lines */
> + 7, /* 12 lines */
> + };
> + /*
> + * Still using the default IO_BUFFER_WAKE and FAST_WAKE, see
> + * comments bellow for more information
> + */
> + u32 tmp, lines = 7;
> +
> + val |= TGL_EDP_PSR2_BLOCK_COUNT_NUM_2;
> +
> + tmp = map[lines - TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES];
> + tmp = tmp << TGL_EDP_PSR2_IO_BUFFER_WAKE_SHIFT;
> + val |= tmp;
> +
> + tmp = map[lines - TGL_EDP_PSR2_FAST_WAKE_MIN_LINES];
> + tmp = tmp << TGL_EDP_PSR2_FAST_WAKE_MIN_SHIFT;
> + val |= tmp;
> + } else if (DISPLAY_VER(dev_priv) >= 12) {
> /*
> * TODO: 7 lines of IO_BUFFER_WAKE and FAST_WAKE are default
> * values from BSpec. In order to setting an optimal power
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 955027799d1de..4a98e49c58812 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -4596,13 +4596,15 @@ enum {
> #define EDP_PSR2_IO_BUFFER_WAKE(lines) ((EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES - (lines)) << 13)
> #define EDP_PSR2_IO_BUFFER_WAKE_MASK (3 << 13)
> #define TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES 5
> -#define TGL_EDP_PSR2_IO_BUFFER_WAKE(lines) (((lines) - TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES) << 13)
> +#define TGL_EDP_PSR2_IO_BUFFER_WAKE_SHIFT 13
> +#define TGL_EDP_PSR2_IO_BUFFER_WAKE(lines) (((lines) - TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES) << TGL_EDP_PSR2_IO_BUFFER_WAKE_SHIFT)
> #define TGL_EDP_PSR2_IO_BUFFER_WAKE_MASK (7 << 13)
> #define EDP_PSR2_FAST_WAKE_MAX_LINES 8
> #define EDP_PSR2_FAST_WAKE(lines) ((EDP_PSR2_FAST_WAKE_MAX_LINES - (lines)) << 11)
> #define EDP_PSR2_FAST_WAKE_MASK (3 << 11)
> #define TGL_EDP_PSR2_FAST_WAKE_MIN_LINES 5
> -#define TGL_EDP_PSR2_FAST_WAKE(lines) (((lines) - TGL_EDP_PSR2_FAST_WAKE_MIN_LINES) << 10)
> +#define TGL_EDP_PSR2_FAST_WAKE_MIN_SHIFT 10
> +#define TGL_EDP_PSR2_FAST_WAKE(lines) (((lines) - TGL_EDP_PSR2_FAST_WAKE_MIN_LINES) << TGL_EDP_PSR2_FAST_WAKE_MIN_SHIFT)
> #define TGL_EDP_PSR2_FAST_WAKE_MASK (7 << 10)
> #define EDP_PSR2_TP2_TIME_500us (0 << 8)
> #define EDP_PSR2_TP2_TIME_100us (1 << 8)
--
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-07-08 8:56 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-16 20:31 [Intel-gfx] [PATCH 1/6] drm/i915/display/psr: Handle SU Y granularity José Roberto de Souza
2021-06-16 20:31 ` [Intel-gfx] [PATCH 2/6] drm/i915/display/adl_p: Implement Wa_22012278275 José Roberto de Souza
2021-06-23 15:30 ` Gwan-gyeong Mun
2021-07-08 8:56 ` Jani Nikula [this message]
2021-07-08 8:56 ` Jani Nikula
2021-06-16 20:31 ` [Intel-gfx] [PATCH 3/6] drm/i915/display/adl_p: Implement Wa_16011168373 José Roberto de Souza
2021-06-23 19:21 ` Gwan-gyeong Mun
2021-06-16 20:31 ` [Intel-gfx] [PATCH 4/6] drm/i915/xelpd: Handle PSR2 SDP indication in the prior scanline José Roberto de Souza
2021-06-23 18:10 ` Gwan-gyeong Mun
2021-06-16 20:31 ` [Intel-gfx] [PATCH 5/6] drm/i915/display/adl_p: Implement Wa_16011303918 José Roberto de Souza
2021-06-23 18:18 ` Gwan-gyeong Mun
2021-06-16 20:31 ` [Intel-gfx] [PATCH 6/6] drm/i915/display/adl_p: Implement PSR changes José Roberto de Souza
2021-06-23 19:06 ` Gwan-gyeong Mun
2021-06-24 16:19 ` Souza, Jose
2021-06-24 16:19 ` Souza, Jose
2021-06-24 23:27 ` Souza, Jose
2021-06-16 20:39 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/6] drm/i915/display/psr: Handle SU Y granularity Patchwork
2021-06-16 21:08 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-06-17 0:48 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-06-23 11:55 ` [Intel-gfx] [PATCH 1/6] " Gwan-gyeong Mun
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=87eec96v5h.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jose.souza@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox