Unverified Commit 717b432b authored by Hamza Mahfooz's avatar Hamza Mahfooz
Browse files

Revert "drm/amd: Add power_saving_policy drm property to eDP connectors"



This reverts commit 9d8c094d.

It was merged without meeting userspace requirements.

Signed-off-by: default avatarHamza Mahfooz <hamza.mahfooz@amd.com>
Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240802145946.48073-2-hamza.mahfooz@amd.com
parent b6b242d0
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -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;
}

+5 −47
Original line number Diff line number Diff line
@@ -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,9 +6793,6 @@ 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;
@@ -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;
	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))
+0 −2
Original line number Diff line number Diff line
@@ -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;