On Tue, Sep 12, 2017 at 1:39 PM, Marek Olšák <maraeo at gmail.com> wrote: > From: Marek Olšák <marek.olsak at amd.com> > Reviewed-by: Alex Deucher <alexander.deucher at 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 at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx