mirror of
https://github.com/torvalds/linux.git
synced 2024-09-20 06:53:04 +00:00
Revert "drm/amd: Add power_saving_policy drm property to eDP connectors"
This reverts commit 9d8c094dda
.
It was merged without meeting userspace requirements.
Signed-off-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240802145946.48073-2-hamza.mahfooz@amd.com
This commit is contained in:
parent
b6b242d019
commit
717b432b6d
|
@ -1407,10 +1407,6 @@ int amdgpu_display_modeset_create_props(struct amdgpu_device *adev)
|
|||
"dither",
|
||||
amdgpu_dither_enum_list, sz);
|
||||
|
||||
if (adev->dc_enabled)
|
||||
drm_mode_create_power_saving_policy_property(adev_to_drm(adev),
|
||||
DRM_MODE_POWER_SAVING_POLICY_ALL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -6725,14 +6725,6 @@ int amdgpu_dm_connector_atomic_set_property(struct drm_connector *connector,
|
|||
} else if (property == adev->mode_info.underscan_property) {
|
||||
dm_new_state->underscan_enable = val;
|
||||
ret = 0;
|
||||
} else if (property == dev->mode_config.power_saving_policy) {
|
||||
dm_new_state->abm_forbidden = val & DRM_MODE_REQUIRE_COLOR_ACCURACY;
|
||||
dm_new_state->abm_level = (dm_new_state->abm_forbidden ||
|
||||
!dm_old_state->abm_level) ?
|
||||
ABM_LEVEL_IMMEDIATE_DISABLE :
|
||||
dm_old_state->abm_level;
|
||||
dm_new_state->psr_forbidden = val & DRM_MODE_REQUIRE_LOW_LATENCY;
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
@ -6775,13 +6767,6 @@ int amdgpu_dm_connector_atomic_get_property(struct drm_connector *connector,
|
|||
} else if (property == adev->mode_info.underscan_property) {
|
||||
*val = dm_state->underscan_enable;
|
||||
ret = 0;
|
||||
} else if (property == dev->mode_config.power_saving_policy) {
|
||||
*val = 0;
|
||||
if (dm_state->psr_forbidden)
|
||||
*val |= DRM_MODE_REQUIRE_LOW_LATENCY;
|
||||
if (dm_state->abm_forbidden)
|
||||
*val |= DRM_MODE_REQUIRE_COLOR_ACCURACY;
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
@ -6808,12 +6793,9 @@ static ssize_t panel_power_savings_show(struct device *device,
|
|||
u8 val;
|
||||
|
||||
drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
|
||||
if (to_dm_connector_state(connector->state)->abm_forbidden)
|
||||
val = 0;
|
||||
else
|
||||
val = to_dm_connector_state(connector->state)->abm_level ==
|
||||
ABM_LEVEL_IMMEDIATE_DISABLE ? 0 :
|
||||
to_dm_connector_state(connector->state)->abm_level;
|
||||
val = to_dm_connector_state(connector->state)->abm_level ==
|
||||
ABM_LEVEL_IMMEDIATE_DISABLE ? 0 :
|
||||
to_dm_connector_state(connector->state)->abm_level;
|
||||
drm_modeset_unlock(&dev->mode_config.connection_mutex);
|
||||
|
||||
return sysfs_emit(buf, "%u\n", val);
|
||||
|
@ -6837,16 +6819,10 @@ static ssize_t panel_power_savings_store(struct device *device,
|
|||
return -EINVAL;
|
||||
|
||||
drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
|
||||
if (to_dm_connector_state(connector->state)->abm_forbidden)
|
||||
ret = -EBUSY;
|
||||
else
|
||||
to_dm_connector_state(connector->state)->abm_level = val ?:
|
||||
ABM_LEVEL_IMMEDIATE_DISABLE;
|
||||
to_dm_connector_state(connector->state)->abm_level = val ?:
|
||||
ABM_LEVEL_IMMEDIATE_DISABLE;
|
||||
drm_modeset_unlock(&dev->mode_config.connection_mutex);
|
||||
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
drm_kms_helper_hotplug_event(dev);
|
||||
|
||||
return count;
|
||||
|
@ -8040,14 +8016,6 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,
|
|||
aconnector->base.state->max_bpc = 16;
|
||||
aconnector->base.state->max_requested_bpc = aconnector->base.state->max_bpc;
|
||||
|
||||
if (connector_type == DRM_MODE_CONNECTOR_eDP &&
|
||||
(dc_is_dmcu_initialized(adev->dm.dc) ||
|
||||
adev->dm.dc->ctx->dmub_srv)) {
|
||||
drm_object_attach_property(&aconnector->base.base,
|
||||
dm->ddev->mode_config.power_saving_policy,
|
||||
0);
|
||||
}
|
||||
|
||||
if (connector_type == DRM_MODE_CONNECTOR_HDMIA) {
|
||||
/* Content Type is currently only implemented for HDMI. */
|
||||
drm_connector_attach_content_type_property(&aconnector->base);
|
||||
|
@ -9748,7 +9716,6 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
|
|||
for_each_oldnew_connector_in_state(state, connector, old_con_state, new_con_state, i) {
|
||||
struct dm_connector_state *dm_new_con_state = to_dm_connector_state(new_con_state);
|
||||
struct dm_connector_state *dm_old_con_state = to_dm_connector_state(old_con_state);
|
||||
struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
|
||||
struct amdgpu_crtc *acrtc = to_amdgpu_crtc(dm_new_con_state->base.crtc);
|
||||
struct dc_surface_update *dummy_updates;
|
||||
struct dc_stream_update stream_update;
|
||||
|
@ -9802,15 +9769,6 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
|
|||
stream_update.hdr_static_metadata = &hdr_packet;
|
||||
}
|
||||
|
||||
aconnector->disallow_edp_enter_psr = dm_new_con_state->psr_forbidden;
|
||||
|
||||
/* immediately disable PSR if disallowed */
|
||||
if (aconnector->disallow_edp_enter_psr) {
|
||||
mutex_lock(&dm->dc_lock);
|
||||
amdgpu_dm_psr_disable(dm_new_crtc_state->stream);
|
||||
mutex_unlock(&dm->dc_lock);
|
||||
}
|
||||
|
||||
status = dc_stream_get_status(dm_new_crtc_state->stream);
|
||||
|
||||
if (WARN_ON(!status))
|
||||
|
|
|
@ -915,8 +915,6 @@ struct dm_connector_state {
|
|||
bool underscan_enable;
|
||||
bool freesync_capable;
|
||||
bool update_hdcp;
|
||||
bool abm_forbidden;
|
||||
bool psr_forbidden;
|
||||
uint8_t abm_level;
|
||||
int vcpi_slots;
|
||||
uint64_t pbn;
|
||||
|
|
Loading…
Reference in New Issue
Block a user