Commit f5b9c8cf authored by Oded Gabbay's avatar Oded Gabbay

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
...@@ -174,7 +174,7 @@ int hl_cb_create(struct hl_device *hdev, struct hl_cb_mgr *mgr, ...@@ -174,7 +174,7 @@ int hl_cb_create(struct hl_device *hdev, struct hl_cb_mgr *mgr,
goto release_cb; goto release_cb;
} }
cb->id = rc; cb->id = (u64) rc;
kref_init(&cb->refcount); kref_init(&cb->refcount);
spin_lock_init(&cb->lock); spin_lock_init(&cb->lock);
......
...@@ -110,7 +110,7 @@ static int command_buffers_show(struct seq_file *s, void *data) ...@@ -110,7 +110,7 @@ static int command_buffers_show(struct seq_file *s, void *data)
seq_puts(s, "---------------------------------------------------------------\n"); seq_puts(s, "---------------------------------------------------------------\n");
} }
seq_printf(s, 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, cb->id, cb->ctx_id, cb->size,
kref_read(&cb->refcount), kref_read(&cb->refcount),
cb->mmap, cb->cs_cnt); cb->mmap, cb->cs_cnt);
......
...@@ -401,11 +401,11 @@ struct hl_cb_mgr { ...@@ -401,11 +401,11 @@ struct hl_cb_mgr {
* @lock: spinlock to protect mmap/cs flows. * @lock: spinlock to protect mmap/cs flows.
* @debugfs_list: node in debugfs list of command buffers. * @debugfs_list: node in debugfs list of command buffers.
* @pool_list: node in pool 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. * @kernel_address: Holds the CB's kernel virtual address.
* @bus_address: Holds the CB's DMA address. * @bus_address: Holds the CB's DMA address.
* @mmap_size: Holds the CB's size that was mmaped. * @mmap_size: Holds the CB's size that was mmaped.
* @size: holds the CB's size. * @size: holds the CB's size.
* @id: the CB's ID.
* @cs_cnt: holds number of CS that this CB participates in. * @cs_cnt: holds number of CS that this CB participates in.
* @ctx_id: holds the ID of the owner's context. * @ctx_id: holds the ID of the owner's context.
* @mmap: true if the CB is currently mmaped to user. * @mmap: true if the CB is currently mmaped to user.
...@@ -418,11 +418,11 @@ struct hl_cb { ...@@ -418,11 +418,11 @@ struct hl_cb {
spinlock_t lock; spinlock_t lock;
struct list_head debugfs_list; struct list_head debugfs_list;
struct list_head pool_list; struct list_head pool_list;
u64 id;
u64 kernel_address; u64 kernel_address;
dma_addr_t bus_address; dma_addr_t bus_address;
u32 mmap_size; u32 mmap_size;
u32 size; u32 size;
u32 id;
u32 cs_cnt; u32 cs_cnt;
u32 ctx_id; u32 ctx_id;
u8 mmap; u8 mmap;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment