mbox series

[v6,0/7] drm/i915: Media freq factor and per-gt enhancements/fixes

Message ID cover.1652405421.git.ashutosh.dixit@intel.com (mailing list archive)
Headers show
Series drm/i915: Media freq factor and per-gt enhancements/fixes | expand

Message

Dixit, Ashutosh May 13, 2022, 1:36 a.m. UTC
Some recent Intel dGfx platforms allow media IP to work at a different
frequency from the base GT. This patch series exposes sysfs controls for
this functionality in the new per-gt sysfs. Some enhancements and fixes to
previous per-gt functionality are also included to complete the new
functionality:
* Patches 1 and 2 implement basic sysfs controls for media freq
* Patch 3 extends previous pcode functions for multiple gt's
* Patch 4 inits pcode on different gt's
* Patch 5 adds a couple of pcode helpers
* Patch 6 uses the new pcode functions to retrieve media RP0/RPn freq
* Patch 7 fixes memory leaks in the previous per-gt sysfs implementation
  and some code refactoring

IGT tests for this new functionality have also been posted at:

  https://patchwork.freedesktop.org/series/103175/

Test-with: 20220513011500.73460-1-ashutosh.dixit@intel.com

v2: Fixed commit author on patches 5 and 6 (Rodrigo)
    Added new patch 4
v3: Expose pcode functions in terms of uncore rather than gt (Jani/Rodrigo)
v4: Retain previous pcode function names to eliminate
    needless #defines (Rodrigo)
v5: Add new patch 4 and remove last two patches in the v4 series which will
    be submitted later. Other mostly minor fixes from code review
v6: Identical to v5, only update "Test-with:" since CI did not pick up
    previous "Test-with:" probably because it was old

Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Cc: Andi Shyti <andi.shyti@linux.intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>

Ashutosh Dixit (5):
  drm/i915: Introduce has_media_ratio_mode
  drm/i915/gt: Add media freq factor to per-gt sysfs
  drm/i915/pcode: Extend pcode functions for multiple gt's
  drm/i915/pcode: Init pcode on different gt's
  drm/i915/gt: Fix memory leaks in per-gt sysfs

Dale B Stimson (2):
  drm/i915/pcode: Add a couple of pcode helpers
  drm/i915/gt: Add media RP0/RPn to per-gt sysfs

 drivers/gpu/drm/i915/display/hsw_ips.c        |   4 +-
 drivers/gpu/drm/i915/display/intel_bw.c       |   6 +-
 drivers/gpu/drm/i915/display/intel_cdclk.c    |  16 +-
 .../drm/i915/display/intel_display_power.c    |   2 +-
 .../i915/display/intel_display_power_well.c   |   4 +-
 drivers/gpu/drm/i915/display/intel_hdcp.c     |   2 +-
 drivers/gpu/drm/i915/gt/intel_gt.c            |   1 +
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c |   4 +-
 drivers/gpu/drm/i915/gt/intel_gt_regs.h       |   1 +
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.c      |  29 ++-
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.h      |   6 +-
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c   | 177 ++++++++++++++++++
 drivers/gpu/drm/i915/gt/intel_gt_types.h      |   3 +
 drivers/gpu/drm/i915/gt/intel_llc.c           |   3 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c           |   4 +-
 drivers/gpu/drm/i915/gt/intel_rps.c           |   4 +-
 drivers/gpu/drm/i915/gt/selftest_llc.c        |   2 +-
 drivers/gpu/drm/i915/gt/selftest_rps.c        |   2 +-
 .../drm/i915/gt/uc/abi/guc_actions_slpc_abi.h |   6 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c   |  20 ++
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h   |   1 +
 .../gpu/drm/i915/gt/uc/intel_guc_slpc_types.h |   3 +
 drivers/gpu/drm/i915/i915_driver.c            |  20 +-
 drivers/gpu/drm/i915/i915_drv.h               |   2 +
 drivers/gpu/drm/i915/i915_pci.c               |   2 +
 drivers/gpu/drm/i915/i915_reg.h               |  11 ++
 drivers/gpu/drm/i915/i915_sysfs.c             |   2 +
 drivers/gpu/drm/i915/intel_device_info.h      |   1 +
 drivers/gpu/drm/i915/intel_dram.c             |   2 +-
 drivers/gpu/drm/i915/intel_pcode.c            |  93 +++++----
 drivers/gpu/drm/i915/intel_pcode.h            |  20 +-
 drivers/gpu/drm/i915/intel_pm.c               |  10 +-
 32 files changed, 363 insertions(+), 100 deletions(-)

Comments

Dixit, Ashutosh May 13, 2022, 7:18 a.m. UTC | #1
On Thu, 12 May 2022 23:58:55 -0700, Patchwork wrote:
>
> Patch Details
>
>  Series:  drm/i915: Media freq factor and per-gt enhancements/fixes (rev6)
>  URL:  https://patchwork.freedesktop.org/series/102665/
>  State:  failure
>  Details:  https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_102665v6/index.html
>
> CI Bug Log - changes from CI_DRM_11646_full -> Patchwork_102665v6_full
>
> FAILURE
>
> Possible regressions
>
> * {igt@i915_pm_freq_mult@media-freq@gt0} (NEW):
>
>  * shard-iclb: NOTRUN -> SKIP

This skip is expected, this new IGT will skip on unsupported platforms.

>
> * igt@prime_self_import@export-vs-gem_close-race:
>
>  * shard-tglb: PASS -> FAIL

This failure is unrelated. It is seen here too:

https://patchwork.freedesktop.org/series/99867/

Thanks.
--
Ashutosh
Vudum, Lakshminarayana May 13, 2022, 5:14 p.m. UTC | #2
I have reopened the https://gitlab.freedesktop.org/drm/intel/-/issues/4440
igt@prime_self_import@reimport-vs-gem_close-race - fail - Failed assertion: obj_count == 0,error: -2 != 0

"{igt@i915_pm_freq_mult@media-freq@gt0" is not yet in CI bug log.

Thanks,
Lakshmi.

-----Original Message-----
From: Dixit, Ashutosh <ashutosh.dixit@intel.com> 
Sent: Friday, May 13, 2022 12:19 AM
To: intel-gfx@lists.freedesktop.org; Vudum, Lakshminarayana <lakshminarayana.vudum@intel.com>
Subject: Re: ✗ Fi.CI.IGT: failure for drm/i915: Media freq factor and per-gt enhancements/fixes (rev6)

On Thu, 12 May 2022 23:58:55 -0700, Patchwork wrote:
>
> Patch Details
>
>  Series:  drm/i915: Media freq factor and per-gt enhancements/fixes (rev6)
>  URL:  https://patchwork.freedesktop.org/series/102665/
>  State:  failure
>  Details:  https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_102665v6/index.html
>
> CI Bug Log - changes from CI_DRM_11646_full -> Patchwork_102665v6_full
>
> FAILURE
>
> Possible regressions
>
> * {igt@i915_pm_freq_mult@media-freq@gt0} (NEW):
>
>  * shard-iclb: NOTRUN -> SKIP

This skip is expected, this new IGT will skip on unsupported platforms.

>
> * igt@prime_self_import@export-vs-gem_close-race:
>
>  * shard-tglb: PASS -> FAIL

This failure is unrelated. It is seen here too:

https://patchwork.freedesktop.org/series/99867/

Thanks.
--
Ashutosh
Tvrtko Ursulin May 23, 2022, 8:57 a.m. UTC | #3
On 13/05/2022 02:36, Ashutosh Dixit wrote:
> Some recent Intel dGfx platforms allow media IP to work at a different
> frequency from the base GT. This patch series exposes sysfs controls for
> this functionality in the new per-gt sysfs. Some enhancements and fixes to
> previous per-gt functionality are also included to complete the new
> functionality:
> * Patches 1 and 2 implement basic sysfs controls for media freq
> * Patch 3 extends previous pcode functions for multiple gt's
> * Patch 4 inits pcode on different gt's
> * Patch 5 adds a couple of pcode helpers
> * Patch 6 uses the new pcode functions to retrieve media RP0/RPn freq
> * Patch 7 fixes memory leaks in the previous per-gt sysfs implementation
>    and some code refactoring

Patches 1, 3 and 5 have been merged to drm-intel-next, and then branch 
cross-merged into drm-intel-gt-next.

You can try re-sending the rest of the series now and see if that goes 
smoothly.

Regards,

Tvrtko

