Commit f5b9c8cf authored by Oded Gabbay's avatar Oded Gabbay
Browse files

habanalabs: change CB's ID to be 64 bits



Although the possible values for CB's ID are only 32 bits, there are a few
places in the code where this field is shifted and passed into a function
which expects 64 bits.

Reported-by: default avatarkernel test robot <lkp@intel.com>
Reviewed-by: default avatarTomer Tayar <ttayar@habana.ai>
Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
parent d6b045c0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -174,7 +174,7 @@ int hl_cb_create(struct hl_device *hdev, struct hl_cb_mgr *mgr,
		goto release_cb;
	}

	cb->id = rc;
	cb->id = (u64) rc;

	kref_init(&cb->refcount);
	spin_lock_init(&cb->lock);
+1 −1
Original line number Diff line number Diff line
@@ -110,7 +110,7 @@ static int command_buffers_show(struct seq_file *s, void *data)
			seq_puts(s, "---------------------------------------------------------------\n");
		}
		seq_printf(s,
			"   %03d        %d    0x%08x      %d          %d          %d\n",
			"   %03llu        %d    0x%08x      %d          %d          %d\n",
			cb->id, cb->ctx_id, cb->size,
			kref_read(&cb->refcount),
			cb->mmap, cb->cs_cnt);
+2 −2
Original line number Diff line number Diff line
@@ -401,11 +401,11 @@ struct hl_cb_mgr {
 * @lock: spinlock to protect mmap/cs flows.
 * @debugfs_list: node in debugfs list of command buffers.
 * @pool_list: node in pool list of command buffers.
 * @id: the CB's ID.
 * @kernel_address: Holds the CB's kernel virtual address.
 * @bus_address: Holds the CB's DMA address.
 * @mmap_size: Holds the CB's size that was mmaped.
 * @size: holds the CB's size.
 * @id: the CB's ID.
 * @cs_cnt: holds number of CS that this CB participates in.
 * @ctx_id: holds the ID of the owner's context.
 * @mmap: true if the CB is currently mmaped to user.
@@ -418,11 +418,11 @@ struct hl_cb {
	spinlock_t		lock;
	struct list_head	debugfs_list;
	struct list_head	pool_list;
	u64			id;
	u64			kernel_address;
	dma_addr_t		bus_address;
	u32			mmap_size;
	u32			size;
	u32			id;
	u32			cs_cnt;
	u32			ctx_id;
	u8			mmap;