diff options
| author | Lijo Lazar <[email protected]> | 2023-03-10 10:08:19 +0000 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2023-06-09 13:57:53 +0000 |
| commit | ba08e9cb6ff87acdb2f28f013fe695a252533f0e (patch) | |
| tree | a98df5b7af57c250b395fa8866dc4554884ffd6e /drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | |
| parent | drm/amdgpu: Return error on invalid compute mode (diff) | |
| download | kernel-ba08e9cb6ff87acdb2f28f013fe695a252533f0e.tar.gz kernel-ba08e9cb6ff87acdb2f28f013fe695a252533f0e.zip | |
drm/amdgpu: Add PSP spatial parition interface
Add PSP ring command interface for spatial partitioning.
Signed-off-by: Lijo Lazar <[email protected]>
Reviewed-by: Hawking Zhang <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c index ea47012795e7..d62746b596f5 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c @@ -991,6 +991,27 @@ static int psp_rl_load(struct amdgpu_device *adev) return ret; } +int psp_spatial_partition(struct psp_context *psp, int mode) +{ + struct psp_gfx_cmd_resp *cmd; + int ret; + + if (amdgpu_sriov_vf(psp->adev)) + return 0; + + cmd = acquire_psp_cmd_buf(psp); + + cmd->cmd_id = GFX_CMD_ID_SRIOV_SPATIAL_PART; + cmd->cmd.cmd_spatial_part.mode = mode; + + dev_info(psp->adev->dev, "Requesting %d paritions through PSP", mode); + ret = psp_cmd_submit_buf(psp, NULL, cmd, psp->fence_buf_mc_addr); + + release_psp_cmd_buf(psp); + + return ret; +} + static int psp_asd_initialize(struct psp_context *psp) { int ret; |