> IGT tests for this new functionality have also been posted at:
> 
>    https://patchwork.freedesktop.org/series/103175/
> 
> Test-with: 20220513011500.73460-1-ashutosh.dixit@intel.com
> 
> v2: Fixed commit author on patches 5 and 6 (Rodrigo)
>      Added new patch 4
> v3: Expose pcode functions in terms of uncore rather than gt (Jani/Rodrigo)
> v4: Retain previous pcode function names to eliminate
>      needless #defines (Rodrigo)
> v5: Add new patch 4 and remove last two patches in the v4 series which will
>      be submitted later. Other mostly minor fixes from code review
> v6: Identical to v5, only update "Test-with:" since CI did not pick up
>      previous "Test-with:" probably because it was old
> 
> Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
> Cc: Andi Shyti <andi.shyti@linux.intel.com>
> Cc: Jani Nikula <jani.nikula@intel.com>
> 
> Ashutosh Dixit (5):
>    drm/i915: Introduce has_media_ratio_mode
>    drm/i915/gt: Add media freq factor to per-gt sysfs
>    drm/i915/pcode: Extend pcode functions for multiple gt's
>    drm/i915/pcode: Init pcode on different gt's
>    drm/i915/gt: Fix memory leaks in per-gt sysfs
> 
> Dale B Stimson (2):
>    drm/i915/pcode: Add a couple of pcode helpers
>    drm/i915/gt: Add media RP0/RPn to per-gt sysfs
> 
>   drivers/gpu/drm/i915/display/hsw_ips.c        |   4 +-
>   drivers/gpu/drm/i915/display/intel_bw.c       |   6 +-
>   drivers/gpu/drm/i915/display/intel_cdclk.c    |  16 +-
>   .../drm/i915/display/intel_display_power.c    |   2 +-
>   .../i915/display/intel_display_power_well.c   |   4 +-
>   drivers/gpu/drm/i915/display/intel_hdcp.c     |   2 +-
>   drivers/gpu/drm/i915/gt/intel_gt.c            |   1 +
>   drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c |   4 +-
>   drivers/gpu/drm/i915/gt/intel_gt_regs.h       |   1 +
>   drivers/gpu/drm/i915/gt/intel_gt_sysfs.c      |  29 ++-
>   drivers/gpu/drm/i915/gt/intel_gt_sysfs.h      |   6 +-
>   drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c   | 177 ++++++++++++++++++
>   drivers/gpu/drm/i915/gt/intel_gt_types.h      |   3 +
>   drivers/gpu/drm/i915/gt/intel_llc.c           |   3 +-
>   drivers/gpu/drm/i915/gt/intel_rc6.c           |   4 +-
>   drivers/gpu/drm/i915/gt/intel_rps.c           |   4 +-
>   drivers/gpu/drm/i915/gt/selftest_llc.c        |   2 +-
>   drivers/gpu/drm/i915/gt/selftest_rps.c        |   2 +-
>   .../drm/i915/gt/uc/abi/guc_actions_slpc_abi.h |   6 +
>   drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c   |  20 ++
>   drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h   |   1 +
>   .../gpu/drm/i915/gt/uc/intel_guc_slpc_types.h |   3 +
>   drivers/gpu/drm/i915/i915_driver.c            |  20 +-
>   drivers/gpu/drm/i915/i915_drv.h               |   2 +
>   drivers/gpu/drm/i915/i915_pci.c               |   2 +
>   drivers/gpu/drm/i915/i915_reg.h               |  11 ++
>   drivers/gpu/drm/i915/i915_sysfs.c             |   2 +
>   drivers/gpu/drm/i915/intel_device_info.h      |   1 +
>   drivers/gpu/drm/i915/intel_dram.c             |   2 +-
>   drivers/gpu/drm/i915/intel_pcode.c            |  93 +++++----
>   drivers/gpu/drm/i915/intel_pcode.h            |  20 +-
>   drivers/gpu/drm/i915/intel_pm.c               |  10 +-
>   32 files changed, 363 insertions(+), 100 deletions(-)
>
Dixit, Ashutosh May 25, 2022, 8:21 a.m. UTC | #4
On Mon, 23 May 2022 01:57:51 -0700, Tvrtko Ursulin wrote:
>
> On 13/05/2022 02:36, Ashutosh Dixit wrote:
> > Some recent Intel dGfx platforms allow media IP to work at a different
> > frequency from the base GT. This patch series exposes sysfs controls for
> > this functionality in the new per-gt sysfs. Some enhancements and fixes to
> > previous per-gt functionality are also included to complete the new
> > functionality:
> > * Patches 1 and 2 implement basic sysfs controls for media freq
> > * Patch 3 extends previous pcode functions for multiple gt's
> > * Patch 4 inits pcode on different gt's
> > * Patch 5 adds a couple of pcode helpers
> > * Patch 6 uses the new pcode functions to retrieve media RP0/RPn freq
> > * Patch 7 fixes memory leaks in the previous per-gt sysfs implementation
> >    and some code refactoring
>
> Patches 1, 3 and 5 have been merged to drm-intel-next, and then branch
> cross-merged into drm-intel-gt-next.
>
> You can try re-sending the rest of the series now and see if that goes
> smoothly.

