Lines Matching refs:cmdbuf
921 const drm_savage_cmd_header_t *cmdbuf;
924 cmdbuf = start;
925 while (cmdbuf < end) {
927 cmd_header = *cmdbuf;
928 cmdbuf++;
943 &cmd_header, (const uint16_t *)cmdbuf,
945 cmdbuf += j;
951 &cmd_header, (const uint16_t *)cmdbuf,
954 cmdbuf += j;
977 drm_savage_cmdbuf_t *cmdbuf = data;
990 if (cmdbuf->dma_idx >= dma->buf_count) {
993 cmdbuf->dma_idx, dma->buf_count - 1);
996 dmabuf = dma->buflist[cmdbuf->dma_idx];
1006 if (cmdbuf->size) {
1007 kcmd_addr = kmalloc_array(cmdbuf->size, 8, GFP_KERNEL);
1011 if (copy_from_user(kcmd_addr, cmdbuf->cmd_addr,
1012 cmdbuf->size * 8))
1017 cmdbuf->cmd_addr = kcmd_addr;
1019 if (cmdbuf->vb_size) {
1020 kvb_addr = memdup_user(cmdbuf->vb_addr, cmdbuf->vb_size);
1026 cmdbuf->vb_addr = kvb_addr;
1028 if (cmdbuf->nbox) {
1029 kbox_addr = kmalloc_array(cmdbuf->nbox, sizeof(struct drm_clip_rect),
1036 if (copy_from_user(kbox_addr, cmdbuf->box_addr,
1037 cmdbuf->nbox * sizeof(struct drm_clip_rect))) {
1041 cmdbuf->box_addr = kbox_addr;
1054 while (i < cmdbuf->size) {
1056 cmd_header = *(drm_savage_cmd_header_t *)cmdbuf->cmd_addr;
1057 cmdbuf->cmd_addr++;
1067 if (i + j > cmdbuf->size) {
1078 first_draw_cmd = cmdbuf->cmd_addr - 1;
1079 cmdbuf->cmd_addr += j;
1086 cmdbuf->cmd_addr - 1,
1087 dmabuf, cmdbuf->vb_addr, cmdbuf->vb_size,
1088 cmdbuf->vb_stride,
1089 cmdbuf->nbox, cmdbuf->box_addr);
1101 if (i + j > cmdbuf->size) {
1109 (const uint32_t *)cmdbuf->cmd_addr);
1110 cmdbuf->cmd_addr += j;
1114 if (i + 1 > cmdbuf->size) {
1122 cmdbuf->cmd_addr,
1123 cmdbuf->nbox,
1124 cmdbuf->box_addr);
1125 cmdbuf->cmd_addr++;
1129 ret = savage_dispatch_swap(dev_priv, cmdbuf->nbox,
1130 cmdbuf->box_addr);
1148 dev_priv, first_draw_cmd, cmdbuf->cmd_addr, dmabuf,
1149 cmdbuf->vb_addr, cmdbuf->vb_size, cmdbuf->vb_stride,
1150 cmdbuf->nbox, cmdbuf->box_addr);
1159 if (dmabuf && cmdbuf->discard) {