Commit 0887054d authored by Mario Limonciello's avatar Mario Limonciello Committed by Alex Deucher
Browse files

drm/amd: Drop abm_level property



This vendor specific property has never been used by userspace
software and conflicts with the panel_power_savings sysfs file.
That is a compositor and user could fight over the same data.

Fixes: 63d0b872 ("drm/amd/display: add panel_power_savings sysfs entry to eDP connectors")
Suggested-by: default avatarHarry Wentland <Harry.Wentland@amd.com>
Cc: Hamza Mahfooz <Hamza.Mahfooz@amd.com>
Cc: "Sun peng Li (Leo)" <Sunpeng.Li@amd.com>
Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
Acked-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarMario Limonciello <mario.limonciello@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent c37ce764
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -1350,14 +1350,6 @@ int amdgpu_display_modeset_create_props(struct amdgpu_device *adev)
					 "dither",
					 amdgpu_dither_enum_list, sz);

	if (adev->dc_enabled) {
		adev->mode_info.abm_level_property =
			drm_property_create_range(adev_to_drm(adev), 0,
						  "abm level", 0, 4);
		if (!adev->mode_info.abm_level_property)
			return -ENOMEM;
	}

	return 0;
}

+0 −2
Original line number Diff line number Diff line
@@ -324,8 +324,6 @@ struct amdgpu_mode_info {
	struct drm_property *audio_property;
	/* FMT dithering */
	struct drm_property *dither_property;
	/* Adaptive Backlight Modulation (power feature) */
	struct drm_property *abm_level_property;
	/* hardcoded DFP edid from BIOS */
	struct edid *bios_hardcoded_edid;
	int bios_hardcoded_edid_size;
+0 −14
Original line number Diff line number Diff line
@@ -6393,9 +6393,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 == adev->mode_info.abm_level_property) {
		dm_new_state->abm_level = val ?: ABM_LEVEL_IMMEDIATE_DISABLE;
		ret = 0;
	}

	return ret;
@@ -6438,10 +6435,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 == adev->mode_info.abm_level_property) {
		*val = (dm_state->abm_level != ABM_LEVEL_IMMEDIATE_DISABLE) ?
			dm_state->abm_level : 0;
		ret = 0;
	}

	return ret;
@@ -7668,13 +7661,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) && amdgpu_dm_abm_level < 0) {
		drm_object_attach_property(&aconnector->base.base,
				adev->mode_info.abm_level_property, 0);
	}

	if (connector_type == DRM_MODE_CONNECTOR_HDMIA) {
		/* Content Type is currently only implemented for HDMI. */
		drm_connector_attach_content_type_property(&aconnector->base);