I sent the patches out Mon but am struggling to get a satisfactory CI run
from what it looks like are CI issues (CI runs were fine on previous
versions). Will update after we have successful CI. Thanks.
Dixit, Ashutosh May 26, 2022, 8:12 a.m. UTC | #5
On Wed, 25 May 2022 01:21:06 -0700, Dixit, Ashutosh wrote:
>
> On Mon, 23 May 2022 01:57:51 -0700, Tvrtko Ursulin wrote:
> >
> > On 13/05/2022 02:36, Ashutosh Dixit wrote:
> > > Some recent Intel dGfx platforms allow media IP to work at a different
> > > frequency from the base GT. This patch series exposes sysfs controls for
> > > this functionality in the new per-gt sysfs. Some enhancements and fixes to
> > > previous per-gt functionality are also included to complete the new
> > > functionality:
> > > * Patches 1 and 2 implement basic sysfs controls for media freq
> > > * Patch 3 extends previous pcode functions for multiple gt's
> > > * Patch 4 inits pcode on different gt's
> > > * Patch 5 adds a couple of pcode helpers
> > > * Patch 6 uses the new pcode functions to retrieve media RP0/RPn freq
> > > * Patch 7 fixes memory leaks in the previous per-gt sysfs implementation
> > >    and some code refactoring
> >
> > Patches 1, 3 and 5 have been merged to drm-intel-next, and then branch
> > cross-merged into drm-intel-gt-next.
> >
> > You can try re-sending the rest of the series now and see if that goes
> > smoothly.
>
> I sent the patches out Mon but am struggling to get a satisfactory CI run
> from what it looks like are CI issues (CI runs were fine on previous
> versions). Will update after we have successful CI. Thanks.

Hi Tvrtko,

We now have CI results. They look good to me (except that there is a false
positive). In case you think this is good enough to merge these patches
now:

https://patchwork.freedesktop.org/series/102665/#rev10

Thanks.
--
Ashutosh
Tvrtko Ursulin May 26, 2022, 8:39 a.m. UTC | #6
On 26/05/2022 09:12, Dixit, Ashutosh wrote:
> On Wed, 25 May 2022 01:21:06 -0700, Dixit, Ashutosh wrote:
>>
>> On Mon, 23 May 2022 01:57:51 -0700, Tvrtko Ursulin wrote:
>>>
>>> On 13/05/2022 02:36, Ashutosh Dixit wrote:
>>>> Some recent Intel dGfx platforms allow media IP to work at a different
>>>> frequency from the base GT. This patch series exposes sysfs controls for
>>>> this functionality in the new per-gt sysfs. Some enhancements and fixes to
>>>> previous per-gt functionality are also included to complete the new
>>>> functionality:
>>>> * Patches 1 and 2 implement basic sysfs controls for media freq
>>>> * Patch 3 extends previous pcode functions for multiple gt's
>>>> * Patch 4 inits pcode on different gt's
>>>> * Patch 5 adds a couple of pcode helpers
>>>> * Patch 6 uses the new pcode functions to retrieve media RP0/RPn freq
>>>> * Patch 7 fixes memory leaks in the previous per-gt sysfs implementation
>>>>     and some code refactoring
>>>
>>> Patches 1, 3 and 5 have been merged to drm-intel-next, and then branch
>>> cross-merged into drm-intel-gt-next.
>>>
>>> You can try re-sending the rest of the series now and see if that goes
>>> smoothly.
>>
>> I sent the patches out Mon but am struggling to get a satisfactory CI run
>> from what it looks like are CI issues (CI runs were fine on previous
>> versions). Will update after we have successful CI. Thanks.
> 
> Hi Tvrtko,
> 
> We now have CI results. They look good to me (except that there is a false
> positive). In case you think this is good enough to merge these patches
> now:
> 
> https://patchwork.freedesktop.org/series/102665/#rev10

Pushed, with no conflicts even! :)

Regards,

Tvrtko