Lines Matching refs:view

128 	struct vmw_view *view = vmw_view(res);  in vmw_view_commit_notify()  local
133 struct vmw_surface *srf = vmw_res_to_srf(view->srf); in vmw_view_commit_notify()
135 list_add_tail(&view->srf_head, &srf->view_list); in vmw_view_commit_notify()
136 vmw_cotable_add_resource(view->cotable, &view->cotable_head); in vmw_view_commit_notify()
137 view->committed = true; in vmw_view_commit_notify()
138 res->id = view->view_id; in vmw_view_commit_notify()
141 list_del_init(&view->cotable_head); in vmw_view_commit_notify()
142 list_del_init(&view->srf_head); in vmw_view_commit_notify()
143 view->committed = false; in vmw_view_commit_notify()
159 struct vmw_view *view = vmw_view(res); in vmw_view_create() local
160 struct vmw_surface *srf = vmw_res_to_srf(view->srf); in vmw_view_create()
168 if (!view->committed) { in vmw_view_create()
173 cmd = VMW_FIFO_RESERVE_DX(res->dev_priv, view->cmd_size, view->ctx->id); in vmw_view_create()
179 memcpy(cmd, &view->cmd, view->cmd_size); in vmw_view_create()
180 WARN_ON(cmd->body.view_id != view->view_id); in vmw_view_create()
182 WARN_ON(view->srf->id == SVGA3D_INVALID_ID); in vmw_view_create()
183 cmd->body.sid = view->srf->id; in vmw_view_create()
184 vmw_fifo_commit(res->dev_priv, view->cmd_size); in vmw_view_create()
185 res->id = view->view_id; in vmw_view_create()
186 list_add_tail(&view->srf_head, &srf->view_list); in vmw_view_create()
187 vmw_cotable_add_resource(view->cotable, &view->cotable_head); in vmw_view_create()
204 struct vmw_view *view = vmw_view(res); in vmw_view_destroy() local
213 if (!view->committed || res->id == -1) in vmw_view_destroy()
216 cmd = VMW_FIFO_RESERVE_DX(dev_priv, sizeof(*cmd), view->ctx->id); in vmw_view_destroy()
220 cmd->header.id = vmw_view_destroy_cmds[view->view_type]; in vmw_view_destroy()
222 cmd->body.view_id = view->view_id; in vmw_view_destroy()
225 list_del_init(&view->cotable_head); in vmw_view_destroy()
226 list_del_init(&view->srf_head); in vmw_view_destroy()
285 struct vmw_view *view = vmw_view(res); in vmw_view_res_free() local
286 size_t size = offsetof(struct vmw_view, cmd) + view->cmd_size; in vmw_view_res_free()
289 vmw_resource_unreference(&view->cotable); in vmw_view_res_free()
290 vmw_resource_unreference(&view->srf); in vmw_view_res_free()
291 kfree_rcu(view, rcu); in vmw_view_res_free()
328 struct vmw_view *view; in vmw_view_add() local
356 view = kmalloc(size, GFP_KERNEL); in vmw_view_add()
357 if (!view) { in vmw_view_add()
362 res = &view->res; in vmw_view_add()
363 view->ctx = ctx; in vmw_view_add()
364 view->srf = vmw_resource_reference(srf); in vmw_view_add()
365 view->cotable = vmw_resource_reference in vmw_view_add()
367 view->view_type = view_type; in vmw_view_add()
368 view->view_id = user_key; in vmw_view_add()
369 view->cmd_size = cmd_size; in vmw_view_add()
370 view->committed = false; in vmw_view_add()
371 INIT_LIST_HEAD(&view->srf_head); in vmw_view_add()
372 INIT_LIST_HEAD(&view->cotable_head); in vmw_view_add()
373 memcpy(&view->cmd, cmd, cmd_size); in vmw_view_add()
385 res->id = view->view_id; in vmw_view_add()