On 10/28/25 15:57, Lazar, Lijo wrote:
> 
> 
> On 10/28/2025 7:43 PM, Asad Kamal wrote:
>> Remove amdgpu_asic_flush_hdp & amdgpu_asic_invalidate_hdp functions and
>> directly use the mapped ones
>>
>> Signed-off-by: Asad Kamal <[email protected]>
> 
> Two patches (invalidate/flush) would have been ideal.
> 
> Reviewed-by: Lijo Lazar <[email protected]>

Reviewed-by: Christian König <[email protected]>

> 
> Thanks,
> Lijo
> 
>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu.h                     | 2 --
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c              | 4 ++--
>>   drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c                  | 2 +-
>>   drivers/gpu/drm/amd/pm/powerplay/smumgr/smu10_smumgr.c  | 4 ++--
>>   drivers/gpu/drm/amd/pm/powerplay/smumgr/vega10_smumgr.c | 4 ++--
>>   drivers/gpu/drm/amd/pm/powerplay/smumgr/vega12_smumgr.c | 4 ++--
>>   drivers/gpu/drm/amd/pm/powerplay/smumgr/vega20_smumgr.c | 8 ++++----
>>   drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c         | 2 +-
>>   drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_12_ppt.c   | 2 +-
>>   drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c    | 6 +++---
>>   drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c                  | 4 ++--
>>   11 files changed, 20 insertions(+), 22 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h 
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> index d1137d8beca7..bcfed46eedaf 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> @@ -1539,8 +1539,6 @@ int emu_soc_asic_init(struct amdgpu_device *adev);
>>   #define amdgpu_asic_read_bios_from_rom(adev, b, l) 
>> (adev)->asic_funcs->read_bios_from_rom((adev), (b), (l))
>>   #define amdgpu_asic_read_register(adev, se, sh, offset, 
>> v)((adev)->asic_funcs->read_register((adev), (se), (sh), (offset), (v)))
>>   #define amdgpu_asic_get_config_memsize(adev) 
>> (adev)->asic_funcs->get_config_memsize((adev))
>> -#define amdgpu_asic_flush_hdp(adev, r) amdgpu_hdp_flush(adev, r)
>> -#define amdgpu_asic_invalidate_hdp(adev, r) amdgpu_hdp_invalidate(adev, r)
>>   #define amdgpu_asic_need_full_reset(adev) 
>> (adev)->asic_funcs->need_full_reset((adev))
>>   #define amdgpu_asic_init_doorbell_index(adev) 
>> (adev)->asic_funcs->init_doorbell_index((adev))
>>   #define amdgpu_asic_get_pcie_usage(adev, cnt0, cnt1) 
>> ((adev)->asic_funcs->get_pcie_usage((adev), (cnt0), (cnt1)))
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> index b92234d63562..962380af4ee9 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> @@ -7327,7 +7327,7 @@ void amdgpu_device_flush_hdp(struct amdgpu_device 
>> *adev,
>>               return;
>>       }
>>   -    amdgpu_asic_flush_hdp(adev, ring);
>> +    amdgpu_hdp_flush(adev, ring);
>>   }
>>     void amdgpu_device_invalidate_hdp(struct amdgpu_device *adev,
>> @@ -7340,7 +7340,7 @@ void amdgpu_device_invalidate_hdp(struct amdgpu_device 
>> *adev,
>>       if (adev->gmc.xgmi.connected_to_cpu)
>>           return;
>>   -    amdgpu_asic_invalidate_hdp(adev, ring);
>> +    amdgpu_hdp_invalidate(adev, ring);
>>   }
>>     int amdgpu_in_reset(struct amdgpu_device *adev)
>> diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c 
>> b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
>> index 3bd44c24f692..de7a1e168a76 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
>> @@ -342,7 +342,7 @@ static void sdma_v5_2_ring_emit_hdp_flush(struct 
>> amdgpu_ring *ring)
>>       const struct nbio_hdp_flush_reg *nbio_hf_reg = 
>> adev->nbio.hdp_flush_reg;
>>         if (ring->me > 1) {
>> -        amdgpu_asic_flush_hdp(adev, ring);
>> +        amdgpu_hdp_flush(adev, ring);
>>       } else {
>>           ref_and_mask = nbio_hf_reg->ref_and_mask_sdma0 << ring->me;
>>   diff --git a/drivers/gpu/drm/amd/pm/powerplay/smumgr/smu10_smumgr.c 
>> b/drivers/gpu/drm/amd/pm/powerplay/smumgr/smu10_smumgr.c
>> index ac9ec8257f82..38e19e5cad4d 100644
>> --- a/drivers/gpu/drm/amd/pm/powerplay/smumgr/smu10_smumgr.c
>> +++ b/drivers/gpu/drm/amd/pm/powerplay/smumgr/smu10_smumgr.c
>> @@ -139,7 +139,7 @@ static int smu10_copy_table_from_smc(struct pp_hwmgr 
>> *hwmgr,
>>               priv->smu_tables.entry[table_id].table_id,
>>               NULL);
>>   -    amdgpu_asic_invalidate_hdp(adev, NULL);
>> +    amdgpu_hdp_invalidate(adev, NULL);
>>         memcpy(table, (uint8_t *)priv->smu_tables.entry[table_id].table,
>>               priv->smu_tables.entry[table_id].size);
>> @@ -164,7 +164,7 @@ static int smu10_copy_table_to_smc(struct pp_hwmgr 
>> *hwmgr,
>>       memcpy(priv->smu_tables.entry[table_id].table, table,
>>               priv->smu_tables.entry[table_id].size);
>>   -    amdgpu_asic_flush_hdp(adev, NULL);
>> +    amdgpu_hdp_flush(adev, NULL);
>>         smum_send_msg_to_smc_with_parameter(hwmgr,
>>               PPSMC_MSG_SetDriverDramAddrHigh,
>> diff --git a/drivers/gpu/drm/amd/pm/powerplay/smumgr/vega10_smumgr.c 
>> b/drivers/gpu/drm/amd/pm/powerplay/smumgr/vega10_smumgr.c
>> index f9c0f117725d..0bf1bf5528c2 100644
>> --- a/drivers/gpu/drm/amd/pm/powerplay/smumgr/vega10_smumgr.c
>> +++ b/drivers/gpu/drm/amd/pm/powerplay/smumgr/vega10_smumgr.c
>> @@ -60,7 +60,7 @@ static int vega10_copy_table_from_smc(struct pp_hwmgr 
>> *hwmgr,
>>               priv->smu_tables.entry[table_id].table_id,
>>               NULL);
>>   -    amdgpu_asic_invalidate_hdp(adev, NULL);
>> +    amdgpu_hdp_invalidate(adev, NULL);
>>         memcpy(table, priv->smu_tables.entry[table_id].table,
>>               priv->smu_tables.entry[table_id].size);
>> @@ -90,7 +90,7 @@ static int vega10_copy_table_to_smc(struct pp_hwmgr *hwmgr,
>>       memcpy(priv->smu_tables.entry[table_id].table, table,
>>               priv->smu_tables.entry[table_id].size);
>>   -    amdgpu_asic_flush_hdp(adev, NULL);
>> +    amdgpu_hdp_flush(adev, NULL);
>>         smum_send_msg_to_smc_with_parameter(hwmgr,
>>               PPSMC_MSG_SetDriverDramAddrHigh,
>> diff --git a/drivers/gpu/drm/amd/pm/powerplay/smumgr/vega12_smumgr.c 
>> b/drivers/gpu/drm/amd/pm/powerplay/smumgr/vega12_smumgr.c
>> index d3ff6a831ed5..e2ba593faa5d 100644
>> --- a/drivers/gpu/drm/amd/pm/powerplay/smumgr/vega12_smumgr.c
>> +++ b/drivers/gpu/drm/amd/pm/powerplay/smumgr/vega12_smumgr.c
>> @@ -68,7 +68,7 @@ static int vega12_copy_table_from_smc(struct pp_hwmgr 
>> *hwmgr,
>>               "[CopyTableFromSMC] Attempt to Transfer Table From SMU 
>> Failed!",
>>               return -EINVAL);
>>   -    amdgpu_asic_invalidate_hdp(adev, NULL);
>> +    amdgpu_hdp_invalidate(adev, NULL);
>>         memcpy(table, priv->smu_tables.entry[table_id].table,
>>               priv->smu_tables.entry[table_id].size);
>> @@ -98,7 +98,7 @@ static int vega12_copy_table_to_smc(struct pp_hwmgr *hwmgr,
>>       memcpy(priv->smu_tables.entry[table_id].table, table,
>>               priv->smu_tables.entry[table_id].size);
>>   -    amdgpu_asic_flush_hdp(adev, NULL);
>> +    amdgpu_hdp_flush(adev, NULL);
>>         PP_ASSERT_WITH_CODE(smum_send_msg_to_smc_with_parameter(hwmgr,
>>               PPSMC_MSG_SetDriverDramAddrHigh,
>> diff --git a/drivers/gpu/drm/amd/pm/powerplay/smumgr/vega20_smumgr.c 
>> b/drivers/gpu/drm/amd/pm/powerplay/smumgr/vega20_smumgr.c
>> index a5c95b180672..e3515156d26f 100644
>> --- a/drivers/gpu/drm/amd/pm/powerplay/smumgr/vega20_smumgr.c
>> +++ b/drivers/gpu/drm/amd/pm/powerplay/smumgr/vega20_smumgr.c
>> @@ -192,7 +192,7 @@ static int vega20_copy_table_from_smc(struct pp_hwmgr 
>> *hwmgr,
>>               "[CopyTableFromSMC] Attempt to Transfer Table From SMU 
>> Failed!",
>>               return ret);
>>   -    amdgpu_asic_invalidate_hdp(adev, NULL);
>> +    amdgpu_hdp_invalidate(adev, NULL);
>>         memcpy(table, priv->smu_tables.entry[table_id].table,
>>               priv->smu_tables.entry[table_id].size);
>> @@ -223,7 +223,7 @@ static int vega20_copy_table_to_smc(struct pp_hwmgr 
>> *hwmgr,
>>       memcpy(priv->smu_tables.entry[table_id].table, table,
>>               priv->smu_tables.entry[table_id].size);
>>   -    amdgpu_asic_flush_hdp(adev, NULL);
>> +    amdgpu_hdp_flush(adev, NULL);
>>         PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr,
>>               PPSMC_MSG_SetDriverDramAddrHigh,
>> @@ -256,7 +256,7 @@ int vega20_set_activity_monitor_coeff(struct pp_hwmgr 
>> *hwmgr,
>>       memcpy(priv->smu_tables.entry[TABLE_ACTIVITY_MONITOR_COEFF].table, 
>> table,
>>               priv->smu_tables.entry[TABLE_ACTIVITY_MONITOR_COEFF].size);
>>   -    amdgpu_asic_flush_hdp(adev, NULL);
>> +    amdgpu_hdp_flush(adev, NULL);
>>         PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr,
>>               PPSMC_MSG_SetDriverDramAddrHigh,
>> @@ -306,7 +306,7 @@ int vega20_get_activity_monitor_coeff(struct pp_hwmgr 
>> *hwmgr,
>>               "[GetActivityMonitor] Attempt to Transfer Table From SMU 
>> Failed!",
>>               return ret);
>>   -    amdgpu_asic_invalidate_hdp(adev, NULL);
>> +    amdgpu_hdp_invalidate(adev, NULL);
>>         memcpy(table, 
>> priv->smu_tables.entry[TABLE_ACTIVITY_MONITOR_COEFF].table,
>>               priv->smu_tables.entry[TABLE_ACTIVITY_MONITOR_COEFF].size);
>> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c 
>> b/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c
>> index bbf09aec9152..7c9f77124ab2 100644
>> --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c
>> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c
>> @@ -2889,7 +2889,7 @@ static int 
>> navi10_set_dummy_pstates_table_location(struct smu_context *smu)
>>           dummy_table += 0x1000;
>>       }
>>   -    amdgpu_asic_flush_hdp(smu->adev, NULL);
>> +    amdgpu_hdp_flush(smu->adev, NULL);
>>         ret = smu_cmn_send_smc_msg_with_param(smu,
>>                             SMU_MSG_SET_DRIVER_DUMMY_TABLE_DRAM_ADDR_HIGH,
>> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_12_ppt.c 
>> b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_12_ppt.c
>> index cb3fea9e8cf3..a0c844bf852c 100644
>> --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_12_ppt.c
>> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_12_ppt.c
>> @@ -449,7 +449,7 @@ static int smu_v13_0_12_get_system_metrics_table(struct 
>> smu_context *smu)
>>           return ret;
>>       }
>>   -    amdgpu_asic_invalidate_hdp(smu->adev, NULL);
>> +    amdgpu_hdp_invalidate(smu->adev, NULL);
>>       smu_table_cache_update_time(sys_table, jiffies);
>>       memcpy(sys_table->cache.buffer, table->cpu_addr,
>>              smu_v13_0_12_get_system_metrics_size());
>> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c 
>> b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c
>> index 0a7d2cea7dc6..e1f9aa5d6c20 100644
>> --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c
>> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c
>> @@ -766,7 +766,7 @@ int smu_v13_0_6_get_metrics_table(struct smu_context 
>> *smu, void *metrics_table,
>>               return ret;
>>           }
>>   -        amdgpu_asic_invalidate_hdp(smu->adev, NULL);
>> +        amdgpu_hdp_invalidate(smu->adev, NULL);
>>           memcpy(smu_table->metrics_table, table->cpu_addr, table_size);
>>             smu_table->metrics_time = jiffies;
>> @@ -845,7 +845,7 @@ int smu_v13_0_6_get_static_metrics_table(struct 
>> smu_context *smu)
>>           return ret;
>>       }
>>   -    amdgpu_asic_invalidate_hdp(smu->adev, NULL);
>> +    amdgpu_hdp_invalidate(smu->adev, NULL);
>>       memcpy(smu_table->metrics_table, table->cpu_addr, table_size);
>>         return 0;
>> @@ -2385,7 +2385,7 @@ static int smu_v13_0_6_request_i2c_xfer(struct 
>> smu_context *smu,
>>         memcpy(table->cpu_addr, table_data, table_size);
>>       /* Flush hdp cache */
>> -    amdgpu_asic_flush_hdp(adev, NULL);
>> +    amdgpu_hdp_flush(adev, NULL);
>>       ret = smu_cmn_send_smc_msg(smu, SMU_MSG_RequestI2cTransaction,
>>                         NULL);
>>   diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c 
>> b/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c
>> index a8961a8f5c42..3b98065dac1d 100644
>> --- a/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c
>> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c
>> @@ -980,7 +980,7 @@ int smu_cmn_update_table(struct smu_context *smu,
>>            * Flush hdp cache: to guard the content seen by
>>            * GPU is consitent with CPU.
>>            */
>> -        amdgpu_asic_flush_hdp(adev, NULL);
>> +        amdgpu_hdp_flush(adev, NULL);
>>       }
>>         ret = smu_cmn_send_smc_msg_with_param(smu, drv2smu ?
>> @@ -992,7 +992,7 @@ int smu_cmn_update_table(struct smu_context *smu,
>>           return ret;
>>         if (!drv2smu) {
>> -        amdgpu_asic_invalidate_hdp(adev, NULL);
>> +        amdgpu_hdp_invalidate(adev, NULL);
>>           memcpy(table_data, table->cpu_addr, table_size);
>>       }
>>   
> 

Reply via email to