From: Jani Nikula <jani.nikula@linux.intel.com>
To: "Jouni Högander" <jouni.hogander@intel.com>,
intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Cc: "Jouni Högander" <jouni.hogander@intel.com>
Subject: Re: [PATCH v2 05/11] drm/i915/psr: Write PIPEDMC_BLOCK_PKGC_SW when enabling PSR
Date: Fri, 21 Mar 2025 14:39:55 +0200 [thread overview]
Message-ID: <871puqd0bo.fsf@intel.com> (raw)
In-Reply-To: <20250317081905.3683654-6-jouni.hogander@intel.com>
On Mon, 17 Mar 2025, Jouni Högander <jouni.hogander@intel.com> wrote:
> Write PIPEDMC_BLOCK_PKGC_SW when enabling PSR as described in workaround
> for underrun on idle PSR HW issue (Wa_16025596647).
>
> Bspec: 74151
>
> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_psr.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> index 1415e1e7aaf2c..a3946eef44f0d 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -37,6 +37,7 @@
> #include "intel_de.h"
> #include "intel_display_irq.h"
> #include "intel_display_types.h"
> +#include "intel_dmc_regs.h"
Mildly annoying to poke at dmc registers from psr code.
BR,
Jani.
> #include "intel_dp.h"
> #include "intel_dp_aux.h"
> #include "intel_frontbuffer.h"
> @@ -1961,6 +1962,13 @@ static void intel_psr_enable_source(struct intel_dp *intel_dp,
> intel_de_rmw(display, CLKGATE_DIS_MISC, 0,
> CLKGATE_DIS_MISC_DMASC_GATING_DIS);
> }
> +
> + /* Wa_16025596647 */
> + if ((DISPLAY_VER(display) == 20 ||
> + IS_DISPLAY_VERx100_STEP(display, 3000, STEP_A0, STEP_B0)) &&
> + !intel_dp->psr.panel_replay_enabled)
> + intel_de_rmw(display, PIPEDMC_BLOCK_PKGC_SW(intel_dp->psr.pipe), 0,
> + PIPEDMC_BLOCK_PKGC_SW_BLOCK_PKGC_ALWAYS);
> }
>
> static bool psr_interrupt_error_check(struct intel_dp *intel_dp)
> @@ -2186,6 +2194,13 @@ static void intel_psr_disable_locked(struct intel_dp *intel_dp)
> DP_RECEIVER_ALPM_CONFIG, 0);
> }
>
> + /* Wa_16025596647 */
> + if ((DISPLAY_VER(display) == 20 ||
> + IS_DISPLAY_VERx100_STEP(display, 3000, STEP_A0, STEP_B0)) &&
> + !intel_dp->psr.panel_replay_enabled)
> + intel_de_rmw(display, PIPEDMC_BLOCK_PKGC_SW(intel_dp->psr.pipe),
> + PIPEDMC_BLOCK_PKGC_SW_BLOCK_PKGC_ALWAYS, 0);
> +
> intel_dp->psr.enabled = false;
> intel_dp->psr.panel_replay_enabled = false;
> intel_dp->psr.sel_update_enabled = false;
--
Jani Nikula, Intel
next prev parent reply other threads:[~2025-03-21 12:40 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-17 8:18 [PATCH v2 00/11] Underrun on idle PSR workaround Jouni Högander
2025-03-17 8:18 ` [PATCH v2 01/11] drm/i915/display: Add new interface for getting dc_state Jouni Högander
2025-03-17 8:18 ` [PATCH v2 02/11] drm/i915/psr: Store enabled non-psr pipes into intel_crtc_state Jouni Högander
2025-03-17 8:18 ` [PATCH v2 03/11] drm/i915/dmc: Add PIPEDMC_EVT_CTL register definition Jouni Högander
2025-03-17 8:18 ` [PATCH v2 04/11] drm/i915/dmc: Add PIPEDMC_BLOCK_PKGC_SW definitions Jouni Högander
2025-04-07 11:50 ` Kahola, Mika
2025-03-17 8:18 ` [PATCH v2 05/11] drm/i915/psr: Write PIPEDMC_BLOCK_PKGC_SW when enabling PSR Jouni Högander
2025-03-21 12:39 ` Jani Nikula [this message]
2025-03-17 8:19 ` [PATCH v2 06/11] drm/i915/psr: Add mechanism to notify PSR of pipe enable/disable Jouni Högander
2025-04-08 10:44 ` Kahola, Mika
2025-03-17 8:19 ` [PATCH v2 07/11] drm/i915/psr: Add mechanism to notify PSR of DC5/6 enable disable Jouni Högander
2025-04-08 11:07 ` Kahola, Mika
2025-03-17 8:19 ` [PATCH v2 08/11] drm/i915/psr: Add interface to notify PSR of vblank enable/disable Jouni Högander
2025-04-08 12:10 ` Kahola, Mika
2025-03-17 8:19 ` [PATCH v2 09/11] drm/i915/psr: Apply underrun on PSR idle workaround Jouni Högander
2025-04-08 12:27 ` Kahola, Mika
2025-03-17 8:19 ` [PATCH v2 10/11] drm/i915/display: Rename intel_psr_needs_block_dc_vblank Jouni Högander
2025-04-08 12:28 ` Kahola, Mika
2025-03-17 8:19 ` [PATCH v2 11/11] drm/i915/display: Rename vblank DC workaround functions and variables Jouni Högander
2025-04-08 12:28 ` Kahola, Mika
2025-03-17 8:28 ` ✗ CI.Patch_applied: failure for Underrun on idle PSR workaround (rev4) Patchwork
2025-03-17 8:47 ` ✗ Fi.CI.CHECKPATCH: warning for Underrun on idle PSR workaround (rev3) Patchwork
2025-03-17 8:47 ` ✗ Fi.CI.SPARSE: " Patchwork
2025-03-17 9:07 ` ✓ i915.CI.BAT: success " Patchwork
2025-03-18 13:44 ` ✓ CI.Patch_applied: success for Underrun on idle PSR workaround (rev5) Patchwork
2025-03-18 13:44 ` ✗ CI.checkpatch: warning " Patchwork
2025-03-18 13:45 ` ✓ CI.KUnit: success " Patchwork
2025-03-18 14:02 ` ✓ CI.Build: " Patchwork
2025-03-18 14:04 ` ✓ CI.Hooks: " Patchwork
2025-03-18 14:06 ` ✗ CI.checksparse: warning " Patchwork
2025-03-18 14:27 ` ✓ Xe.CI.BAT: success " Patchwork
2025-03-18 15:27 ` ✗ Xe.CI.Full: 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=871puqd0bo.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jouni.hogander@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.