Lines Matching refs:cmdbuf

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