Rev 4569 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4569 | Rev 5078 | ||
---|---|---|---|
Line 132... | Line 132... | ||
132 | } |
132 | } |
Line 133... | Line 133... | ||
133 | 133 | ||
134 | cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); |
134 | cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); |
135 | if (unlikely(cmd == NULL)) { |
135 | if (unlikely(cmd == NULL)) { |
- | 136 | DRM_ERROR("Failed reserving FIFO space for OTable setup.\n"); |
|
136 | DRM_ERROR("Failed reserving FIFO space for OTable setup.\n"); |
137 | ret = -ENOMEM; |
137 | goto out_no_fifo; |
138 | goto out_no_fifo; |
Line 138... | Line 139... | ||
138 | } |
139 | } |
139 | 140 | ||
Line 185... | Line 186... | ||
185 | if (otable->page_table == NULL) |
186 | if (otable->page_table == NULL) |
186 | return; |
187 | return; |
Line 187... | Line 188... | ||
187 | 188 | ||
188 | bo = otable->page_table->pt_bo; |
189 | bo = otable->page_table->pt_bo; |
189 | cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); |
190 | cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); |
190 | if (unlikely(cmd == NULL)) |
191 | if (unlikely(cmd == NULL)) { |
- | 192 | DRM_ERROR("Failed reserving FIFO space for OTable " |
|
191 | DRM_ERROR("Failed reserving FIFO space for OTable setup.\n"); |
193 | "takedown.\n"); |
192 | 194 | } else { |
|
193 | memset(cmd, 0, sizeof(*cmd)); |
195 | memset(cmd, 0, sizeof(*cmd)); |
194 | cmd->header.id = SVGA_3D_CMD_SET_OTABLE_BASE; |
196 | cmd->header.id = SVGA_3D_CMD_SET_OTABLE_BASE; |
195 | cmd->header.size = sizeof(cmd->body); |
197 | cmd->header.size = sizeof(cmd->body); |
196 | cmd->body.type = type; |
198 | cmd->body.type = type; |
197 | cmd->body.baseAddress = 0; |
199 | cmd->body.baseAddress = 0; |
198 | cmd->body.sizeInBytes = 0; |
200 | cmd->body.sizeInBytes = 0; |
199 | cmd->body.validSizeInBytes = 0; |
201 | cmd->body.validSizeInBytes = 0; |
200 | cmd->body.ptDepth = SVGA3D_MOBFMT_INVALID; |
202 | cmd->body.ptDepth = SVGA3D_MOBFMT_INVALID; |
- | 203 | vmw_fifo_commit(dev_priv, sizeof(*cmd)); |
|
Line 201... | Line 204... | ||
201 | vmw_fifo_commit(dev_priv, sizeof(*cmd)); |
204 | } |
202 | 205 | ||
Line 203... | Line 206... | ||
203 | if (bo) { |
206 | if (bo) { |
Line 560... | Line 563... | ||
560 | 563 | ||
561 | cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); |
564 | cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); |
562 | if (unlikely(cmd == NULL)) { |
565 | if (unlikely(cmd == NULL)) { |
563 | DRM_ERROR("Failed reserving FIFO space for Memory " |
566 | DRM_ERROR("Failed reserving FIFO space for Memory " |
564 | "Object unbinding.\n"); |
567 | "Object unbinding.\n"); |
565 | } |
568 | } else { |
566 | cmd->header.id = SVGA_3D_CMD_DESTROY_GB_MOB; |
569 | cmd->header.id = SVGA_3D_CMD_DESTROY_GB_MOB; |
567 | cmd->header.size = sizeof(cmd->body); |
570 | cmd->header.size = sizeof(cmd->body); |
568 | cmd->body.mobid = mob->id; |
571 | cmd->body.mobid = mob->id; |
- | 572 | vmw_fifo_commit(dev_priv, sizeof(*cmd)); |
|
569 | vmw_fifo_commit(dev_priv, sizeof(*cmd)); |
573 | } |
570 | if (bo) { |
574 | if (bo) { |
571 | vmw_fence_single_bo(bo, NULL); |
575 | vmw_fence_single_bo(bo, NULL); |
572 | ttm_bo_unreserve(bo); |
576 | ttm_bo_unreserve(bo); |
573 | } |
577 | } |