Re: [PATCH 0/7] Add support for dynamic NPS switch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



<Ping>

Thanks,
Lijo

On 9/24/2024 11:26 AM, Lijo Lazar wrote:
> This series adds supports for dynamic NPS switch on GC v9.4.3/9.4.4 SOC
> variants. 
> 
> In order to do dynamic NPS switch a sysfs interface is provided to request a new
> NPS mode. If the device is part of a hive, all hive devices are required to be
> in the same NPS mode. Hence a hive device request is saved in a hive variable.
> For individual device, it's saved in a gmc block variable.
> 
> In order to do a NPS mode switch, the workflow is -
> 
> 1) User places a requests through sysfs node.
> 2) User unloads the driver
> 3) During unload, driver checks for any pending NPS switch request. If any
> request is pending, it places the request to PSP FW. 
> 4) For a hive, request is placed in one-go for all devices in the hive. If
> one of the requests fails, a request is placed again to revert to current NPS
> mode on the successful devices.
> 5) User reloads the driver.
> 6) On reload, driver checks if NPS switch is pending and initiates a mode-1
> reset.
> 7) During resume after a reset, NPS ranges are read again from discovery table.
> 8) Driver detects the new NPS mode and makes a compatible compute partition mode
> switch if required.
> 
> Lijo Lazar (7):
>   drm/amdgpu: Add option to refresh NPS data
>   drm/amdgpu: Add PSP interface for NPS switch
>   drm/amdgpu: Add gmc interface to request NPS mode
>   drm/amdgpu: Add sysfs interfaces for NPS mode
>   drm/amdgpu: Place NPS mode request on unload
>   drm/amdgpu: Check gmc requirement for reset on init
>   drm/amdgpu: Add NPS switch support for GC 9.4.3
> 
>  drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c |  68 +++++--
>  drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.h |   2 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c       |   1 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c       | 190 ++++++++++++++++--
>  drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h       |  19 ++
>  drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.h      |   1 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c       |  25 +++
>  drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h       |   1 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c      |  39 ++++
>  drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.h      |   5 +
>  drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c         |  44 ++++
>  drivers/gpu/drm/amd/amdgpu/nbio_v7_9.c        |  12 ++
>  drivers/gpu/drm/amd/amdgpu/psp_gfx_if.h       |  14 +-
>  drivers/gpu/drm/amd/amdgpu/soc15.c            |   2 +
>  14 files changed, 387 insertions(+), 36 deletions(-)
> 



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux