diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2018-06-28 09:13:10 -0400 |
---|---|---|
committer | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2018-07-05 09:52:08 -0400 |
commit | 98c0e348c09575edccdd63e9d2938f090b0d8739 (patch) | |
tree | fd62e3a8aa2a0143fe7e64f1a12cfc3264e9861e /drivers/gpu/drm/amd/amdgpu/dce_virtual.c | |
parent | 83aefbb887b59df0b3520965c3701e01deacfc52 (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.c | 15 |
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) | |||
269 | static struct drm_encoder * | 269 | static struct drm_encoder * |
270 | dce_virtual_encoder(struct drm_connector *connector) | 270 | dce_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 | ||