Commit 4c90080b authored by Rex Zhu's avatar Rex Zhu Committed by Alex Deucher

drm/amdgpu: add an cgs interface to notify amdgpu the dpm state.

Signed-off-by: default avatarRex Zhu <Rex.Zhu@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent f9e9c08e
...@@ -850,6 +850,16 @@ static int amdgpu_cgs_get_active_displays_info(void *cgs_device, ...@@ -850,6 +850,16 @@ static int amdgpu_cgs_get_active_displays_info(void *cgs_device,
return 0; return 0;
} }
static int amdgpu_cgs_notify_dpm_enabled(void *cgs_device, bool enabled)
{
CGS_FUNC_ADEV;
adev->pm.dpm_enabled = enabled;
return 0;
}
/** \brief evaluate acpi namespace object, handle or pathname must be valid /** \brief evaluate acpi namespace object, handle or pathname must be valid
* \param cgs_device * \param cgs_device
* \param info input/output arguments for the control method * \param info input/output arguments for the control method
...@@ -1100,6 +1110,7 @@ static const struct cgs_ops amdgpu_cgs_ops = { ...@@ -1100,6 +1110,7 @@ static const struct cgs_ops amdgpu_cgs_ops = {
amdgpu_cgs_set_powergating_state, amdgpu_cgs_set_powergating_state,
amdgpu_cgs_set_clockgating_state, amdgpu_cgs_set_clockgating_state,
amdgpu_cgs_get_active_displays_info, amdgpu_cgs_get_active_displays_info,
amdgpu_cgs_notify_dpm_enabled,
amdgpu_cgs_call_acpi_method, amdgpu_cgs_call_acpi_method,
amdgpu_cgs_query_system_info, amdgpu_cgs_query_system_info,
}; };
......
...@@ -589,6 +589,8 @@ typedef int(*cgs_get_active_displays_info)( ...@@ -589,6 +589,8 @@ typedef int(*cgs_get_active_displays_info)(
void *cgs_device, void *cgs_device,
struct cgs_display_info *info); struct cgs_display_info *info);
typedef int (*cgs_notify_dpm_enabled)(void *cgs_device, bool enabled);
typedef int (*cgs_call_acpi_method)(void *cgs_device, typedef int (*cgs_call_acpi_method)(void *cgs_device,
uint32_t acpi_method, uint32_t acpi_method,
uint32_t acpi_function, uint32_t acpi_function,
...@@ -644,6 +646,8 @@ struct cgs_ops { ...@@ -644,6 +646,8 @@ struct cgs_ops {
cgs_set_clockgating_state set_clockgating_state; cgs_set_clockgating_state set_clockgating_state;
/* display manager */ /* display manager */
cgs_get_active_displays_info get_active_displays_info; cgs_get_active_displays_info get_active_displays_info;
/* notify dpm enabled */
cgs_notify_dpm_enabled notify_dpm_enabled;
/* ACPI */ /* ACPI */
cgs_call_acpi_method call_acpi_method; cgs_call_acpi_method call_acpi_method;
/* get system info */ /* get system info */
...@@ -734,8 +738,12 @@ struct cgs_device ...@@ -734,8 +738,12 @@ struct cgs_device
CGS_CALL(set_powergating_state, dev, block_type, state) CGS_CALL(set_powergating_state, dev, block_type, state)
#define cgs_set_clockgating_state(dev, block_type, state) \ #define cgs_set_clockgating_state(dev, block_type, state) \
CGS_CALL(set_clockgating_state, dev, block_type, state) CGS_CALL(set_clockgating_state, dev, block_type, state)
#define cgs_notify_dpm_enabled(dev, enabled) \
CGS_CALL(notify_dpm_enabled, dev, enabled)
#define cgs_get_active_displays_info(dev, info) \ #define cgs_get_active_displays_info(dev, info) \
CGS_CALL(get_active_displays_info, dev, info) CGS_CALL(get_active_displays_info, dev, info)
#define cgs_call_acpi_method(dev, acpi_method, acpi_function, pintput, poutput, output_count, input_size, output_size) \ #define cgs_call_acpi_method(dev, acpi_method, acpi_function, pintput, poutput, output_count, input_size, output_size) \
CGS_CALL(call_acpi_method, dev, acpi_method, acpi_function, pintput, poutput, output_count, input_size, output_size) CGS_CALL(call_acpi_method, dev, acpi_method, acpi_function, pintput, poutput, output_count, input_size, output_size)
#define cgs_query_system_info(dev, sys_info) \ #define cgs_query_system_info(dev, sys_info) \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment