[PATCH 1/2] drm/amd/powerplay: optimization function of smu_update_table

Huang, Ray Ray.Huang at amd.com
Tue Apr 9 12:09:53 UTC 2019


> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf
> Of Wang, Kevin(Yang)
> Sent: Monday, April 08, 2019 4:43 PM
> To: amd-gfx at lists.freedesktop.org
> Cc: Huang, Ray <Ray.Huang at amd.com>; Feng, Kenneth
> <Kenneth.Feng at amd.com>; Wang, Kevin(Yang) <Kevin1.Wang at amd.com>
> Subject: [PATCH 1/2] drm/amd/powerplay: optimization function of
> smu_update_table
> 
> in fact, the firmware need 2 parameter: 1.table_id, 2.XferArg so change the
> function interface to match the firmware code
> 
> Signed-off-by: Kevin Wang <kevin1.wang at amd.com>


Series are Reviewed-by: Huang Rui <ray.huang at amd.com>

> ---
>  drivers/gpu/drm/amd/powerplay/amdgpu_smu.c     | 7 +++++--
>  drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h | 5 ++++-
>  2 files changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
> b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
> index 7e8c74da6a74..c058c784180e 100644
> --- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
> +++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
> @@ -97,16 +97,19 @@ int smu_common_read_sensor(struct smu_context
> *smu, enum amd_pp_sensors sensor,
>  	return ret;
>  }
> 
> -int smu_update_table(struct smu_context *smu, uint32_t table_id,
> +int smu_update_table_with_arg(struct smu_context *smu, uint16_t
> +table_id, uint16_t exarg,
>  		     void *table_data, bool drv2smu)
>  {
>  	struct smu_table_context *smu_table = &smu->smu_table;
>  	struct smu_table *table = NULL;
>  	int ret = 0;
> +	uint32_t table_index;
> 
>  	if (!table_data || table_id >= smu_table->table_count)
>  		return -EINVAL;
> 
> +	table_index = (exarg << 16) | table_id;
> +
>  	table = &smu_table->tables[table_id];
> 
>  	if (drv2smu)
> @@ -123,7 +126,7 @@ int smu_update_table(struct smu_context *smu,
> uint32_t table_id,
>  	ret = smu_send_smc_msg_with_param(smu, drv2smu ?
> 
> SMU_MSG_TransferTableDram2Smu :
> 
> SMU_MSG_TransferTableSmu2Dram,
> -					  table_id);
> +					  table_index);
>  	if (ret)
>  		return ret;
> 
> diff --git a/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
> b/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
> index 2083139533e9..c146b5e884f8 100644
> --- a/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
> +++ b/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
> @@ -745,8 +745,11 @@ extern int smu_feature_set_enabled(struct
> smu_context *smu, int feature_id, bool  extern int
> smu_feature_is_supported(struct smu_context *smu, int feature_id);
> extern int smu_feature_set_supported(struct smu_context *smu, int
> feature_id, bool enable);
> 
> -int smu_update_table(struct smu_context *smu, uint32_t table_id,
> +int smu_update_table_with_arg(struct smu_context *smu, uint16_t
> +table_id, uint16_t exarg,
>  		     void *table_data, bool drv2smu);
> +#define smu_update_table(smu, table_id, table_data, drv2smu) \
> +	smu_update_table_with_arg((smu), (table_id), 0, (table_data),
> +(drv2smu))
> +
>  bool is_support_sw_smu(struct amdgpu_device *adev);  int
> smu_reset(struct smu_context *smu);  int
> smu_common_read_sensor(struct smu_context *smu, enum
> amd_pp_sensors sensor,
> --
> 2.21.0
> 
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list