Re: [PATCH v3 0/2] drm/i915/display: Power request asserting/deasserting
On Thu, Oct 31, 2024 at 07:58:19PM +0530, Kahola, Mika wrote: > > -Original Message- > > From: Jadav, Raag > > Sent: Thursday, 31 October 2024 14.59 > > To: Kahola, Mika > > Cc: intel-gfx@lists.freedesktop.org; Sousa, Gustavo > > ; > > jani.nik...@linux.intel.com > > Subject: Re: [PATCH v3 0/2] drm/i915/display: Power request > > asserting/deasserting > > > > On Thu, Oct 31, 2024 at 01:40:25PM +0200, Mika Kahola wrote: > > > 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. > > > > Perhaps this needs to be its own patch since it's unrelated to the series. > > There was a request from Jani to start using intel_display instead of > drm_i915_private also with the calling function. So this is perhaps > remotely related to this WA I included this here. Yes, he has a series WIP for it. Perhaps worth collaborating. Raag
RE: [PATCH v3 0/2] drm/i915/display: Power request asserting/deasserting
> -Original Message- > From: Jadav, Raag > Sent: Thursday, 31 October 2024 14.59 > To: Kahola, Mika > Cc: intel-gfx@lists.freedesktop.org; Sousa, Gustavo ; > jani.nik...@linux.intel.com > Subject: Re: [PATCH v3 0/2] drm/i915/display: Power request > asserting/deasserting > > On Thu, Oct 31, 2024 at 01:40:25PM +0200, Mika Kahola wrote: > > 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. > > Perhaps this needs to be its own patch since it's unrelated to the series. There was a request from Jani to start using intel_display instead of drm_i915_private also with the calling function. So this is perhaps remotely related to this WA I included this here. > > Raag
Re: [PATCH v3 0/2] drm/i915/display: Power request asserting/deasserting
On Thu, Oct 31, 2024 at 01:40:25PM +0200, Mika Kahola wrote: > 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. Perhaps this needs to be its own patch since it's unrelated to the series. Raag