Skip to content

Commit d88c8be

Browse files
Ellen Panalexdeucher
authored andcommitted
drm/amdgpu: Updated naming of SRIOV critical region offsets/sizes with _V1 suffix
- This change prepares the later patches to intro _v2 suffix to SRIOV critical regions Signed-off-by: Ellen Pan <yunru.pan@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent a6b5a7a commit d88c8be

2 files changed

Lines changed: 46 additions & 24 deletions

File tree

drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -686,7 +686,7 @@ void amdgpu_virt_init_data_exchange(struct amdgpu_device *adev)
686686
/* got through this logic in early init stage to get necessary flags, e.g. rlcg_acc related*/
687687
adev->virt.fw_reserve.p_pf2vf =
688688
(struct amd_sriov_msg_pf2vf_info_header *)
689-
(adev->bios + (AMD_SRIOV_MSG_PF2VF_OFFSET_KB << 10));
689+
(adev->bios + (AMD_SRIOV_MSG_PF2VF_OFFSET_KB_V1 << 10));
690690

691691
amdgpu_virt_read_pf2vf_data(adev);
692692
}
@@ -703,21 +703,21 @@ void amdgpu_virt_exchange_data(struct amdgpu_device *adev)
703703
if (adev->mman.fw_vram_usage_va) {
704704
adev->virt.fw_reserve.p_pf2vf =
705705
(struct amd_sriov_msg_pf2vf_info_header *)
706-
(adev->mman.fw_vram_usage_va + (AMD_SRIOV_MSG_PF2VF_OFFSET_KB << 10));
706+
(adev->mman.fw_vram_usage_va + (AMD_SRIOV_MSG_PF2VF_OFFSET_KB_V1 << 10));
707707
adev->virt.fw_reserve.p_vf2pf =
708708
(struct amd_sriov_msg_vf2pf_info_header *)
709-
(adev->mman.fw_vram_usage_va + (AMD_SRIOV_MSG_VF2PF_OFFSET_KB << 10));
709+
(adev->mman.fw_vram_usage_va + (AMD_SRIOV_MSG_VF2PF_OFFSET_KB_V1 << 10));
710710
adev->virt.fw_reserve.ras_telemetry =
711-
(adev->mman.fw_vram_usage_va + (AMD_SRIOV_MSG_RAS_TELEMETRY_OFFSET_KB << 10));
711+
(adev->mman.fw_vram_usage_va + (AMD_SRIOV_MSG_RAS_TELEMETRY_OFFSET_KB_V1 << 10));
712712
} else if (adev->mman.drv_vram_usage_va) {
713713
adev->virt.fw_reserve.p_pf2vf =
714714
(struct amd_sriov_msg_pf2vf_info_header *)
715-
(adev->mman.drv_vram_usage_va + (AMD_SRIOV_MSG_PF2VF_OFFSET_KB << 10));
715+
(adev->mman.drv_vram_usage_va + (AMD_SRIOV_MSG_PF2VF_OFFSET_KB_V1 << 10));
716716
adev->virt.fw_reserve.p_vf2pf =
717717
(struct amd_sriov_msg_vf2pf_info_header *)
718-
(adev->mman.drv_vram_usage_va + (AMD_SRIOV_MSG_VF2PF_OFFSET_KB << 10));
718+
(adev->mman.drv_vram_usage_va + (AMD_SRIOV_MSG_VF2PF_OFFSET_KB_V1 << 10));
719719
adev->virt.fw_reserve.ras_telemetry =
720-
(adev->mman.drv_vram_usage_va + (AMD_SRIOV_MSG_RAS_TELEMETRY_OFFSET_KB << 10));
720+
(adev->mman.drv_vram_usage_va + (AMD_SRIOV_MSG_RAS_TELEMETRY_OFFSET_KB_V1 << 10));
721721
}
722722

