Subversion Repositories Kolibri OS

Rev

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
	}