int qxl_push_cursor_ring_release(struct qxl_device *qdev, struct qxl_release *release, uint32_t type, bool interruptible) { struct qxl_command cmd; cmd.type = type; cmd.data = qxl_bo_physical_address(qdev, release->bos[0], release->release_offset); return qxl_ring_push(qdev->cursor_ring, &cmd, interruptible); }
int qxl_push_cursor_ring_release(struct qxl_device *qdev, struct qxl_release *release, uint32_t type, bool interruptible) { struct qxl_command cmd; struct qxl_bo_list *entry = list_first_entry(&release->bos, struct qxl_bo_list, tv.head); cmd.type = type; cmd.data = qxl_bo_physical_address(qdev, to_qxl_bo(entry->tv.bo), release->release_offset); return qxl_ring_push(qdev->cursor_ring, &cmd, interruptible); }
static void push_cursor (qxl_screen_t *qxl, struct QXLCursorCmd *cursor) { struct QXLCommand cmd; /* See comment on push_command() in qxl_driver.c */ if (qxl->pScrn->vtSema) { cmd.type = QXL_CMD_CURSOR; cmd.data = physical_address (qxl, cursor, qxl->main_mem_slot); qxl_ring_push (qxl->cursor_ring, &cmd); } }