On 2024-02-16 10:33, Mario Limonciello wrote: > 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: f97e4303da16 ("drm/amd/display: add panel_power_savings sysfs entry to eDP connectors") > Suggested-by: Harry Wentland <Harry.Wentland@xxxxxxx> > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx> > -- > Cc: Hamza Mahfooz <Hamza.Mahfooz@xxxxxxx> > Cc: Sun peng (Leo) Li <Sunpeng.Li@xxxxxxx> Reviewed-by: Harry Wentland <harry.wentland@xxxxxxx> Harry > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 8 -------- > drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 2 -- > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 14 -------------- > 3 files changed, 24 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c > index b8fbe97efe1d..3ecc7ef95172 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c > @@ -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; > } > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h > index 2e4911050cc5..1fe21a70ddd0 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h > @@ -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; > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > index b9ac3d2f8029..e3b32ffba85a 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > @@ -6388,9 +6388,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; > @@ -6433,10 +6430,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; > @@ -7652,13 +7645,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);