OSDN Git Service

drm/amd/display: arbitration find the matching dig-az first.
authorCharlene Liu <charlene.liu@amd.com>
Thu, 28 Sep 2017 19:38:01 +0000 (15:38 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Sat, 21 Oct 2017 20:46:27 +0000 (16:46 -0400)
[Description]
this change is in branch already.
without this change, after resume, az_inst might swapped.

Signed-off-by: Charlene Liu <charlene.liu@amd.com>
Reviewed-by: Anthony Koo <Anthony.Koo@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_resource.c

index 68c6132..c31dccd 100644 (file)
@@ -1417,19 +1417,15 @@ static struct audio *find_first_free_audio(
                const struct resource_pool *pool)
 {
        int i;
-       if (pool->audio_count >=  pool->stream_enc_count) {
-               for (i = 0; i < pool->audio_count; i++) {
-                       if ((res_ctx->is_audio_acquired[i] == false) && (res_ctx->is_stream_enc_acquired[i] == true)) {
-                               /*we have enough audio endpoint, no need to do dynamic distribution*/
-                               return pool->audios[i];
-                       }
+       for (i = 0; i < pool->audio_count; i++) {
+               if ((res_ctx->is_audio_acquired[i] == false) && (res_ctx->is_stream_enc_acquired[i] == true)) {
+                       return pool->audios[i];
                }
-       } else { /*first come first serve*/
-               for (i = 0; i < pool->audio_count; i++) {
-                       if (res_ctx->is_audio_acquired[i] == false) {
-
-                               return pool->audios[i];
-                       }
+       }
+       /*not found the matching one, first come first serve*/
+       for (i = 0; i < pool->audio_count; i++) {
+               if (res_ctx->is_audio_acquired[i] == false) {
+                       return pool->audios[i];
                }
        }
        return 0;