From: Marek Olšák <marek.ol...@amd.com>

---
 amdgpu/amdgpu_device.c | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/amdgpu/amdgpu_device.c b/amdgpu/amdgpu_device.c
index 9a238d9..2b31c45 100644
--- a/amdgpu/amdgpu_device.c
+++ b/amdgpu/amdgpu_device.c
@@ -184,42 +184,47 @@ int amdgpu_device_initialize(int fd,
        uint32_t accel_working = 0;
        uint64_t start, max;
 
        *device_handle = NULL;
 
        pthread_mutex_lock(&fd_mutex);
        if (!fd_tab)
                fd_tab = util_hash_table_create(fd_hash, fd_compare);
        r = amdgpu_get_auth(fd, &flag_auth);
        if (r) {
+               fprintf(stderr, "%s: amdgpu_get_auth (1) failed (%i)\n",
+                       __func__, r);
                pthread_mutex_unlock(&fd_mutex);
                return r;
        }
        dev = util_hash_table_get(fd_tab, UINT_TO_PTR(fd));
        if (dev) {
                r = amdgpu_get_auth(dev->fd, &flag_authexist);
                if (r) {
+                       fprintf(stderr, "%s: amdgpu_get_auth (2) failed (%i)\n",
+                               __func__, r);
                        pthread_mutex_unlock(&fd_mutex);
                        return r;
                }
                if ((flag_auth) && (!flag_authexist)) {
                        dev->flink_fd = dup(fd);
                }
                *major_version = dev->major_version;
                *minor_version = dev->minor_version;
                amdgpu_device_reference(device_handle, dev);
                pthread_mutex_unlock(&fd_mutex);
                return 0;
        }
 
        dev = calloc(1, sizeof(struct amdgpu_device));
        if (!dev) {
+               fprintf(stderr, "%s: calloc failed\n", __func__);
                pthread_mutex_unlock(&fd_mutex);
                return -ENOMEM;
        }
 
        dev->fd = -1;
        dev->flink_fd = -1;
 
        atomic_set(&dev->refcount, 1);
 
        version = drmGetVersion(fd);
@@ -241,41 +246,49 @@ int amdgpu_device_initialize(int fd,
        dev->minor_version = version->version_minor;
        drmFreeVersion(version);
 
        dev->bo_flink_names = util_hash_table_create(handle_hash,
                                                     handle_compare);
        dev->bo_handles = util_hash_table_create(handle_hash, handle_compare);
        pthread_mutex_init(&dev->bo_table_mutex, NULL);
 
        /* Check if acceleration is working. */
        r = amdgpu_query_info(dev, AMDGPU_INFO_ACCEL_WORKING, 4, 
&accel_working);
-       if (r)
+       if (r) {
+               fprintf(stderr, "%s: amdgpu_query_info(ACCEL_WORKING) failed 
(%i)\n",
+                       __func__, r);
                goto cleanup;
+       }
        if (!accel_working) {
+               fprintf(stderr, "%s: AMDGPU_INFO_ACCEL_WORKING = 0\n", 
__func__);
                r = -EBADF;
                goto cleanup;
        }
 
        r = amdgpu_query_gpu_info_init(dev);
-       if (r)
+       if (r) {
+               fprintf(stderr, "%s: amdgpu_query_gpu_info_init failed\n", 
__func__);
                goto cleanup;
+       }
 
        amdgpu_vamgr_init(&dev->vamgr, dev->dev_info.virtual_address_offset,
                          dev->dev_info.virtual_address_max,
                          dev->dev_info.virtual_address_alignment);
 
        max = MIN2(dev->dev_info.virtual_address_max, 0xffffffff);
        start = amdgpu_vamgr_find_va(&dev->vamgr,
                                     max - dev->dev_info.virtual_address_offset,
                                     dev->dev_info.virtual_address_alignment, 
0);
-       if (start > 0xffffffff)
+       if (start > 0xffffffff) {
+               fprintf(stderr, "%s: amdgpu_vamgr_find_va failed\n", __func__);
                goto free_va; /* shouldn't get here */
+       }
 
        amdgpu_vamgr_init(&dev->vamgr_32, start, max,
                          dev->dev_info.virtual_address_alignment);
 
        r = amdgpu_parse_asic_ids(&dev->asic_ids);
        if (r) {
                fprintf(stderr, "%s: Cannot parse ASIC IDs, 0x%x.",
                        __func__, r);
        }
 
-- 
2.7.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to