Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/2] drm/i915/display: Power request asserting/deasserting
@ 2024-11-27  7:31 Mika Kahola
  2024-11-27  7:31 ` [PATCH v6 1/2] drm/i915/xe3lpd: " Mika Kahola
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Mika Kahola @ 2024-11-27  7:31 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: jani.nikula, Mika Kahola

There is a HW issue that arises when there are race conditions
between TCSS entering/exiting TC7 or TC10 states while the
driver is asserting/deasserting TCSS power request. As a
workaround, Display driver will implement a mailbox sequence
to ensure that the TCSS is in TC0 when TCSS power request is
asserted/deasserted.

The sequence is the following

1. Read mailbox command status and wait until run/busy bit is
   clear
2. Write mailbox data value '1' for power request asserting
   and '0' for power request deasserting
3. Write mailbox command run/busy bit and command value with 0x1
4. Read mailbox command and wait until run/busy bit is clear
   before continuing power request.

while at it, let's start using struct intel_display instead of
struct drm_i915_private as well.

Signed-off-by: Mika Kahola <mika.kahola@intel.com>

Mika Kahola (2):
  drm/i915/xe3lpd: Power request asserting/deasserting
  drm/i915/display: Use struct intel_display instead of struct
    drm_i915_private

 .../gpu/drm/i915/display/intel_cx0_phy_regs.h |  7 ++++
 drivers/gpu/drm/i915/display/intel_tc.c       | 39 +++++++++++++++++--
 2 files changed, 42 insertions(+), 4 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-12-04 10:59 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-27  7:31 [PATCH v6 0/2] drm/i915/display: Power request asserting/deasserting Mika Kahola
2024-11-27  7:31 ` [PATCH v6 1/2] drm/i915/xe3lpd: " Mika Kahola
2024-11-27  7:32 ` [PATCH v6 2/2] drm/i915/display: Use struct intel_display instead of struct drm_i915_private Mika Kahola
2024-11-27  8:01 ` ✓ CI.Patch_applied: success for drm/i915/display: Power request asserting/deasserting Patchwork
2024-11-27  8:01 ` ✗ CI.checkpatch: warning " Patchwork
2024-11-27  8:02 ` ✓ CI.KUnit: success " Patchwork
2024-11-27  8:20 ` ✓ CI.Build: " Patchwork
2024-11-27  8:22 ` ✓ CI.Hooks: " Patchwork
2024-11-27  8:24 ` ✗ CI.checksparse: warning " Patchwork
2024-11-27  8:42 ` ✓ Xe.CI.BAT: success " Patchwork
2024-11-27  9:53 ` ✗ Xe.CI.Full: failure " Patchwork
2024-12-04 10:59 ` [PATCH v6 0/2] " Jani Nikula

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox