Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libdrm for openSUSE:Factory checked 
in at 2021-06-04 00:33:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libdrm (Old)
 and      /work/SRC/openSUSE:Factory/.libdrm.new.1898 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libdrm"

Fri Jun  4 00:33:10 2021 rev:154 rq:894907 version:2.4.106

Changes:
--------
--- /work/SRC/openSUSE:Factory/libdrm/libdrm.changes    2021-04-10 
15:26:31.890318758 +0200
+++ /work/SRC/openSUSE:Factory/.libdrm.new.1898/libdrm.changes  2021-06-04 
00:33:13.372875219 +0200
@@ -1,0 +2,7 @@
+Wed May 19 08:13:47 UTC 2021 - Paolo Stivanin <i...@paolostivanin.com>
+
+- Update to 2.4.106:
+  * various nouveau fixes
+  * improve tests
+
+-------------------------------------------------------------------

Old:
----
  libdrm-2.4.105.tar.xz

New:
----
  libdrm-2.4.106.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libdrm.spec ++++++
--- /var/tmp/diff_new_pack.HZW1Rd/_old  2021-06-04 00:33:13.956875672 +0200
+++ /var/tmp/diff_new_pack.HZW1Rd/_new  2021-06-04 00:33:13.960875674 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           libdrm
-Version:        2.4.105
+Version:        2.4.106
 Release:        0
 Summary:        Userspace Interface for Kernel DRM Services
 License:        MIT

++++++ libdrm-2.4.105.tar.xz -> libdrm-2.4.106.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdrm-2.4.105/meson.build 
new/libdrm-2.4.106/meson.build
--- old/libdrm-2.4.105/meson.build      2021-04-07 16:09:24.175843200 +0200
+++ new/libdrm-2.4.106/meson.build      2021-05-18 05:42:27.000000000 +0200
@@ -21,7 +21,7 @@
 project(
   'libdrm',
   ['c'],
-  version : '2.4.105',
+  version : '2.4.106',
   license : 'MIT',
   meson_version : '>= 0.43',
   default_options : ['buildtype=debugoptimized', 'c_std=gnu99'],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdrm-2.4.105/nouveau/nouveau.c 
new/libdrm-2.4.106/nouveau/nouveau.c
--- old/libdrm-2.4.105/nouveau/nouveau.c        2021-04-07 16:09:24.175843200 
+0200
+++ new/libdrm-2.4.106/nouveau/nouveau.c        2021-05-18 05:42:27.000000000 
+0200
@@ -46,19 +46,35 @@
 #include "nvif/ioctl.h"
 #include "nvif/unpack.h"
 
-#ifdef DEBUG
+drm_private FILE *nouveau_out = NULL;
 drm_private uint32_t nouveau_debug = 0;
 
 static void
-debug_init(char *args)
+debug_init(void)
 {
-       if (args) {
-               int n = strtol(args, NULL, 0);
+       static bool once = false;
+       char *debug, *out;
+
+       if (once)
+               return;
+       once = true;
+
+       debug = getenv("NOUVEAU_LIBDRM_DEBUG");
+       if (debug) {
+               int n = strtol(debug, NULL, 0);
                if (n >= 0)
                        nouveau_debug = n;
+
+       }
+
+       nouveau_out = stderr;
+       out = getenv("NOUVEAU_LIBDRM_OUT");
+       if (out) {
+               FILE *fout = fopen(out, "w");
+               if (fout)
+                       nouveau_out = fout;
        }
 }
-#endif
 
 static int
 nouveau_object_ioctl(struct nouveau_object *obj, void *data, uint32_t size)
@@ -327,9 +343,7 @@
        struct nouveau_drm *drm;
        drmVersionPtr ver;
 
-#ifdef DEBUG
-       debug_init(getenv("NOUVEAU_LIBDRM_DEBUG"));
-#endif
+       debug_init();
 
        if (!(drm = calloc(1, sizeof(*drm))))
                return -ENOMEM;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdrm-2.4.105/nouveau/private.h 
new/libdrm-2.4.106/nouveau/private.h
--- old/libdrm-2.4.105/nouveau/private.h        2021-04-07 16:09:24.175843200 
+0200
+++ new/libdrm-2.4.106/nouveau/private.h        2021-05-18 05:42:27.000000000 
+0200
@@ -1,6 +1,8 @@
 #ifndef __NOUVEAU_LIBDRM_PRIVATE_H__
 #define __NOUVEAU_LIBDRM_PRIVATE_H__
 
+#include <stdio.h>
+
 #include <libdrm_macros.h>
 #include <xf86drm.h>
 #include <xf86atomic.h>
@@ -9,18 +11,19 @@
 
 #include "nouveau.h"
 
-#ifdef DEBUG
+/*
+ * 0x00000001 dump all pushbuffers
+ * 0x00000002 submit pushbuffers synchronously
+ * 0x80000000 if compiled with SIMULATE return -EINVAL for all pb submissions
+ */
 drm_private extern uint32_t nouveau_debug;
+drm_private extern FILE *nouveau_out;
 #define dbg_on(lvl) (nouveau_debug & (1 << lvl))
 #define dbg(lvl, fmt, args...) do {                                            
\
        if (dbg_on((lvl)))                                                     \
-               fprintf(stderr, "nouveau: "fmt, ##args);                       \
+               fprintf(nouveau_out, "nouveau: "fmt, ##args);                   
    \
 } while(0)
-#else
-#define dbg_on(lvl) (0)
-#define dbg(lvl, fmt, args...)
-#endif
-#define err(fmt, args...) fprintf(stderr, "nouveau: "fmt, ##args)
+#define err(fmt, args...) fprintf(nouveau_out, "nouveau: "fmt, ##args)
 
 struct nouveau_client_kref {
        struct drm_nouveau_gem_pushbuf_bo *kref;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdrm-2.4.105/nouveau/pushbuf.c 
new/libdrm-2.4.106/nouveau/pushbuf.c
--- old/libdrm-2.4.105/nouveau/pushbuf.c        2021-04-07 16:09:24.175843200 
+0200
+++ new/libdrm-2.4.106/nouveau/pushbuf.c        2021-05-18 05:42:27.000000000 
+0200
@@ -292,11 +292,14 @@
                kref = krec->buffer + kpsh->bo_index;
                bo = (void *)(unsigned long)kref->user_priv;
                bgn = (uint32_t *)((char *)bo->map + kpsh->offset);
-               end = bgn + (kpsh->length /4);
+               end = bgn + ((kpsh->length & 0x7fffff) /4);
 
-               err("ch%d: psh %08x %010llx %010llx\n", chid, kpsh->bo_index,
+               err("ch%d: psh %s%08x %010llx %010llx\n", chid,
+                   bo->map ? "" : "(unmapped) ", kpsh->bo_index,
                    (unsigned long long)kpsh->offset,
                    (unsigned long long)(kpsh->offset + kpsh->length));
+               if (!bo->map)
+                       continue;
                while (bgn < end)
                        err("\t0x%08x\n", *bgn++);
        }
@@ -336,6 +339,8 @@
                req.suffix0 = nvpb->suffix0;
                req.suffix1 = nvpb->suffix1;
                req.vram_available = 0; /* for valgrind */
+               if (dbg_on(1))
+                       req.vram_available |= NOUVEAU_GEM_PUSHBUF_SYNC;
                req.gart_available = 0;
 
                if (dbg_on(0))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdrm-2.4.105/tests/amdgpu/amdgpu_test.h 
new/libdrm-2.4.106/tests/amdgpu/amdgpu_test.h
--- old/libdrm-2.4.105/tests/amdgpu/amdgpu_test.h       2021-04-07 
16:09:24.175843200 +0200
+++ new/libdrm-2.4.106/tests/amdgpu/amdgpu_test.h       2021-05-18 
05:42:27.000000000 +0200
@@ -449,13 +449,18 @@
        return r;
 }
 
-static inline bool asic_is_arcturus(uint32_t asic_id)
+
+static inline bool asic_is_gfx_pipe_removed(uint32_t family_id, uint32_t 
chip_id, uint32_t chip_rev)
 {
-       switch(asic_id) {
-       /* Arcturus asic DID */
-       case 0x738C:
-       case 0x7388:
-       case 0x738E:
+
+       if (family_id != AMDGPU_FAMILY_AI)
+       return false;
+
+       switch (chip_id - chip_rev) {
+       /* Arcturus */
+       case 0x32:
+       /* Aldebaran */
+       case 0x3c:
                return true;
        default:
                return false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdrm-2.4.105/tests/amdgpu/basic_tests.c 
new/libdrm-2.4.106/tests/amdgpu/basic_tests.c
--- old/libdrm-2.4.105/tests/amdgpu/basic_tests.c       2021-04-07 
16:09:24.175843200 +0200
+++ new/libdrm-2.4.106/tests/amdgpu/basic_tests.c       2021-05-18 
05:42:27.000000000 +0200
@@ -46,6 +46,8 @@
 static  uint32_t  major_version;
 static  uint32_t  minor_version;
 static  uint32_t  family_id;
+static  uint32_t  chip_id;
+static  uint32_t  chip_rev;
 
 static void amdgpu_query_info_test(void);
 static void amdgpu_command_submission_gfx(void);
@@ -341,9 +343,10 @@
 };
 
 static const uint32_t bufferclear_cs_shader_gfx9[] = {
-    0xD1FD0000, 0x04010C08, 0x7E020204, 0x7E040205,
-    0x7E060206, 0x7E080207, 0xE01C2000, 0x80000100,
-    0xBF810000
+    0x260000ff, 0x000003ff, 0xd1fd0000, 0x04010c08,
+    0x7e020280, 0x7e040204, 0x7e060205, 0x7e080206,
+    0x7e0a0207, 0xe01c2000, 0x80000200, 0xbf8c0000,
+    0xbf810000
 };
 
 static const uint32_t bufferclear_cs_shader_registers_gfx9[][2] = {
@@ -357,8 +360,9 @@
 static const uint32_t bufferclear_cs_shader_registers_num_gfx9 = 5;
 
 static const uint32_t buffercopy_cs_shader_gfx9[] = {
-    0xD1FD0000, 0x04010C08, 0xE00C2000, 0x80000100,
-    0xBF8C0F70, 0xE01C2000, 0x80010100, 0xBF810000
+    0x260000ff, 0x000003ff, 0xd1fd0000, 0x04010c08,
+    0x7e020280, 0xe00c2000, 0x80000200, 0xbf8c0f70,
+    0xe01c2000, 0x80010200, 0xbf810000
 };
 
 static const uint32_t preamblecache_gfx9[] = {
@@ -617,19 +621,20 @@
 
 CU_BOOL suite_basic_tests_enable(void)
 {
-       uint32_t asic_id;
 
        if (amdgpu_device_initialize(drm_amdgpu[0], &major_version,
                                             &minor_version, &device_handle))
                return CU_FALSE;
 
-       asic_id = device_handle->info.asic_id;
-
        if (amdgpu_device_deinitialize(device_handle))
                return CU_FALSE;
 
-       /* disable gfx engine basic test cases for Arturus due to no CPG */
-       if (asic_is_arcturus(asic_id)) {
+       family_id = device_handle->info.family_id;
+       chip_id = device_handle->info.chip_external_rev;
+       chip_rev = device_handle->info.chip_rev;
+
+       /* disable gfx engine basic test cases for some asics have no CPG */
+       if (asic_is_gfx_pipe_removed(family_id, chip_id, chip_rev)) {
                if (amdgpu_set_test_active("Basic Tests",
                                        "Command submission Test (GFX)",
                                        CU_FALSE))
@@ -1071,6 +1076,14 @@
        amdgpu_bo_list_handle bo_list[2];
        amdgpu_va_handle va_handle[2];
        int r, i;
+       struct amdgpu_gpu_info gpu_info = {0};
+       unsigned gc_ip_type;
+
+       r = amdgpu_query_gpu_info(device_handle, &gpu_info);
+       CU_ASSERT_EQUAL(r, 0);
+
+       gc_ip_type = (asic_is_gfx_pipe_removed(family_id, chip_id, chip_rev)) ?
+                       AMDGPU_HW_IP_COMPUTE : AMDGPU_HW_IP_GFX;
 
        if (family_id == AMDGPU_FAMILY_SI) {
                sdma_nop = SDMA_PACKET_SI(SDMA_NOP_SI, 0, 0, 0, 0);
@@ -1113,14 +1126,14 @@
        r = amdgpu_cs_signal_semaphore(context_handle[0], AMDGPU_HW_IP_DMA, 0, 
0, sem);
        CU_ASSERT_EQUAL(r, 0);
 
-       r = amdgpu_cs_wait_semaphore(context_handle[0], AMDGPU_HW_IP_GFX, 0, 0, 
sem);
+       r = amdgpu_cs_wait_semaphore(context_handle[0], gc_ip_type, 0, 0, sem);
        CU_ASSERT_EQUAL(r, 0);
        ptr = ib_result_cpu[1];
        ptr[0] = gfx_nop;
        ib_info[1].ib_mc_address = ib_result_mc_address[1];
        ib_info[1].size = 1;
 
-       ibs_request[1].ip_type = AMDGPU_HW_IP_GFX;
+       ibs_request[1].ip_type = gc_ip_type;
        ibs_request[1].number_of_ibs = 1;
        ibs_request[1].ibs = &ib_info[1];
        ibs_request[1].resources = bo_list[1];
@@ -1130,7 +1143,7 @@
        CU_ASSERT_EQUAL(r, 0);
 
        fence_status.context = context_handle[0];
-       fence_status.ip_type = AMDGPU_HW_IP_GFX;
+       fence_status.ip_type = gc_ip_type;
        fence_status.ip_instance = 0;
        fence_status.fence = ibs_request[1].seq_no;
        r = amdgpu_cs_query_fence_status(&fence_status,
@@ -1144,24 +1157,24 @@
        ib_info[0].ib_mc_address = ib_result_mc_address[0];
        ib_info[0].size = 1;
 
-       ibs_request[0].ip_type = AMDGPU_HW_IP_GFX;
+       ibs_request[0].ip_type = gc_ip_type;
        ibs_request[0].number_of_ibs = 1;
        ibs_request[0].ibs = &ib_info[0];
        ibs_request[0].resources = bo_list[0];
        ibs_request[0].fence_info.handle = NULL;
        r = amdgpu_cs_submit(context_handle[0], 0,&ibs_request[0], 1);
        CU_ASSERT_EQUAL(r, 0);
-       r = amdgpu_cs_signal_semaphore(context_handle[0], AMDGPU_HW_IP_GFX, 0, 
0, sem);
+       r = amdgpu_cs_signal_semaphore(context_handle[0], gc_ip_type, 0, 0, 
sem);
        CU_ASSERT_EQUAL(r, 0);
 
-       r = amdgpu_cs_wait_semaphore(context_handle[1], AMDGPU_HW_IP_GFX, 0, 0, 
sem);
+       r = amdgpu_cs_wait_semaphore(context_handle[1], gc_ip_type, 0, 0, sem);
        CU_ASSERT_EQUAL(r, 0);
        ptr = ib_result_cpu[1];
        ptr[0] = gfx_nop;
        ib_info[1].ib_mc_address = ib_result_mc_address[1];
        ib_info[1].size = 1;
 
-       ibs_request[1].ip_type = AMDGPU_HW_IP_GFX;
+       ibs_request[1].ip_type = gc_ip_type;
        ibs_request[1].number_of_ibs = 1;
        ibs_request[1].ibs = &ib_info[1];
        ibs_request[1].resources = bo_list[1];
@@ -1171,7 +1184,7 @@
        CU_ASSERT_EQUAL(r, 0);
 
        fence_status.context = context_handle[1];
-       fence_status.ip_type = AMDGPU_HW_IP_GFX;
+       fence_status.ip_type = gc_ip_type;
        fence_status.ip_instance = 0;
        fence_status.fence = ibs_request[1].seq_no;
        r = amdgpu_cs_query_fence_status(&fence_status,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdrm-2.4.105/tests/amdgpu/cs_tests.c 
new/libdrm-2.4.106/tests/amdgpu/cs_tests.c
--- old/libdrm-2.4.105/tests/amdgpu/cs_tests.c  2021-04-07 16:09:24.179843000 
+0200
+++ new/libdrm-2.4.106/tests/amdgpu/cs_tests.c  2021-05-18 05:42:27.000000000 
+0200
@@ -64,21 +64,20 @@
 
 CU_BOOL suite_cs_tests_enable(void)
 {
-       uint32_t asic_id;
-
        if (amdgpu_device_initialize(drm_amdgpu[0], &major_version,
                                             &minor_version, &device_handle))
                return CU_FALSE;
 
        family_id = device_handle->info.family_id;
-       asic_id = device_handle->info.asic_id;
+    chip_id = device_handle->info.chip_external_rev;
+    chip_rev = device_handle->info.chip_rev;
 
        if (amdgpu_device_deinitialize(device_handle))
                return CU_FALSE;
 
 
        if (family_id >= AMDGPU_FAMILY_RV || family_id == AMDGPU_FAMILY_SI ||
-               asic_is_arcturus(asic_id)) {
+               asic_is_gfx_pipe_removed(family_id, chip_id, chip_rev)) {
                printf("\n\nThe ASIC NOT support UVD, suite disabled\n");
                return CU_FALSE;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdrm-2.4.105/tests/amdgpu/deadlock_tests.c 
new/libdrm-2.4.106/tests/amdgpu/deadlock_tests.c
--- old/libdrm-2.4.105/tests/amdgpu/deadlock_tests.c    2021-04-07 
16:09:24.179843000 +0200
+++ new/libdrm-2.4.106/tests/amdgpu/deadlock_tests.c    2021-05-18 
05:42:27.000000000 +0200
@@ -106,6 +106,10 @@
 static pthread_t stress_thread;
 static uint32_t *ptr;
 
+static uint32_t family_id;
+static uint32_t chip_rev;
+static uint32_t chip_id;
+
 int use_uc_mtype = 0;
 
 static void amdgpu_deadlock_helper(unsigned ip_type);
@@ -124,25 +128,27 @@
 CU_BOOL suite_deadlock_tests_enable(void)
 {
        CU_BOOL enable = CU_TRUE;
-       uint32_t asic_id;
 
        if (amdgpu_device_initialize(drm_amdgpu[0], &major_version,
                                             &minor_version, &device_handle))
                return CU_FALSE;
 
+       family_id = device_handle->info.family_id;
+       chip_id = device_handle->info.chip_external_rev;
+       chip_rev = device_handle->info.chip_rev;
+
        /*
         * Only enable for ASICs supporting GPU reset and for which it's enabled
         * by default (currently GFX8/9 dGPUS)
         */
-       if (device_handle->info.family_id != AMDGPU_FAMILY_VI &&
-           device_handle->info.family_id != AMDGPU_FAMILY_AI &&
-           device_handle->info.family_id != AMDGPU_FAMILY_CI) {
+       if (family_id != AMDGPU_FAMILY_VI &&
+           family_id != AMDGPU_FAMILY_AI &&
+           family_id != AMDGPU_FAMILY_CI) {
                printf("\n\nGPU reset is not enabled for the ASIC, deadlock 
suite disabled\n");
                enable = CU_FALSE;
        }
 
-       asic_id = device_handle->info.asic_id;
-       if (asic_is_arcturus(asic_id)) {
+       if (asic_is_gfx_pipe_removed(family_id, chip_id, chip_rev)) {
                if (amdgpu_set_test_active("Deadlock Tests",
                                        "gfx ring block test (set 
amdgpu.lockup_timeout=50)",
                                        CU_FALSE))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdrm-2.4.105/tests/amdgpu/security_tests.c 
new/libdrm-2.4.106/tests/amdgpu/security_tests.c
--- old/libdrm-2.4.105/tests/amdgpu/security_tests.c    2021-04-07 
16:09:24.179843000 +0200
+++ new/libdrm-2.4.106/tests/amdgpu/security_tests.c    2021-05-18 
05:42:27.000000000 +0200
@@ -432,7 +432,8 @@
                                     &minor_version, &device_handle))
                return CU_FALSE;
 
-       if (device_handle->info.family_id != AMDGPU_FAMILY_RV) {
+
+       if (!(device_handle->dev_info.ids_flags & AMDGPU_IDS_FLAGS_TMZ)) {
                printf("\n\nDon't support TMZ (trust memory zone), security 
suite disabled\n");
                enable = CU_FALSE;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdrm-2.4.105/tests/amdgpu/syncobj_tests.c 
new/libdrm-2.4.106/tests/amdgpu/syncobj_tests.c
--- old/libdrm-2.4.105/tests/amdgpu/syncobj_tests.c     2021-04-07 
16:09:24.179843000 +0200
+++ new/libdrm-2.4.106/tests/amdgpu/syncobj_tests.c     2021-05-18 
05:42:27.000000000 +0200
@@ -33,6 +33,10 @@
 static  uint32_t  major_version;
 static  uint32_t  minor_version;
 
+static  uint32_t  family_id;
+static  uint32_t  chip_id;
+static  uint32_t  chip_rev;
+
 static void amdgpu_syncobj_timeline_test(void);
 
 CU_BOOL suite_syncobj_timeline_tests_enable(void)
@@ -99,7 +103,19 @@
        uint32_t expired;
        int i, r;
        uint64_t seq_no;
-       uint32_t *ptr;
+       static uint32_t *ptr;
+       struct amdgpu_gpu_info gpu_info = {0};
+       unsigned gc_ip_type;
+
+       r = amdgpu_query_gpu_info(device_handle, &gpu_info);
+       CU_ASSERT_EQUAL(r, 0);
+
+       family_id = device_handle->info.family_id;
+       chip_id = device_handle->info.chip_external_rev;
+       chip_rev = device_handle->info.chip_rev;
+
+       gc_ip_type = (asic_is_gfx_pipe_removed(family_id, chip_id, chip_rev)) ?
+                       AMDGPU_HW_IP_COMPUTE : AMDGPU_HW_IP_GFX;
 
        r = amdgpu_cs_ctx_create(device_handle, &context_handle);
        CU_ASSERT_EQUAL(r, 0);
@@ -125,11 +141,11 @@
        chunk_data.ib_data._pad = 0;
        chunk_data.ib_data.va_start = ib_result_mc_address;
        chunk_data.ib_data.ib_bytes = 16 * 4;
-       chunk_data.ib_data.ip_type = wait_or_signal ? AMDGPU_HW_IP_GFX :
+       chunk_data.ib_data.ip_type = wait_or_signal ? gc_ip_type :
                AMDGPU_HW_IP_DMA;
        chunk_data.ib_data.ip_instance = 0;
        chunk_data.ib_data.ring = 0;
-       chunk_data.ib_data.flags = 0;
+       chunk_data.ib_data.flags = AMDGPU_IB_FLAG_EMIT_MEM_SYNC;
 
        chunks[1].chunk_id = wait_or_signal ?
                AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_WAIT :
@@ -151,7 +167,7 @@
 
        memset(&fence_status, 0, sizeof(struct amdgpu_cs_fence));
        fence_status.context = context_handle;
-       fence_status.ip_type = wait_or_signal ? AMDGPU_HW_IP_GFX:
+       fence_status.ip_type = wait_or_signal ? gc_ip_type :
                AMDGPU_HW_IP_DMA;
        fence_status.ip_instance = 0;
        fence_status.ring = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdrm-2.4.105/tests/amdgpu/vce_tests.c 
new/libdrm-2.4.106/tests/amdgpu/vce_tests.c
--- old/libdrm-2.4.105/tests/amdgpu/vce_tests.c 2021-04-07 16:09:24.179843000 
+0200
+++ new/libdrm-2.4.106/tests/amdgpu/vce_tests.c 2021-05-18 05:42:27.000000000 
+0200
@@ -116,7 +116,7 @@
                return CU_FALSE;
 
        if (family_id >= AMDGPU_FAMILY_RV || family_id == AMDGPU_FAMILY_SI ||
-               asic_is_arcturus(asic_id)) {
+               asic_is_gfx_pipe_removed(family_id, chip_id, chip_rev)) {
                printf("\n\nThe ASIC NOT support VCE, suite disabled\n");
                return CU_FALSE;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdrm-2.4.105/tests/amdgpu/vcn_tests.c 
new/libdrm-2.4.106/tests/amdgpu/vcn_tests.c
--- old/libdrm-2.4.105/tests/amdgpu/vcn_tests.c 2021-04-07 16:09:24.179843000 
+0200
+++ new/libdrm-2.4.106/tests/amdgpu/vcn_tests.c 2021-05-18 05:42:27.000000000 
+0200
@@ -114,7 +114,7 @@
        if (r != 0 || !info.available_rings ||
            (family_id < AMDGPU_FAMILY_RV &&
             (family_id == AMDGPU_FAMILY_AI &&
-             chip_id != (chip_rev + 0x32)))) {  /* Arcturus */
+             (chip_id - chip_rev) < 0x32))) {  /* Arcturus */
                printf("\n\nThe ASIC NOT support VCN, suite disabled\n");
                return CU_FALSE;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdrm-2.4.105/tests/amdgpu/vm_tests.c 
new/libdrm-2.4.106/tests/amdgpu/vm_tests.c
--- old/libdrm-2.4.105/tests/amdgpu/vm_tests.c  2021-04-07 16:09:24.179843000 
+0200
+++ new/libdrm-2.4.106/tests/amdgpu/vm_tests.c  2021-05-18 05:42:27.000000000 
+0200
@@ -30,6 +30,9 @@
 static  amdgpu_device_handle device_handle;
 static  uint32_t  major_version;
 static  uint32_t  minor_version;
+static  uint32_t  family_id;
+static  uint32_t  chip_id;
+static  uint32_t  chip_rev;
 
 static void amdgpu_vmid_reserve_test(void);
 static void amdgpu_vm_unaligned_map(void);
@@ -110,7 +113,11 @@
        r = amdgpu_query_gpu_info(device_handle, &gpu_info);
        CU_ASSERT_EQUAL(r, 0);
 
-       gc_ip_type = (asic_is_arcturus(gpu_info.asic_id)) ?
+       family_id = device_handle->info.family_id;
+       chip_id = device_handle->info.chip_external_rev;
+       chip_rev = device_handle->info.chip_rev;
+
+       gc_ip_type = (asic_is_gfx_pipe_removed(family_id, chip_id, chip_rev)) ?
                        AMDGPU_HW_IP_COMPUTE : AMDGPU_HW_IP_GFX;
 
        r = amdgpu_cs_ctx_create(device_handle, &context_handle);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdrm-2.4.105/xf86drmMode.c 
new/libdrm-2.4.106/xf86drmMode.c
--- old/libdrm-2.4.105/xf86drmMode.c    2021-04-07 16:09:24.183843000 +0200
+++ new/libdrm-2.4.106/xf86drmMode.c    2021-05-18 05:42:27.000000000 +0200
@@ -289,10 +289,8 @@
        memcpy(f.handles, bo_handles, 4 * sizeof(bo_handles[0]));
        memcpy(f.pitches, pitches, 4 * sizeof(pitches[0]));
        memcpy(f.offsets, offsets, 4 * sizeof(offsets[0]));
-       if (modifier) {
-               f.flags |= DRM_MODE_FB_MODIFIERS;
+       if (modifier)
                memcpy(f.modifier, modifier, 4 * sizeof(modifier[0]));
-       }
 
        if ((ret = DRM_IOCTL(fd, DRM_IOCTL_MODE_ADDFB2, &f)))
                return ret;

Reply via email to