Lines Matching refs:cmdbuf
907 const drm_savage_cmd_header_t *cmdbuf; in savage_dispatch_draw() local
910 cmdbuf = start; in savage_dispatch_draw()
911 while (cmdbuf < end) { in savage_dispatch_draw()
913 cmd_header = *cmdbuf; in savage_dispatch_draw()
914 cmdbuf++; in savage_dispatch_draw()
929 &cmd_header, (const uint16_t *)cmdbuf, in savage_dispatch_draw()
931 cmdbuf += j; in savage_dispatch_draw()
937 &cmd_header, (const uint16_t *)cmdbuf, in savage_dispatch_draw()
940 cmdbuf += j; in savage_dispatch_draw()
963 drm_savage_cmdbuf_t *cmdbuf = data; in savage_bci_cmdbuf() local
976 if (cmdbuf->dma_idx > dma->buf_count) { in savage_bci_cmdbuf()
979 cmdbuf->dma_idx, dma->buf_count - 1); in savage_bci_cmdbuf()
982 dmabuf = dma->buflist[cmdbuf->dma_idx]; in savage_bci_cmdbuf()
992 if (cmdbuf->size) { in savage_bci_cmdbuf()
993 kcmd_addr = drm_alloc(cmdbuf->size * 8, DRM_MEM_DRIVER); in savage_bci_cmdbuf()
997 if (DRM_COPY_FROM_USER(kcmd_addr, cmdbuf->cmd_addr, in savage_bci_cmdbuf()
998 cmdbuf->size * 8)) in savage_bci_cmdbuf()
1000 drm_free(kcmd_addr, cmdbuf->size * 8, DRM_MEM_DRIVER); in savage_bci_cmdbuf()
1003 cmdbuf->cmd_addr = kcmd_addr; in savage_bci_cmdbuf()
1005 if (cmdbuf->vb_size) { in savage_bci_cmdbuf()
1006 kvb_addr = drm_alloc(cmdbuf->vb_size, DRM_MEM_DRIVER); in savage_bci_cmdbuf()
1012 if (DRM_COPY_FROM_USER(kvb_addr, cmdbuf->vb_addr, in savage_bci_cmdbuf()
1013 cmdbuf->vb_size)) { in savage_bci_cmdbuf()
1017 cmdbuf->vb_addr = kvb_addr; in savage_bci_cmdbuf()
1019 if (cmdbuf->nbox) { in savage_bci_cmdbuf()
1020 kbox_addr = drm_alloc(cmdbuf->nbox * in savage_bci_cmdbuf()
1028 if (DRM_COPY_FROM_USER(kbox_addr, cmdbuf->box_addr, in savage_bci_cmdbuf()
1029 cmdbuf->nbox * in savage_bci_cmdbuf()
1034 cmdbuf->box_addr = kbox_addr; in savage_bci_cmdbuf()
1047 while (i < cmdbuf->size) { in savage_bci_cmdbuf()
1049 cmd_header = *(drm_savage_cmd_header_t *)cmdbuf->cmd_addr; in savage_bci_cmdbuf()
1050 cmdbuf->cmd_addr++; in savage_bci_cmdbuf()
1060 if (i + j > cmdbuf->size) { in savage_bci_cmdbuf()
1070 first_draw_cmd = cmdbuf->cmd_addr - 1; in savage_bci_cmdbuf()
1071 cmdbuf->cmd_addr += j; in savage_bci_cmdbuf()
1078 cmdbuf->cmd_addr - 1, in savage_bci_cmdbuf()
1079 dmabuf, cmdbuf->vb_addr, in savage_bci_cmdbuf()
1080 cmdbuf->vb_size, in savage_bci_cmdbuf()
1081 cmdbuf->vb_stride, in savage_bci_cmdbuf()
1082 cmdbuf->nbox, cmdbuf->box_addr); in savage_bci_cmdbuf()
1094 if (i + j > cmdbuf->size) { in savage_bci_cmdbuf()
1102 (const uint32_t *)cmdbuf->cmd_addr); in savage_bci_cmdbuf()
1103 cmdbuf->cmd_addr += j; in savage_bci_cmdbuf()
1107 if (i + 1 > cmdbuf->size) { in savage_bci_cmdbuf()
1115 cmdbuf->cmd_addr, in savage_bci_cmdbuf()
1116 cmdbuf->nbox, in savage_bci_cmdbuf()
1117 cmdbuf->box_addr); in savage_bci_cmdbuf()
1118 cmdbuf->cmd_addr++; in savage_bci_cmdbuf()
1122 ret = savage_dispatch_swap(dev_priv, cmdbuf->nbox, in savage_bci_cmdbuf()
1123 cmdbuf->box_addr); in savage_bci_cmdbuf()
1141 dev_priv, first_draw_cmd, cmdbuf->cmd_addr, dmabuf, in savage_bci_cmdbuf()
1142 cmdbuf->vb_addr, cmdbuf->vb_size, cmdbuf->vb_stride, in savage_bci_cmdbuf()
1143 cmdbuf->nbox, cmdbuf->box_addr); in savage_bci_cmdbuf()
1152 if (dmabuf && cmdbuf->discard) { in savage_bci_cmdbuf()
1162 drm_free(kcmd_addr, cmdbuf->size * 8, DRM_MEM_DRIVER); in savage_bci_cmdbuf()
1163 drm_free(kvb_addr, cmdbuf->vb_size, DRM_MEM_DRIVER); in savage_bci_cmdbuf()
1164 drm_free(kbox_addr, cmdbuf->nbox * sizeof(struct drm_clip_rect), in savage_bci_cmdbuf()