drm/amdgpu: Add memory partitions to gmc
authorLijo Lazar <lijo.lazar@amd.com>
Tue, 14 Feb 2023 09:07:53 +0000 (14:37 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 9 Jun 2023 13:57:01 +0000 (09:57 -0400)
Some ASICs have the device memory divided into multiple partitions. The
parititions could be denoted by a numa node or by a range of pages.

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Le Ma <le.ma@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h

index 2bd3b96..43357d6 100644 (file)
@@ -178,6 +178,21 @@ struct amdgpu_xgmi {
        struct amdgpu_xgmi_ras *ras;
 };
 
+struct amdgpu_mem_partition_info {
+       union {
+               struct {
+                       uint32_t fpfn;
+                       uint32_t lpfn;
+               } range;
+               struct {
+                       int node;
+               } numa;
+       };
+       uint64_t size;
+};
+
+#define INVALID_PFN    -1
+
 struct amdgpu_gmc {
        /* FB's physical address in MMIO space (for CPU to
         * map FB). This is different compared to the agp/
@@ -266,6 +281,8 @@ struct amdgpu_gmc {
        bool tmz_enabled;
        bool is_app_apu;
 
+       struct amdgpu_mem_partition_info *mem_partitions;
+       uint8_t num_mem_partitions;
        const struct amdgpu_gmc_funcs   *gmc_funcs;
 
        struct amdgpu_xgmi xgmi;