[PATCH 1/2] drm/amd/powerplay: optimization function of smu_update_table
Quan, Evan
Evan.Quan at amd.com
Tue Apr 9 01:33:54 UTC 2019
Reviewed-by: Evan Quan <evan.quan at amd.com>
> -----Original Message-----
> From: amd-gfx <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>
> ---
> 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