Lines Matching defs:cursor
44 drm_plane_cleanup(&du->cursor.base);
64 SVGAFifoCmdDefineAlphaCursor cursor;
68 * vmw_send_define_cursor_cmd - queue a define cursor command
70 * @image: buffer which holds the cursor image
71 * @width: width of the mouse cursor image
72 * @height: height of the mouse cursor image
99 cmd->cursor.id = 0;
100 cmd->cursor.width = width;
101 cmd->cursor.height = height;
102 cmd->cursor.hotspotX = hotspotX;
103 cmd->cursor.hotspotY = hotspotY;
109 * vmw_cursor_update_image - update the cursor image on the provided plane
111 * @vps: the plane state of the cursor plane
112 * @image: buffer which holds the cursor image
113 * @width: width of the mouse cursor image
114 * @height: height of the mouse cursor image
123 if (vps->cursor.bo)
135 * vmw_cursor_update_mob - Update cursor vis CursorMob mechanism
138 * make the cursor-image live.
141 * @vps: the plane state of the cursor plane
142 * @image: cursor source data to fill the MOB with
145 * @hotspotX: cursor hotspot x
146 * @hotspotY: cursor hotspot Y
157 header = vmw_bo_map_and_cache(vps->cursor.bo);
172 vps->cursor.bo->tbo.resource->start);
183 * @vps: cursor plane state
208 if (old_vps->cursor.hotspot_x != new_vps->cursor.hotspot_x ||
209 old_vps->cursor.hotspot_y != new_vps->cursor.hotspot_y)
238 if (!vps->cursor.bo)
246 vcp->cursor_mobs[i] = vps->cursor.bo;
247 vps->cursor.bo = NULL;
255 vps->cursor.bo->tbo.base.size) {
257 vcp->cursor_mobs[i] = vps->cursor.bo;
258 vps->cursor.bo = NULL;
264 vmw_du_destroy_cursor_mob(&vps->cursor.bo);
288 if (vps->cursor.bo) {
289 if (vps->cursor.bo->tbo.base.size >= size)
298 vps->cursor.bo = vcp->cursor_mobs[i];
306 &vps->cursor.bo);
312 ret = ttm_bo_reserve(&vps->cursor.bo->tbo, false, false, NULL);
318 ttm_bo_unreserve(&vps->cursor.bo->tbo);
325 ttm_bo_unreserve(&vps->cursor.bo->tbo);
329 vmw_du_destroy_cursor_mob(&vps->cursor.bo);
411 DRM_ERROR("Can't snoop dma request for cursor!\n");
571 * vmw_du_cursor_plane_map_cm - Maps the cursor mobs.
585 if (!vps->cursor.bo)
588 bo = &vps->cursor.bo->tbo;
593 if (vps->cursor.bo->map.virtual)
600 vmw_bo_map_and_cache(vps->cursor.bo);
612 * vmw_du_cursor_plane_unmap_cm - Unmaps the cursor mobs.
614 * @vps: state of the cursor plane
623 struct vmw_bo *vbo = vps->cursor.bo;
641 * @plane: cursor plane
644 * Unmaps all cursor bo mappings and unpins the cursor surface
678 * vmw_du_cursor_plane_prepare_fb - Readies the cursor by referencing it
789 vps->cursor.hotspot_x = hotspot_x;
790 vps->cursor.hotspot_y = hotspot_y;
799 * work by keeping the old cursor active.
801 struct vmw_cursor_plane_state tmp = old_vps->cursor;
802 old_vps->cursor = vps->cursor;
803 vps->cursor = tmp;
870 * @plane: cursor plane
873 * This is a chance to fail if the new cursor state does not fit
905 DRM_ERROR("Invalid cursor dimensions (%d, %d)\n",
917 DRM_ERROR("surface not suitable for cursor\n");
1070 memset(&vps->cursor, 0, sizeof(vps->cursor));
1592 mode_cmd->width > 64 && /* Don't create a proxy for cursor */