Lines Matching refs:tx_buf
70 struct ivpu_ipc_tx_buf *tx_buf; in ivpu_ipc_tx_prepare() local
74 tx_buf_vpu_addr = gen_pool_alloc(ipc->mm_tx, sizeof(*tx_buf)); in ivpu_ipc_tx_prepare()
77 sizeof(*tx_buf)); in ivpu_ipc_tx_prepare()
81 tx_buf = ivpu_to_cpu_addr(ipc->mem_tx, tx_buf_vpu_addr); in ivpu_ipc_tx_prepare()
82 if (drm_WARN_ON(&vdev->drm, !tx_buf)) { in ivpu_ipc_tx_prepare()
83 gen_pool_free(ipc->mm_tx, tx_buf_vpu_addr, sizeof(*tx_buf)); in ivpu_ipc_tx_prepare()
89 if (tx_buf->ipc.status != IVPU_IPC_HDR_FREE) in ivpu_ipc_tx_prepare()
93 if (tx_buf->jsm.status != VPU_JSM_MSG_FREE) in ivpu_ipc_tx_prepare()
97 memset(tx_buf, 0, sizeof(*tx_buf)); in ivpu_ipc_tx_prepare()
98 tx_buf->ipc.data_addr = jsm_vpu_addr; in ivpu_ipc_tx_prepare()
100 tx_buf->ipc.data_size = sizeof(*req); in ivpu_ipc_tx_prepare()
101 tx_buf->ipc.channel = cons->channel; in ivpu_ipc_tx_prepare()
102 tx_buf->ipc.src_node = 0; in ivpu_ipc_tx_prepare()
103 tx_buf->ipc.dst_node = 1; in ivpu_ipc_tx_prepare()
104 tx_buf->ipc.status = IVPU_IPC_HDR_ALLOCATED; in ivpu_ipc_tx_prepare()
105 tx_buf->jsm.type = req->type; in ivpu_ipc_tx_prepare()
106 tx_buf->jsm.status = VPU_JSM_MSG_ALLOCATED; in ivpu_ipc_tx_prepare()
107 tx_buf->jsm.payload = req->payload; in ivpu_ipc_tx_prepare()
110 tx_buf->jsm.request_id = req->request_id; in ivpu_ipc_tx_prepare()
116 ivpu_jsm_msg_dump(vdev, "TX", &tx_buf->jsm, jsm_vpu_addr); in ivpu_ipc_tx_prepare()
117 ivpu_ipc_msg_dump(vdev, "TX", &tx_buf->ipc, tx_buf_vpu_addr); in ivpu_ipc_tx_prepare()