drm/connector: Allow max possible encoders to attach to a connector
[sfrench/cifs-2.6.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_ids.c
index df9b173c3d0b000462ce0731bbe2695c92f35d59..b3823f657bdf4052279e9855a43becca1ef4f717 100644 (file)
@@ -24,7 +24,7 @@
 
 #include <linux/idr.h>
 #include <linux/dma-fence-array.h>
-#include <drm/drmP.h>
+
 
 #include "amdgpu.h"
 #include "amdgpu_trace.h"
@@ -104,7 +104,7 @@ static void amdgpu_pasid_free_cb(struct dma_fence *fence,
  *
  * Free the pasid only after all the fences in resv are signaled.
  */
-void amdgpu_pasid_free_delayed(struct reservation_object *resv,
+void amdgpu_pasid_free_delayed(struct dma_resv *resv,
                               unsigned int pasid)
 {
        struct dma_fence *fence, **fences;
@@ -112,7 +112,7 @@ void amdgpu_pasid_free_delayed(struct reservation_object *resv,
        unsigned count;
        int r;
 
-       r = reservation_object_get_fences_rcu(resv, NULL, &count, &fences);
+       r = dma_resv_get_fences_rcu(resv, NULL, &count, &fences);
        if (r)
                goto fallback;
 
@@ -156,7 +156,7 @@ fallback:
        /* Not enough memory for the delayed delete, as last resort
         * block for all the fences to complete.
         */
-       reservation_object_wait_timeout_rcu(resv, true, false,
+       dma_resv_wait_timeout_rcu(resv, true, false,
                                            MAX_SCHEDULE_TIMEOUT);
        amdgpu_pasid_free(pasid);
 }
@@ -364,8 +364,11 @@ static int amdgpu_vmid_grab_used(struct amdgpu_vm *vm,
                if (updates && (!flushed || dma_fence_is_later(updates, flushed)))
                        needs_flush = true;
 
-               /* Concurrent flushes are only possible starting with Vega10 */
-               if (adev->asic_type < CHIP_VEGA10 && needs_flush)
+               /* Concurrent flushes are only possible starting with Vega10 and
+                * are broken on Navi10 and Navi14.
+                */
+               if (needs_flush && (adev->asic_type < CHIP_VEGA10 ||
+                                   adev->asic_type == CHIP_NAVI10))
                        continue;
 
                /* Good, we can use this VMID. Remember this submission as