drm/amdgpu: Added support for MV packet
[muen/linux.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_vce.c
index a33804b..d7261e0 100644 (file)
@@ -755,6 +755,18 @@ int amdgpu_vce_ring_parse_cs(struct amdgpu_cs_parser *p, uint32_t ib_idx)
                        if (r)
                                goto out;
                        break;
+
+               case 0x0500000d: /* MV buffer */
+                       r = amdgpu_vce_validate_bo(p, ib_idx, idx + 3,
+                                                       idx + 2, 0, 0);
+                       if (r)
+                               goto out;
+
+                       r = amdgpu_vce_validate_bo(p, ib_idx, idx + 8,
+                                                       idx + 7, 0, 0);
+                       if (r)
+                               goto out;
+                       break;
                }
 
                idx += len / 4;
@@ -860,6 +872,18 @@ int amdgpu_vce_ring_parse_cs(struct amdgpu_cs_parser *p, uint32_t ib_idx)
                                goto out;
                        break;
 
+               case 0x0500000d: /* MV buffer */
+                       r = amdgpu_vce_cs_reloc(p, ib_idx, idx + 3,
+                                                       idx + 2, *size, 0);
+                       if (r)
+                               goto out;
+
+                       r = amdgpu_vce_cs_reloc(p, ib_idx, idx + 8,
+                                                       idx + 7, *size / 12, 0);
+                       if (r)
+                               goto out;
+                       break;
+
                default:
                        DRM_ERROR("invalid VCE command (0x%x)!\n", cmd);
                        r = -EINVAL;