aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/dce_virtual.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2018-06-28 09:13:10 -0400
committerVille Syrjälä <ville.syrjala@linux.intel.com>2018-07-05 09:52:08 -0400
commit98c0e348c09575edccdd63e9d2938f090b0d8739 (patch)
treefd62e3a8aa2a0143fe7e64f1a12cfc3264e9861e /drivers/gpu/drm/amd/amdgpu/dce_virtual.c
parent83aefbb887b59df0b3520965c3701e01deacfc52 (diff)
drm/amdgpu: Use drm_connector_for_each_possible_encoder()
Use drm_connector_for_each_possible_encoder() for iterating connector->encoder_ids[]. A bit more convenient not having to deal with the implementation details. v2: Replace drm_for_each_connector_encoder_ids() with drm_connector_for_each_possible_encoder() (Daniel) Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Alex Deucher <alexander.deucher@amd.com> Cc: "Christian König" <christian.koenig@amd.com> Cc: "David (ChunMing) Zhou" <David1.Zhou@amd.com> Cc: Harry Wentland <harry.wentland@amd.com> Cc: amd-gfx@lists.freedesktop.org Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180628131315.14156-5-ville.syrjala@linux.intel.com
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/dce_virtual.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/dce_virtual.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c
index dbf2ccd0c744..016f15093173 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c
+++ b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c
@@ -269,25 +269,18 @@ static int dce_virtual_early_init(void *handle)
269static struct drm_encoder * 269static struct drm_encoder *
270dce_virtual_encoder(struct drm_connector *connector) 270dce_virtual_encoder(struct drm_connector *connector)
271{ 271{
272 int enc_id = connector->encoder_ids[0];
273 struct drm_encoder *encoder; 272 struct drm_encoder *encoder;
274 int i; 273 int i;
275 274
276 for (i = 0; i < DRM_CONNECTOR_MAX_ENCODER; i++) { 275 drm_connector_for_each_possible_encoder(connector, encoder, i) {
277 if (connector->encoder_ids[i] == 0)
278 break;
279
280 encoder = drm_encoder_find(connector->dev, NULL, connector->encoder_ids[i]);
281 if (!encoder)
282 continue;
283
284 if (encoder->encoder_type == DRM_MODE_ENCODER_VIRTUAL) 276 if (encoder->encoder_type == DRM_MODE_ENCODER_VIRTUAL)
285 return encoder; 277 return encoder;
286 } 278 }
287 279
288 /* pick the first one */ 280 /* pick the first one */
289 if (enc_id) 281 drm_connector_for_each_possible_encoder(connector, encoder, i)
290 return drm_encoder_find(connector->dev, NULL, enc_id); 282 return encoder;
283
291 return NULL; 284 return NULL;
292} 285}
293 286