Add F8 and VECTOR to amdgpu_ptl_fmt and PSP format mapping.
Update PTL format strings and GFX format enum to keep PSP/KFD in sync.

Signed-off-by: Perry Yuan <[email protected]>
Reviewed-by: Yifan Zhang <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 8 ++++++++
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | 2 ++
 drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 4 ++--
 include/uapi/linux/kfd_ioctl.h          | 4 +++-
 4 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index dfda694aefe4..d033b4227f3c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -58,6 +58,8 @@ static const char * const amdgpu_ptl_fmt_str[] = {
        [AMDGPU_PTL_FMT_BF16]    = "BF16",
        [AMDGPU_PTL_FMT_F32]     = "F32",
        [AMDGPU_PTL_FMT_F64]     = "F64",
+       [AMDGPU_PTL_FMT_F8]      = "F8",
+       [AMDGPU_PTL_FMT_VECTOR]  = "VECTOR",
        [AMDGPU_PTL_FMT_INVALID] = "INVALID",
 };
 
@@ -1232,6 +1234,12 @@ static int psp_ptl_fmt_verify(struct psp_context *psp, 
enum amdgpu_ptl_fmt fmt,
        case AMDGPU_PTL_FMT_F64:
                *ptl_fmt = GFX_FTYPE_F64;
                break;
+       case AMDGPU_PTL_FMT_F8:
+               *ptl_fmt = GFX_FTYPE_F8;
+               break;
+       case AMDGPU_PTL_FMT_VECTOR:
+               *ptl_fmt = GFX_FTYPE_VECTOR;
+               break;
        default:
                return -EINVAL;
        }
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h
index 1d4e53ddd38b..c6a896003596 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h
@@ -373,6 +373,8 @@ enum psp_ptl_format_type
        GFX_FTYPE_BF16        = 0x00000002,
        GFX_FTYPE_F32         = 0x00000003,
        GFX_FTYPE_F64         = 0x00000004,
+       GFX_FTYPE_F8          = 0x00000005,
+       GFX_FTYPE_VECTOR      = 0x00000006,
        GFX_FTYPE_INVALID     = 0xFFFFFFFF,
 };
 
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c 
b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
index e0782ed149e2..3e8ee34f8c54 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
@@ -2381,8 +2381,8 @@ static int gfx_v9_4_3_perf_monitor_ptl_init(struct 
amdgpu_device *adev, bool sta
                return -EOPNOTSUPP;
 
        if (!ptl->hw_supported) {
-               fmt1 = GFX_FTYPE_I8;
-               fmt2 = GFX_FTYPE_BF16;
+               fmt1 = GFX_FTYPE_VECTOR;
+               fmt2 = GFX_FTYPE_F8;
        } else {
                fmt1 = ptl->fmt1;
                fmt2 = ptl->fmt2;
diff --git a/include/uapi/linux/kfd_ioctl.h b/include/uapi/linux/kfd_ioctl.h
index d48c407e9ee5..905acff01700 100644
--- a/include/uapi/linux/kfd_ioctl.h
+++ b/include/uapi/linux/kfd_ioctl.h
@@ -1564,7 +1564,9 @@ enum amdgpu_ptl_fmt {
        AMDGPU_PTL_FMT_BF16 = 2,
        AMDGPU_PTL_FMT_F32  = 3,
        AMDGPU_PTL_FMT_F64  = 4,
-       AMDGPU_PTL_FMT_INVALID = 5,
+       AMDGPU_PTL_FMT_F8   = 5,
+       AMDGPU_PTL_FMT_VECTOR  = 6,
+       AMDGPU_PTL_FMT_INVALID = 7,
 };
 
 #define KFD_IOC_PROFILER_VERSION_NUM 1
-- 
2.34.1

Reply via email to