Skip to content

Commit

Permalink
drm/amdgpu: Remove default best_encoder hook from DC
Browse files Browse the repository at this point in the history
For atomic driver this is the default, no need to reimplement it. We
still need to keep the copypasta for not-atomic drivers though, since
no one polished the legacy crtc helpers as much as the atomic ones.

v2: amdgpu uses ->best_encoder internally, give it a local copy. It
might be a good idea to merge the connector and encoder into one
amdgpu_dm_sink structure, that might match DC internals better. At
least for non-DPMST outputs. Kudos to Ville for spotting this.

v3: Rebase onto a487411 ("drm/amd/display: Use DRM helper for
best_encoder").

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Cc: Tony Cheng <Tony.Cheng@amd.com>
Cc: "Leo (Sunpeng) Li" <sunpeng.li@amd.com>
Cc: Shirish S <shirish.s@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181004202446.22905-2-daniel.vetter@ffwll.ch
  • Loading branch information
Daniel Vetter committed Oct 5, 2018
1 parent 03189d5 commit 2b4c1c0
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
Original file line number Diff line number Diff line change
Expand Up @@ -3070,7 +3070,6 @@ amdgpu_dm_connector_helper_funcs = {
*/
.get_modes = get_modes,
.mode_valid = amdgpu_dm_connector_mode_valid,
.best_encoder = drm_atomic_helper_best_encoder
};

static void dm_crtc_helper_disable(struct drm_crtc *crtc)
Expand Down Expand Up @@ -3473,14 +3472,17 @@ static int to_drm_connector_type(enum signal_type st)
}
}

static struct drm_encoder *amdgpu_dm_connector_to_encoder(struct drm_connector *connector)
{
return drm_encoder_find(connector->dev, NULL, connector->encoder_ids[0]);
}

static void amdgpu_dm_get_native_mode(struct drm_connector *connector)
{
const struct drm_connector_helper_funcs *helper =
connector->helper_private;
struct drm_encoder *encoder;
struct amdgpu_encoder *amdgpu_encoder;

encoder = helper->best_encoder(connector);
encoder = amdgpu_dm_connector_to_encoder(connector);

if (encoder == NULL)
return;
Expand Down Expand Up @@ -3607,14 +3609,12 @@ static void amdgpu_dm_connector_ddc_get_modes(struct drm_connector *connector,

static int amdgpu_dm_connector_get_modes(struct drm_connector *connector)
{
const struct drm_connector_helper_funcs *helper =
connector->helper_private;
struct amdgpu_dm_connector *amdgpu_dm_connector =
to_amdgpu_dm_connector(connector);
struct drm_encoder *encoder;
struct edid *edid = amdgpu_dm_connector->edid;

encoder = helper->best_encoder(connector);
encoder = amdgpu_dm_connector_to_encoder(connector);

if (!edid || !drm_edid_is_valid(edid)) {
amdgpu_dm_connector->num_modes =
Expand Down

0 comments on commit 2b4c1c0

Please sign in to comment.