drm/amd/powerplay: use the table size member in the structure instead of getting...
authorHuang Rui <ray.huang@amd.com>
Sun, 31 Mar 2019 04:49:11 +0000 (12:49 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 21 Jun 2019 23:59:26 +0000 (18:59 -0500)
This patch uses the table size member in the structure instead of getting
directly, because the table is different in each asic.

Signed-off-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Kevin Wang <kevin1.wang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/smu_v11_0.c

index 87ec1b147c66e1ee57557f522bac1dd7affb2297..017cf782f3367b3a64af1789ae56482811116af0 100644 (file)
@@ -675,11 +675,12 @@ static int smu_v11_0_parse_pptable(struct smu_context *smu)
        int ret;
 
        struct smu_table_context *table_context = &smu->smu_table;
+       struct smu_table *table = &table_context->tables[SMU_TABLE_PPTABLE];
 
        if (table_context->driver_pptable)
                return -EINVAL;
 
-       table_context->driver_pptable = kzalloc(sizeof(PPTable_t), GFP_KERNEL);
+       table_context->driver_pptable = kzalloc(table->size, GFP_KERNEL);
 
        if (!table_context->driver_pptable)
                return -ENOMEM;
@@ -1649,6 +1650,7 @@ static int smu_v11_0_set_od8_default_settings(struct smu_context *smu,
                                              bool initialize)
 {
        struct smu_table_context *table_context = &smu->smu_table;
+       struct smu_table *table = &table_context->tables[SMU_TABLE_OVERDRIVE];
        int ret;
 
        /**
@@ -1662,7 +1664,7 @@ static int smu_v11_0_set_od8_default_settings(struct smu_context *smu,
                if (table_context->overdrive_table)
                        return -EINVAL;
 
-               table_context->overdrive_table = kzalloc(sizeof(OverDriveTable_t), GFP_KERNEL);
+               table_context->overdrive_table = kzalloc(table->size, GFP_KERNEL);
 
                if (!table_context->overdrive_table)
                        return -ENOMEM;