* [PATCH 1/3] drm/amdgpu: add mmhub powergating set by smu @ 2018-02-06 20:41 Eric Huang [not found] ` <1517949689-9339-1-git-send-email-JinHuiEric.Huang-5C7GfCeVMHo@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Eric Huang @ 2018-02-06 20:41 UTC (permalink / raw) To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Eric Huang PSP will disable legacy mmhub PG setting that is programming registers, and drive will use SMC message to set it up. Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com> --- drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h | 4 ++++ drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c | 3 +++ drivers/gpu/drm/amd/include/kgd_pp_interface.h | 1 + 3 files changed, 8 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h index c489c69..bd745a4 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h @@ -375,6 +375,10 @@ enum amdgpu_pcie_gen { ((adev)->powerplay.pp_funcs->odn_edit_dpm_table(\ (adev)->powerplay.pp_handle, type, parameter, size)) +#define amdgpu_dpm_set_mmhub_powergating_by_smu(adev) \ + ((adev)->powerplay.pp_funcs->set_mmhub_powergating_by_smu( \ + (adev)->powerplay.pp_handle)) + struct amdgpu_dpm { struct amdgpu_ps *ps; /* number of valid power states */ diff --git a/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c b/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c index 82f8bc8..d0ade9f 100644 --- a/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c +++ b/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c @@ -471,6 +471,9 @@ void mmhub_v1_0_update_power_gating(struct amdgpu_device *adev, RENG_EXECUTE_ON_REG_UPDATE, 1); WREG32_SOC15(MMHUB, 0, mmPCTL1_RENG_EXECUTE, pctl1_reng_execute); + if (adev->powerplay.pp_funcs->set_mmhub_powergating_by_smu) + amdgpu_dpm_set_mmhub_powergating_by_smu(adev); + } else { pctl0_reng_execute = REG_SET_FIELD(pctl0_reng_execute, PCTL0_RENG_EXECUTE, diff --git a/drivers/gpu/drm/amd/include/kgd_pp_interface.h b/drivers/gpu/drm/amd/include/kgd_pp_interface.h index 1fc995b..4f69fe8 100644 --- a/drivers/gpu/drm/amd/include/kgd_pp_interface.h +++ b/drivers/gpu/drm/amd/include/kgd_pp_interface.h @@ -310,6 +310,7 @@ struct amd_pm_funcs { int (*get_power_profile_mode)(void *handle, char *buf); int (*set_power_profile_mode)(void *handle, long *input, uint32_t size); int (*odn_edit_dpm_table)(void *handle, uint32_t type, long *input, uint32_t size); + int (*set_mmhub_powergating_by_smu)(void *handle); }; #endif -- 2.7.4 _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply related [flat|nested] 7+ messages in thread
[parent not found: <1517949689-9339-1-git-send-email-JinHuiEric.Huang-5C7GfCeVMHo@public.gmane.org>]
* [PATCH 2/3] drm/amd/powerplay: add mmhub powergating by smu in powerplay [not found] ` <1517949689-9339-1-git-send-email-JinHuiEric.Huang-5C7GfCeVMHo@public.gmane.org> @ 2018-02-06 20:41 ` Eric Huang [not found] ` <1517949689-9339-2-git-send-email-JinHuiEric.Huang-5C7GfCeVMHo@public.gmane.org> 2018-02-06 20:41 ` [PATCH 3/3] drm/amd/powerplay: implement set_mmhub_powergating_by_smu for Raven Eric Huang 2018-02-06 20:50 ` [PATCH 1/3] drm/amdgpu: add mmhub powergating set by smu Deucher, Alexander 2 siblings, 1 reply; 7+ messages in thread From: Eric Huang @ 2018-02-06 20:41 UTC (permalink / raw) To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Eric Huang Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com> --- drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 22 ++++++++++++++++++++++ drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 1 + 2 files changed, 23 insertions(+) diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c index c571f8e..7c4b88a 100644 --- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c +++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c @@ -1475,6 +1475,27 @@ static int pp_get_display_mode_validation_clocks(void *handle, return ret; } +static int pp_set_mmhub_powergating_by_smu(void *handle) +{ + struct pp_hwmgr *hwmgr; + struct pp_instance *pp_handle = (struct pp_instance *)handle; + int ret = 0; + + ret = pp_check(pp_handle); + + if (ret) + return ret; + + hwmgr = pp_handle->hwmgr; + + if (hwmgr->hwmgr_func->set_mmhub_powergating_by_smu == NULL) { + pr_info("%s was not implemented.\n", __func__); + return 0; + } + + return hwmgr->hwmgr_func->set_mmhub_powergating_by_smu(hwmgr); +} + const struct amd_pm_funcs pp_dpm_funcs = { .load_firmware = pp_dpm_load_fw, .wait_for_fw_loading_complete = pp_dpm_fw_loading_complete, @@ -1521,4 +1542,5 @@ const struct amd_pm_funcs pp_dpm_funcs = { .set_watermarks_for_clocks_ranges = pp_set_watermarks_for_clocks_ranges, .display_clock_voltage_request = pp_display_clock_voltage_request, .get_display_mode_validation_clocks = pp_get_display_mode_validation_clocks, + .set_mmhub_powergating_by_smu = pp_set_mmhub_powergating_by_smu, }; diff --git a/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h b/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h index 5512dc2..47a1083 100644 --- a/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h +++ b/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h @@ -347,6 +347,7 @@ struct pp_hwmgr_func { int (*odn_edit_dpm_table)(struct pp_hwmgr *hwmgr, enum PP_OD_DPM_TABLE_COMMAND type, long *input, uint32_t size); + int (*set_mmhub_powergating_by_smu)(struct pp_hwmgr *hwmgr); }; struct pp_table_func { -- 2.7.4 _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply related [flat|nested] 7+ messages in thread
[parent not found: <1517949689-9339-2-git-send-email-JinHuiEric.Huang-5C7GfCeVMHo@public.gmane.org>]
* RE: [PATCH 2/3] drm/amd/powerplay: add mmhub powergating by smu in powerplay [not found] ` <1517949689-9339-2-git-send-email-JinHuiEric.Huang-5C7GfCeVMHo@public.gmane.org> @ 2018-02-06 20:54 ` Deucher, Alexander 0 siblings, 0 replies; 7+ messages in thread From: Deucher, Alexander @ 2018-02-06 20:54 UTC (permalink / raw) To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Huang, JinHuiEric > -----Original Message----- > From: amd-gfx [mailto:amd-gfx-bounces@lists.freedesktop.org] On Behalf > Of Eric Huang > Sent: Tuesday, February 6, 2018 3:41 PM > To: amd-gfx@lists.freedesktop.org > Cc: Huang, JinHuiEric <JinHuiEric.Huang@amd.com> > Subject: [PATCH 2/3] drm/amd/powerplay: add mmhub powergating by smu > in powerplay > > Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com> Please add a basic patch description. With that fixed: Reviewed-by: Alex Deucher <alexander.deucher@amd.com> > --- > drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 22 > ++++++++++++++++++++++ > drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 1 + > 2 files changed, 23 insertions(+) > > diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c > b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c > index c571f8e..7c4b88a 100644 > --- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c > +++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c > @@ -1475,6 +1475,27 @@ static int > pp_get_display_mode_validation_clocks(void *handle, > return ret; > } > > +static int pp_set_mmhub_powergating_by_smu(void *handle) { > + struct pp_hwmgr *hwmgr; > + struct pp_instance *pp_handle = (struct pp_instance *)handle; > + int ret = 0; > + > + ret = pp_check(pp_handle); > + > + if (ret) > + return ret; > + > + hwmgr = pp_handle->hwmgr; > + > + if (hwmgr->hwmgr_func->set_mmhub_powergating_by_smu == > NULL) { > + pr_info("%s was not implemented.\n", __func__); > + return 0; > + } > + > + return hwmgr->hwmgr_func- > >set_mmhub_powergating_by_smu(hwmgr); > +} > + > const struct amd_pm_funcs pp_dpm_funcs = { > .load_firmware = pp_dpm_load_fw, > .wait_for_fw_loading_complete = pp_dpm_fw_loading_complete, > @@ -1521,4 +1542,5 @@ const struct amd_pm_funcs pp_dpm_funcs = { > .set_watermarks_for_clocks_ranges = > pp_set_watermarks_for_clocks_ranges, > .display_clock_voltage_request = > pp_display_clock_voltage_request, > .get_display_mode_validation_clocks = > pp_get_display_mode_validation_clocks, > + .set_mmhub_powergating_by_smu = > pp_set_mmhub_powergating_by_smu, > }; > diff --git a/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h > b/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h > index 5512dc2..47a1083 100644 > --- a/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h > +++ b/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h > @@ -347,6 +347,7 @@ struct pp_hwmgr_func { > int (*odn_edit_dpm_table)(struct pp_hwmgr *hwmgr, > enum > PP_OD_DPM_TABLE_COMMAND type, > long *input, uint32_t size); > + int (*set_mmhub_powergating_by_smu)(struct pp_hwmgr > *hwmgr); > }; > > struct pp_table_func { > -- > 2.7.4 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 3/3] drm/amd/powerplay: implement set_mmhub_powergating_by_smu for Raven [not found] ` <1517949689-9339-1-git-send-email-JinHuiEric.Huang-5C7GfCeVMHo@public.gmane.org> 2018-02-06 20:41 ` [PATCH 2/3] drm/amd/powerplay: add mmhub powergating by smu in powerplay Eric Huang @ 2018-02-06 20:41 ` Eric Huang [not found] ` <1517949689-9339-3-git-send-email-JinHuiEric.Huang-5C7GfCeVMHo@public.gmane.org> 2018-02-06 20:50 ` [PATCH 1/3] drm/amdgpu: add mmhub powergating set by smu Deucher, Alexander 2 siblings, 1 reply; 7+ messages in thread From: Eric Huang @ 2018-02-06 20:41 UTC (permalink / raw) To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Eric Huang Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com> --- drivers/gpu/drm/amd/powerplay/hwmgr/rv_hwmgr.c | 6 ++++++ drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/rv_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/rv_hwmgr.c index 409a56b..8ddfb78 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/rv_hwmgr.c +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/rv_hwmgr.c @@ -1026,6 +1026,11 @@ static int rv_read_sensor(struct pp_hwmgr *hwmgr, int idx, return ret; } +static int rv_set_mmhub_powergating_by_smu(struct pp_hwmgr *hwmgr) +{ + return smum_send_msg_to_smc(hwmgr, PPSMC_MSG_PowerGateMmHub); +} + static const struct pp_hwmgr_func rv_hwmgr_funcs = { .backend_init = rv_hwmgr_backend_init, .backend_fini = rv_hwmgr_backend_fini, @@ -1059,6 +1064,7 @@ static const struct pp_hwmgr_func rv_hwmgr_funcs = { .asic_setup = rv_setup_asic_task, .power_state_set = rv_set_power_state_tasks, .dynamic_state_management_disable = rv_disable_dpm_tasks, + .set_mmhub_powergating_by_smu = rv_set_mmhub_powergating_by_smu, }; int rv_init_function_pointers(struct pp_hwmgr *hwmgr) diff --git a/drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h b/drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h index f15f4df..426bff2 100644 --- a/drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h +++ b/drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h @@ -80,7 +80,8 @@ #define PPSMC_MSG_SetSoftMaxSocclkByFreq 0x32 #define PPSMC_MSG_SetSoftMaxFclkByFreq 0x33 #define PPSMC_MSG_SetSoftMaxVcn 0x34 -#define PPSMC_Message_Count 0x35 +#define PPSMC_MSG_PowerGateMmHub 0x35 +#define PPSMC_Message_Count 0x36 typedef uint16_t PPSMC_Result; -- 2.7.4 _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply related [flat|nested] 7+ messages in thread
[parent not found: <1517949689-9339-3-git-send-email-JinHuiEric.Huang-5C7GfCeVMHo@public.gmane.org>]
* RE: [PATCH 3/3] drm/amd/powerplay: implement set_mmhub_powergating_by_smu for Raven [not found] ` <1517949689-9339-3-git-send-email-JinHuiEric.Huang-5C7GfCeVMHo@public.gmane.org> @ 2018-02-06 20:55 ` Deucher, Alexander 0 siblings, 0 replies; 7+ messages in thread From: Deucher, Alexander @ 2018-02-06 20:55 UTC (permalink / raw) To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Huang, JinHuiEric > -----Original Message----- > From: amd-gfx [mailto:amd-gfx-bounces@lists.freedesktop.org] On Behalf > Of Eric Huang > Sent: Tuesday, February 6, 2018 3:41 PM > To: amd-gfx@lists.freedesktop.org > Cc: Huang, JinHuiEric <JinHuiEric.Huang@amd.com> > Subject: [PATCH 3/3] drm/amd/powerplay: implement > set_mmhub_powergating_by_smu for Raven > Please add a basic patch description. With that fixed: Reviewed-by: Alex Deucher <alexander.deucher@amd.com> > Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com> > --- > drivers/gpu/drm/amd/powerplay/hwmgr/rv_hwmgr.c | 6 ++++++ > drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h | 3 ++- > 2 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/rv_hwmgr.c > b/drivers/gpu/drm/amd/powerplay/hwmgr/rv_hwmgr.c > index 409a56b..8ddfb78 100644 > --- a/drivers/gpu/drm/amd/powerplay/hwmgr/rv_hwmgr.c > +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/rv_hwmgr.c > @@ -1026,6 +1026,11 @@ static int rv_read_sensor(struct pp_hwmgr > *hwmgr, int idx, > return ret; > } > > +static int rv_set_mmhub_powergating_by_smu(struct pp_hwmgr *hwmgr) > { > + return smum_send_msg_to_smc(hwmgr, > PPSMC_MSG_PowerGateMmHub); } > + > static const struct pp_hwmgr_func rv_hwmgr_funcs = { > .backend_init = rv_hwmgr_backend_init, > .backend_fini = rv_hwmgr_backend_fini, @@ -1059,6 +1064,7 @@ > static const struct pp_hwmgr_func rv_hwmgr_funcs = { > .asic_setup = rv_setup_asic_task, > .power_state_set = rv_set_power_state_tasks, > .dynamic_state_management_disable = rv_disable_dpm_tasks, > + .set_mmhub_powergating_by_smu = > rv_set_mmhub_powergating_by_smu, > }; > > int rv_init_function_pointers(struct pp_hwmgr *hwmgr) diff --git > a/drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h > b/drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h > index f15f4df..426bff2 100644 > --- a/drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h > +++ b/drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h > @@ -80,7 +80,8 @@ > #define PPSMC_MSG_SetSoftMaxSocclkByFreq 0x32 > #define PPSMC_MSG_SetSoftMaxFclkByFreq 0x33 > #define PPSMC_MSG_SetSoftMaxVcn 0x34 > -#define PPSMC_Message_Count 0x35 > +#define PPSMC_MSG_PowerGateMmHub 0x35 > +#define PPSMC_Message_Count 0x36 > > > typedef uint16_t PPSMC_Result; > -- > 2.7.4 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH 1/3] drm/amdgpu: add mmhub powergating set by smu [not found] ` <1517949689-9339-1-git-send-email-JinHuiEric.Huang-5C7GfCeVMHo@public.gmane.org> 2018-02-06 20:41 ` [PATCH 2/3] drm/amd/powerplay: add mmhub powergating by smu in powerplay Eric Huang 2018-02-06 20:41 ` [PATCH 3/3] drm/amd/powerplay: implement set_mmhub_powergating_by_smu for Raven Eric Huang @ 2018-02-06 20:50 ` Deucher, Alexander [not found] ` <BN6PR12MB165221B257BD806DEF70C236F7FD0-/b2+HYfkarQqUD6E6FAiowdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org> 2 siblings, 1 reply; 7+ messages in thread From: Deucher, Alexander @ 2018-02-06 20:50 UTC (permalink / raw) To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Huang, JinHuiEric > -----Original Message----- > From: amd-gfx [mailto:amd-gfx-bounces@lists.freedesktop.org] On Behalf > Of Eric Huang > Sent: Tuesday, February 6, 2018 3:41 PM > To: amd-gfx@lists.freedesktop.org > Cc: Huang, JinHuiEric <JinHuiEric.Huang@amd.com> > Subject: [PATCH 1/3] drm/amdgpu: add mmhub powergating set by smu > > PSP will disable legacy mmhub PG setting that is programming registers, and > drive will use SMC message to set it up. Split this into two patches, one to add the new dpm interface, and one to add the change to mmhub_v1_0.c. I guess presumably there's no way to disable it once it's been enabled? With the above addressed: Reviewed-by: Alex Deucher <alexander.deucher@amd.com> > > Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h | 4 ++++ > drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c | 3 +++ > drivers/gpu/drm/amd/include/kgd_pp_interface.h | 1 + > 3 files changed, 8 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h > b/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h > index c489c69..bd745a4 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h > @@ -375,6 +375,10 @@ enum amdgpu_pcie_gen { > ((adev)->powerplay.pp_funcs->odn_edit_dpm_table(\ > (adev)->powerplay.pp_handle, type, parameter, > size)) > > +#define amdgpu_dpm_set_mmhub_powergating_by_smu(adev) \ > + ((adev)->powerplay.pp_funcs- > >set_mmhub_powergating_by_smu( \ > + (adev)->powerplay.pp_handle)) > + > struct amdgpu_dpm { > struct amdgpu_ps *ps; > /* number of valid power states */ > diff --git a/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c > b/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c > index 82f8bc8..d0ade9f 100644 > --- a/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c > @@ -471,6 +471,9 @@ void mmhub_v1_0_update_power_gating(struct > amdgpu_device *adev, > > RENG_EXECUTE_ON_REG_UPDATE, 1); > WREG32_SOC15(MMHUB, 0, mmPCTL1_RENG_EXECUTE, > pctl1_reng_execute); > > + if (adev->powerplay.pp_funcs- > >set_mmhub_powergating_by_smu) > + > amdgpu_dpm_set_mmhub_powergating_by_smu(adev); > + > } else { > pctl0_reng_execute = REG_SET_FIELD(pctl0_reng_execute, > PCTL0_RENG_EXECUTE, > diff --git a/drivers/gpu/drm/amd/include/kgd_pp_interface.h > b/drivers/gpu/drm/amd/include/kgd_pp_interface.h > index 1fc995b..4f69fe8 100644 > --- a/drivers/gpu/drm/amd/include/kgd_pp_interface.h > +++ b/drivers/gpu/drm/amd/include/kgd_pp_interface.h > @@ -310,6 +310,7 @@ struct amd_pm_funcs { > int (*get_power_profile_mode)(void *handle, char *buf); > int (*set_power_profile_mode)(void *handle, long *input, uint32_t > size); > int (*odn_edit_dpm_table)(void *handle, uint32_t type, long *input, > uint32_t size); > + int (*set_mmhub_powergating_by_smu)(void *handle); > }; > > #endif > -- > 2.7.4 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <BN6PR12MB165221B257BD806DEF70C236F7FD0-/b2+HYfkarQqUD6E6FAiowdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>]
* Re: [PATCH 1/3] drm/amdgpu: add mmhub powergating set by smu [not found] ` <BN6PR12MB165221B257BD806DEF70C236F7FD0-/b2+HYfkarQqUD6E6FAiowdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org> @ 2018-02-06 21:31 ` Eric Huang 0 siblings, 0 replies; 7+ messages in thread From: Eric Huang @ 2018-02-06 21:31 UTC (permalink / raw) To: Deucher, Alexander, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW Yes. SMU only provides enabling message. Thanks, Eric On 2018-02-06 03:50 PM, Deucher, Alexander wrote: >> -----Original Message----- >> From: amd-gfx [mailto:amd-gfx-bounces@lists.freedesktop.org] On Behalf >> Of Eric Huang >> Sent: Tuesday, February 6, 2018 3:41 PM >> To: amd-gfx@lists.freedesktop.org >> Cc: Huang, JinHuiEric <JinHuiEric.Huang@amd.com> >> Subject: [PATCH 1/3] drm/amdgpu: add mmhub powergating set by smu >> >> PSP will disable legacy mmhub PG setting that is programming registers, and >> drive will use SMC message to set it up. > Split this into two patches, one to add the new dpm interface, and one to add the change to mmhub_v1_0.c. I guess presumably there's no way to disable it once it's been enabled? > > With the above addressed: > Reviewed-by: Alex Deucher <alexander.deucher@amd.com> > >> Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com> >> --- >> drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h | 4 ++++ >> drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c | 3 +++ >> drivers/gpu/drm/amd/include/kgd_pp_interface.h | 1 + >> 3 files changed, 8 insertions(+) >> >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h >> b/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h >> index c489c69..bd745a4 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h >> @@ -375,6 +375,10 @@ enum amdgpu_pcie_gen { >> ((adev)->powerplay.pp_funcs->odn_edit_dpm_table(\ >> (adev)->powerplay.pp_handle, type, parameter, >> size)) >> >> +#define amdgpu_dpm_set_mmhub_powergating_by_smu(adev) \ >> + ((adev)->powerplay.pp_funcs- >>> set_mmhub_powergating_by_smu( \ >> + (adev)->powerplay.pp_handle)) >> + >> struct amdgpu_dpm { >> struct amdgpu_ps *ps; >> /* number of valid power states */ >> diff --git a/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c >> b/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c >> index 82f8bc8..d0ade9f 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c >> +++ b/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c >> @@ -471,6 +471,9 @@ void mmhub_v1_0_update_power_gating(struct >> amdgpu_device *adev, >> >> RENG_EXECUTE_ON_REG_UPDATE, 1); >> WREG32_SOC15(MMHUB, 0, mmPCTL1_RENG_EXECUTE, >> pctl1_reng_execute); >> >> + if (adev->powerplay.pp_funcs- >>> set_mmhub_powergating_by_smu) >> + >> amdgpu_dpm_set_mmhub_powergating_by_smu(adev); >> + >> } else { >> pctl0_reng_execute = REG_SET_FIELD(pctl0_reng_execute, >> PCTL0_RENG_EXECUTE, >> diff --git a/drivers/gpu/drm/amd/include/kgd_pp_interface.h >> b/drivers/gpu/drm/amd/include/kgd_pp_interface.h >> index 1fc995b..4f69fe8 100644 >> --- a/drivers/gpu/drm/amd/include/kgd_pp_interface.h >> +++ b/drivers/gpu/drm/amd/include/kgd_pp_interface.h >> @@ -310,6 +310,7 @@ struct amd_pm_funcs { >> int (*get_power_profile_mode)(void *handle, char *buf); >> int (*set_power_profile_mode)(void *handle, long *input, uint32_t >> size); >> int (*odn_edit_dpm_table)(void *handle, uint32_t type, long *input, >> uint32_t size); >> + int (*set_mmhub_powergating_by_smu)(void *handle); >> }; >> >> #endif >> -- >> 2.7.4 >> >> _______________________________________________ >> amd-gfx mailing list >> amd-gfx@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-02-06 21:31 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-02-06 20:41 [PATCH 1/3] drm/amdgpu: add mmhub powergating set by smu Eric Huang [not found] ` <1517949689-9339-1-git-send-email-JinHuiEric.Huang-5C7GfCeVMHo@public.gmane.org> 2018-02-06 20:41 ` [PATCH 2/3] drm/amd/powerplay: add mmhub powergating by smu in powerplay Eric Huang [not found] ` <1517949689-9339-2-git-send-email-JinHuiEric.Huang-5C7GfCeVMHo@public.gmane.org> 2018-02-06 20:54 ` Deucher, Alexander 2018-02-06 20:41 ` [PATCH 3/3] drm/amd/powerplay: implement set_mmhub_powergating_by_smu for Raven Eric Huang [not found] ` <1517949689-9339-3-git-send-email-JinHuiEric.Huang-5C7GfCeVMHo@public.gmane.org> 2018-02-06 20:55 ` Deucher, Alexander 2018-02-06 20:50 ` [PATCH 1/3] drm/amdgpu: add mmhub powergating set by smu Deucher, Alexander [not found] ` <BN6PR12MB165221B257BD806DEF70C236F7FD0-/b2+HYfkarQqUD6E6FAiowdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org> 2018-02-06 21:31 ` Eric Huang
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.