mbox series

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

Message ID cover.1652320806.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 12, 2022, 2:32 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: 20220426194111.5990-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.

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 12, 2022, 4:38 a.m. UTC | #1
On Wed, 11 May 2022 19:32:13 -0700, 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

In this v5 I have dropped the last two patches of the v4 series, these
ones:

[PATCH 7/8] drm/i915/gt: Expose per-gt RPS defaults in sysfs
[PATCH 8/8] drm/i915/gt: Expose default value for media_freq_factor in per-gt sysfs

Because these need more work based on the review comments. If this series
is merged I will submit these patches as a separate series, otherwise I
will re-add them to this series and resubmit (due to dependence between
this series and those patches).

Apart from this, I believe I have addressed all previous review comments on
the patches in this series.

Thanks for reviewing,
Ashutosh
Tvrtko Ursulin May 12, 2022, 7:59 a.m. UTC | #2
On 12/05/2022 05:38, Dixit, Ashutosh wrote:
> On Wed, 11 May 2022 19:32:13 -0700, 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
> 
> In this v5 I have dropped the last two patches of the v4 series, these
> ones:
> 
> [PATCH 7/8] drm/i915/gt: Expose per-gt RPS defaults in sysfs
> [PATCH 8/8] drm/i915/gt: Expose default value for media_freq_factor in per-gt sysfs
> 
> Because these need more work based on the review comments. If this series
> is merged I will submit these patches as a separate series, otherwise I
> will re-add them to this series and resubmit (due to dependence between
> this series and those patches).
> 
> Apart from this, I believe I have addressed all previous review comments on
> the patches in this series.
> 
> Thanks for reviewing,

Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

At some point we should starting documenting our sysfs in 
Documentation/ABI. For instance the freq ratio this patch adds really 
does need some user facing docs to know how to use it. Would you sign up 
to document the bits this series adds as follow up?

Regards,

Tvrtko
Dixit, Ashutosh May 12, 2022, 6:49 p.m. UTC | #3
On Thu, 12 May 2022 00:59:11 -0700, Tvrtko Ursulin wrote:

Hi Tvrtko,

> On 12/05/2022 05:38, Dixit, Ashutosh wrote:
> > On Wed, 11 May 2022 19:32:13 -0700, 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
> >
> > In this v5 I have dropped the last two patches of the v4 series, these
> > ones:
> >
> > [PATCH 7/8] drm/i915/gt: Expose per-gt RPS defaults in sysfs
> > [PATCH 8/8] drm/i915/gt: Expose default value for media_freq_factor in per-gt sysfs
> >
> > Because these need more work based on the review comments. If this series
> > is merged I will submit these patches as a separate series, otherwise I
> > will re-add them to this series and resubmit (due to dependence between
> > this series and those patches).
> >
> > Apart from this, I believe I have addressed all previous review comments on
> > the patches in this series.
> >
> > Thanks for reviewing,
>
> Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>
> At some point we should starting documenting our sysfs in
> Documentation/ABI. For instance the freq ratio this patch adds really
> does need some user facing docs to know how to use it. Would you sign up
> to document the bits this series adds as follow up?

Yes, sure. Looks like none of the previous i915 sysfs (even the per-device
one) is in Documentation/ABI so we'll need to figure out how we are doing
to organize the files, e.g. just one big
Documentation/ABI/testing/sysfs-driver-intel-i915 file or multiple files
organized somehow. So let's do this as follow up.

Thanks.
--
Ashutosh