Lines Matching refs:view

131 	struct vmw_view *view = vmw_view(res);  in vmw_view_commit_notify()  local
136 struct vmw_surface *srf = vmw_res_to_srf(view->srf); in vmw_view_commit_notify()
138 list_add_tail(&view->srf_head, &srf->view_list); in vmw_view_commit_notify()
139 vmw_cotable_add_resource(view->cotable, &view->cotable_head); in vmw_view_commit_notify()
140 view->committed = true; in vmw_view_commit_notify()
141 res->id = view->view_id; in vmw_view_commit_notify()
144 list_del_init(&view->cotable_head); in vmw_view_commit_notify()
145 list_del_init(&view->srf_head); in vmw_view_commit_notify()
146 view->committed = false; in vmw_view_commit_notify()
162 struct vmw_view *view = vmw_view(res); in vmw_view_create() local
163 struct vmw_surface *srf = vmw_res_to_srf(view->srf); in vmw_view_create()
171 if (!view->committed) { in vmw_view_create()
176 cmd = VMW_CMD_CTX_RESERVE(res->dev_priv, view->cmd_size, view->ctx->id); in vmw_view_create()
182 memcpy(cmd, &view->cmd, view->cmd_size); in vmw_view_create()
183 WARN_ON(cmd->body.view_id != view->view_id); in vmw_view_create()
185 WARN_ON(view->srf->id == SVGA3D_INVALID_ID); in vmw_view_create()
186 cmd->body.sid = view->srf->id; in vmw_view_create()
187 vmw_cmd_commit(res->dev_priv, view->cmd_size); in vmw_view_create()
188 res->id = view->view_id; in vmw_view_create()
189 list_add_tail(&view->srf_head, &srf->view_list); in vmw_view_create()
190 vmw_cotable_add_resource(view->cotable, &view->cotable_head); in vmw_view_create()
207 struct vmw_view *view = vmw_view(res); in vmw_view_destroy() local
216 if (!view->committed || res->id == -1) in vmw_view_destroy()
219 cmd = VMW_CMD_CTX_RESERVE(dev_priv, sizeof(*cmd), view->ctx->id); in vmw_view_destroy()
223 cmd->header.id = vmw_view_destroy_cmds[view->view_type]; in vmw_view_destroy()
225 cmd->body.view_id = view->view_id; in vmw_view_destroy()
228 list_del_init(&view->cotable_head); in vmw_view_destroy()
229 list_del_init(&view->srf_head); in vmw_view_destroy()
288 struct vmw_view *view = vmw_view(res); in vmw_view_res_free() local
290 vmw_resource_unreference(&view->cotable); in vmw_view_res_free()
291 vmw_resource_unreference(&view->srf); in vmw_view_res_free()
292 kfree_rcu(view, rcu); in vmw_view_res_free()
328 struct vmw_view *view; in vmw_view_add() local
345 view = kmalloc(size, GFP_KERNEL); in vmw_view_add()
346 if (!view) { in vmw_view_add()
350 res = &view->res; in vmw_view_add()
351 view->ctx = ctx; in vmw_view_add()
352 view->srf = vmw_resource_reference(srf); in vmw_view_add()
353 view->cotable = vmw_resource_reference in vmw_view_add()
355 view->view_type = view_type; in vmw_view_add()
356 view->view_id = user_key; in vmw_view_add()
357 view->cmd_size = cmd_size; in vmw_view_add()
358 view->committed = false; in vmw_view_add()
359 INIT_LIST_HEAD(&view->srf_head); in vmw_view_add()
360 INIT_LIST_HEAD(&view->cotable_head); in vmw_view_add()
361 memcpy(&view->cmd, cmd, cmd_size); in vmw_view_add()
373 res->id = view->view_id; in vmw_view_add()