723723
amdgpu_virt_read_pf2vf_data(adev);
@@ -1304,7 +1304,7 @@ static int amdgpu_virt_cache_host_error_counts(struct amdgpu_device *adev,
13041304
checksum = host_telemetry->header.checksum;
13051305
used_size = host_telemetry->header.used_size;
13061306

1307-
if (used_size > (AMD_SRIOV_RAS_TELEMETRY_SIZE_KB << 10))
1307+
if (used_size > (AMD_SRIOV_MSG_RAS_TELEMETRY_SIZE_KB_V1 << 10))
13081308
return 0;
13091309

13101310
tmp = kmemdup(&host_telemetry->body.error_count, used_size, GFP_KERNEL);
@@ -1383,7 +1383,7 @@ amdgpu_virt_write_cpers_to_ring(struct amdgpu_device *adev,
13831383
checksum = host_telemetry->header.checksum;
13841384
used_size = host_telemetry->header.used_size;
13851385

1386-
if (used_size > (AMD_SRIOV_RAS_TELEMETRY_SIZE_KB << 10))
1386+
if (used_size > (AMD_SRIOV_MSG_RAS_TELEMETRY_SIZE_KB_V1 << 10))
13871387
return -EINVAL;
13881388

13891389
cper_dump = kmemdup(&host_telemetry->body.cper_dump, used_size, GFP_KERNEL);
@@ -1515,7 +1515,7 @@ static int amdgpu_virt_cache_chk_criti_hit(struct amdgpu_device *adev,
15151515
checksum = host_telemetry->header.checksum;
15161516
used_size = host_telemetry->header.used_size;
15171517

1518-
if (used_size > (AMD_SRIOV_RAS_TELEMETRY_SIZE_KB << 10))
1518+
if (used_size > (AMD_SRIOV_MSG_RAS_TELEMETRY_SIZE_KB_V1 << 10))
15191519
return 0;
15201520

15211521
tmp = kmemdup(&host_telemetry->body.chk_criti, used_size, GFP_KERNEL);

drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h

Lines changed: 36 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,26 +23,48 @@
2323
#ifndef AMDGV_SRIOV_MSG__H_
2424
#define AMDGV_SRIOV_MSG__H_
2525

26-
/* unit in kilobytes */
27-
#define AMD_SRIOV_MSG_VBIOS_OFFSET 0
28-
#define AMD_SRIOV_MSG_VBIOS_SIZE_KB 64
29-
#define AMD_SRIOV_MSG_DATAEXCHANGE_OFFSET_KB AMD_SRIOV_MSG_VBIOS_SIZE_KB
30-
#define AMD_SRIOV_MSG_DATAEXCHANGE_SIZE_KB 4
31-
#define AMD_SRIOV_MSG_TMR_OFFSET_KB 2048
32-
#define AMD_SRIOV_MSG_BAD_PAGE_SIZE_KB 2
33-
#define AMD_SRIOV_RAS_TELEMETRY_SIZE_KB 64
26+
#define AMD_SRIOV_MSG_SIZE_KB 1
27+
3428
/*
35-
* layout
29+
* layout v1
3630
* 0 64KB 65KB 66KB 68KB 132KB
3731
* | VBIOS | PF2VF | VF2PF | Bad Page | RAS Telemetry Region | ...
3832
* | 64KB | 1KB | 1KB | 2KB | 64KB | ...
3933
*/
4034

41-
#define AMD_SRIOV_MSG_SIZE_KB 1
42-
#define AMD_SRIOV_MSG_PF2VF_OFFSET_KB AMD_SRIOV_MSG_DATAEXCHANGE_OFFSET_KB
43-
#define AMD_SRIOV_MSG_VF2PF_OFFSET_KB (AMD_SRIOV_MSG_PF2VF_OFFSET_KB + AMD_SRIOV_MSG_SIZE_KB)
44-
#define AMD_SRIOV_MSG_BAD_PAGE_OFFSET_KB (AMD_SRIOV_MSG_VF2PF_OFFSET_KB + AMD_SRIOV_MSG_SIZE_KB)
45-
#define AMD_SRIOV_MSG_RAS_TELEMETRY_OFFSET_KB (AMD_SRIOV_MSG_BAD_PAGE_OFFSET_KB + AMD_SRIOV_MSG_BAD_PAGE_SIZE_KB)
35+
/*
36+
* layout v2 (offsets are dynamically allocated and the offsets below are examples)
37+
* 0 1KB 64KB 65KB 66KB 68KB 132KB
38+
* | INITD_H | VBIOS | PF2VF | VF2PF | Bad Page | RAS Telemetry Region | ...
39+
* | 1KB | 64KB | 1KB | 1KB | 2KB | 64KB | ...
40+
*
41+
* Note: PF2VF + VF2PF + Bad Page = DataExchange region (allocated contiguously)
42+
*/
43+
44+
/* v1 layout sizes */
45+
#define AMD_SRIOV_MSG_VBIOS_SIZE_KB_V1 64
46+
#define AMD_SRIOV_MSG_PF2VF_SIZE_KB_V1 1
47+
#define AMD_SRIOV_MSG_VF2PF_SIZE_KB_V1 1
48+
#define AMD_SRIOV_MSG_BAD_PAGE_SIZE_KB_V1 2
49+
#define AMD_SRIOV_MSG_RAS_TELEMETRY_SIZE_KB_V1 64
50+
#define AMD_SRIOV_MSG_DATAEXCHANGE_SIZE_KB_V1 \
51+
(AMD_SRIOV_MSG_PF2VF_SIZE_KB_V1 + AMD_SRIOV_MSG_VF2PF_SIZE_KB_V1 + \
52+
AMD_SRIOV_MSG_BAD_PAGE_SIZE_KB_V1)
53+
54+
/* v1 offsets */
55+
#define AMD_SRIOV_MSG_VBIOS_OFFSET_V1 0
56+
#define AMD_SRIOV_MSG_DATAEXCHANGE_OFFSET_KB_V1 AMD_SRIOV_MSG_VBIOS_SIZE_KB_V1
57+
#define AMD_SRIOV_MSG_TMR_OFFSET_KB 2048
58+
#define AMD_SRIOV_MSG_PF2VF_OFFSET_KB_V1 AMD_SRIOV_MSG_DATAEXCHANGE_OFFSET_KB_V1
59+
#define AMD_SRIOV_MSG_VF2PF_OFFSET_KB_V1 \
60+
(AMD_SRIOV_MSG_PF2VF_OFFSET_KB_V1 + AMD_SRIOV_MSG_SIZE_KB)
61+
#define AMD_SRIOV_MSG_BAD_PAGE_OFFSET_KB_V1 \
62+
(AMD_SRIOV_MSG_VF2PF_OFFSET_KB_V1 + AMD_SRIOV_MSG_SIZE_KB)
63+
#define AMD_SRIOV_MSG_RAS_TELEMETRY_OFFSET_KB_V1 \
64+
(AMD_SRIOV_MSG_BAD_PAGE_OFFSET_KB_V1 + AMD_SRIOV_MSG_BAD_PAGE_SIZE_KB_V1)
65+
#define AMD_SRIOV_MSG_INIT_DATA_TOT_SIZE_KB_V1 \
66+
(AMD_SRIOV_MSG_VBIOS_SIZE_KB_V1 + AMD_SRIOV_MSG_DATAEXCHANGE_SIZE_KB_V1 + \
67+
AMD_SRIOV_MSG_RAS_TELEMETRY_SIZE_KB_V1)
4668

4769
/*
4870
* PF2VF history log:

0 commit comments

Comments
 (0)