drm/amd/display: Set default ABM level to module parameter
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Thu, 6 Jun 2019 12:53:12 +0000 (08:53 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 11 Jun 2019 17:45:24 +0000 (12:45 -0500)
[Why]
The module parameter to specify the default ABM level is now defined,
so hook it up in DM.

[How]
On connector reset specify the default level. DC will program this as
part of the modeset since it gets passed onto the stream in
dm_update_crtc_state.

It's only set for eDP connectors, but it doesn't matter if this is
specified for connectors or hardware that doesn't support ABM.

It's DC's responsibility to check that ABM can be set or adjusted, and
DC does check that the DMCU firmware is running and if there's backlight
control available.

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: David Francis <david.francis@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index f09407162d414c73b99983128e306539d8678934..6c709f922f66331d51d559f2068f7624a22799f3 100644 (file)
@@ -3738,6 +3738,9 @@ void amdgpu_dm_connector_funcs_reset(struct drm_connector *connector)
                state->underscan_vborder = 0;
                state->base.max_requested_bpc = 8;
 
+               if (connector->connector_type == DRM_MODE_CONNECTOR_eDP)
+                       state->abm_level = amdgpu_dm_abm_level;
+
                __drm_atomic_helper_connector_reset(connector, &state->base);
        }
 }