Lines Matching defs:stdu
131 static void vmw_stdu_destroy(struct vmw_screen_target_display_unit *stdu);
153 * @stdu: display unit to create a Screen Target for
165 struct vmw_screen_target_display_unit *stdu,
181 cmd->body.stid = stdu->base.unit;
189 stdu->base.set_gui_x = cmd->body.xRoot;
190 stdu->base.set_gui_y = cmd->body.yRoot;
194 stdu->defined = true;
195 stdu->display_width = mode->hdisplay;
196 stdu->display_height = mode->vdisplay;
207 * @stdu: display unit affected
213 struct vmw_screen_target_display_unit *stdu,
224 if (!stdu->defined) {
240 cmd->body.stid = stdu->base.unit;
278 * @stdu: display unit affected
288 struct vmw_screen_target_display_unit *stdu)
292 if (!stdu->defined) {
301 vmw_stdu_populate_update(cmd, stdu->base.unit,
302 0, stdu->display_width,
303 0, stdu->display_height);
316 * @stdu: display unit to destroy
319 struct vmw_screen_target_display_unit *stdu)
330 if (unlikely(!stdu->defined))
340 cmd->body.stid = stdu->base.unit;
349 stdu->defined = false;
350 stdu->display_width = 0;
351 stdu->display_height = 0;
368 struct vmw_screen_target_display_unit *stdu;
373 stdu = vmw_crtc_to_stdu(crtc);
375 conn_state = stdu->base.connector.state;
378 if (stdu->defined) {
379 ret = vmw_stdu_bind_st(dev_priv, stdu, NULL);
383 (void) vmw_stdu_update_st(dev_priv, stdu);
385 ret = vmw_stdu_destroy_st(dev_priv, stdu);
389 stdu->content_fb_type = SAME_AS_DISPLAY;
399 ret = vmw_stdu_define_st(dev_priv, stdu, &crtc->mode, x, y);
420 struct vmw_screen_target_display_unit *stdu;
429 stdu = vmw_crtc_to_stdu(crtc);
432 if (stdu->defined) {
433 ret = vmw_stdu_bind_st(dev_priv, stdu, NULL);
437 (void) vmw_stdu_update_st(dev_priv, stdu);
439 ret = vmw_stdu_destroy_st(dev_priv, stdu);
443 stdu->content_fb_type = SAME_AS_DISPLAY;
489 struct vmw_screen_target_display_unit *stdu =
490 container_of(dirty->unit, typeof(*stdu), base);
495 struct vmw_diff_cpy diff = VMW_CPU_BLIT_DIFF_INITIALIZER(stdu->cpp);
507 src_pitch = stdu->display_srf->metadata.base_size.width * stdu->cpp;
508 src_bo = &stdu->display_srf->res.guest_memory_bo->tbo;
509 src_offset = ddirty->top * src_pitch + ddirty->left * stdu->cpp;
513 dst_offset = ddirty->fb_top * dst_pitch + ddirty->fb_left * stdu->cpp;
517 width * stdu->cpp, height, &diff);
534 * @crtc: If crtc is passed, perform stdu dma on that crtc only.
613 struct vmw_screen_target_display_unit *stdu =
614 container_of(dirty->unit, typeof(*stdu), base);
616 if (sdirty->sid != stdu->display_srf->res.id) {
651 struct vmw_screen_target_display_unit *stdu =
652 container_of(dirty->unit, typeof(*stdu), base);
663 if (sdirty->sid != stdu->display_srf->res.id) {
669 cmd->body.dest.sid = stdu->display_srf->res.id;
672 stdu->display_srf->res.res_dirty = true;
678 vmw_stdu_populate_update(update, stdu->base.unit, sdirty->left,
1064 struct vmw_screen_target_display_unit *stdu;
1075 stdu = container_of(update->du, typeof(*stdu), base);
1081 diff.cpp = stdu->cpp;
1083 dst_bo = &stdu->display_srf->res.guest_memory_bo->tbo;
1084 dst_pitch = stdu->display_srf->metadata.base_size.width * stdu->cpp;
1085 dst_offset = bb->y1 * dst_pitch + bb->x1 * stdu->cpp;
1090 stdu->cpp;
1093 src_offset, src_pitch, width * stdu->cpp, height,
1101 cmd_img->body.image.sid = stdu->display_srf->res.id;
1113 vmw_stdu_populate_update(cmd_update, stdu->base.unit,
1240 struct vmw_screen_target_display_unit *stdu;
1244 stdu = container_of(update->du, typeof(*stdu), base);
1251 cmd_copy->body.dest.sid = stdu->display_srf->res.id;
1305 struct vmw_screen_target_display_unit *stdu;
1308 stdu = vmw_crtc_to_stdu(plane->state->crtc);
1324 if (vfbs->surface->res.id != stdu->display_srf->res.id) {
1343 * Formally update stdu->display_srf to the new plane, and bind the new
1356 struct vmw_screen_target_display_unit *stdu;
1365 stdu = vmw_crtc_to_stdu(crtc);
1368 stdu->display_srf = vps->surf;
1369 stdu->content_fb_type = vps->content_fb_type;
1370 stdu->cpp = vps->cpp;
1372 ret = vmw_stdu_bind_st(dev_priv, stdu, &stdu->display_srf->res);
1387 stdu = vmw_crtc_to_stdu(crtc);
1391 if (!stdu->defined)
1394 ret = vmw_stdu_bind_st(dev_priv, stdu, NULL);
1398 ret = vmw_stdu_update_st(dev_priv, stdu);
1471 struct vmw_screen_target_display_unit *stdu;
1480 stdu = kzalloc(sizeof(*stdu), GFP_KERNEL);
1481 if (!stdu)
1484 stdu->base.unit = unit;
1485 crtc = &stdu->base.crtc;
1486 encoder = &stdu->base.encoder;
1487 connector = &stdu->base.connector;
1488 primary = &stdu->base.primary;
1489 cursor = &stdu->base.cursor;
1491 stdu->base.pref_active = (unit == 0);
1492 stdu->base.pref_width = dev_priv->initial_width;
1493 stdu->base.pref_height = dev_priv->initial_height;
1494 stdu->base.is_implicit = false;
1518 drm_plane_cleanup(&stdu->base.primary);
1578 kfree(stdu);
1587 * @stdu: Screen Target Display Unit to be destroyed
1591 static void vmw_stdu_destroy(struct vmw_screen_target_display_unit *stdu)
1593 vmw_du_cleanup(&stdu->base);
1594 kfree(stdu);