]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Revert "drm/amd: Add power_saving_policy drm property to eDP connectors"
authorHamza Mahfooz <hamza.mahfooz@amd.com>
Fri, 2 Aug 2024 14:59:46 +0000 (10:59 -0400)
committerHamza Mahfooz <hamza.mahfooz@amd.com>
Fri, 2 Aug 2024 15:29:17 +0000 (11:29 -0400)
This reverts commit 9d8c094ddab05db88d183ba82e23be807848cad8.

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
drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h

index 879b4a04c588946613fb89d4c9ae0280ec9dabb5..092ec11258cdd75a9293f34933e4077b4c1741fa 100644 (file)
@@ -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;
 }
 
index 0ce983ab5d655d3da4ec71c7d0152200d1b05435..7e7929f24ae44705c3b6e14b14e09ecfd48c268d 100644 (file)
@@ -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))
index 6ecb17def4aaf9de6cf2e79d5933b0ab9ad59dc1..2d7755e2b6c320460405bb10b08bffc9e3c6907b 100644 (file)
@@ -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;