Lines Matching full:crtc
32 static void radeon_lock_cursor(struct drm_crtc *crtc, bool lock) in radeon_lock_cursor() argument
34 struct radeon_device *rdev = crtc->dev->dev_private; in radeon_lock_cursor()
35 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_lock_cursor()
62 static void radeon_hide_cursor(struct drm_crtc *crtc) in radeon_hide_cursor() argument
64 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_hide_cursor()
65 struct radeon_device *rdev = crtc->dev->dev_private; in radeon_hide_cursor()
90 static void radeon_show_cursor(struct drm_crtc *crtc) in radeon_show_cursor() argument
92 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_show_cursor()
93 struct radeon_device *rdev = crtc->dev->dev_private; in radeon_show_cursor()
144 static int radeon_cursor_move_locked(struct drm_crtc *crtc, int x, int y) in radeon_cursor_move_locked() argument
146 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_cursor_move_locked()
147 struct radeon_device *rdev = crtc->dev->dev_private; in radeon_cursor_move_locked()
156 x += crtc->x; in radeon_cursor_move_locked()
157 y += crtc->y; in radeon_cursor_move_locked()
166 x += crtc->x; in radeon_cursor_move_locked()
167 y += crtc->y; in radeon_cursor_move_locked()
169 DRM_DEBUG("x %d y %d c->x %d c->y %d\n", x, y, crtc->x, crtc->y); in radeon_cursor_move_locked()
180 * NOTE: It is safe to access crtc->enabled of other crtcs in radeon_cursor_move_locked()
182 * crtc's lock as long as write access to this flag _always_ in radeon_cursor_move_locked()
185 list_for_each_entry(crtc_p, &crtc->dev->mode_config.crtc_list, head) { in radeon_cursor_move_locked()
193 frame_end = crtc->x + crtc->mode.crtc_hdisplay; in radeon_cursor_move_locked()
209 if (x <= (crtc->x - w) || y <= (crtc->y - radeon_crtc->cursor_height) || in radeon_cursor_move_locked()
210 x >= (crtc->x + crtc->mode.hdisplay) || in radeon_cursor_move_locked()
211 y >= (crtc->y + crtc->mode.vdisplay)) in radeon_cursor_move_locked()
228 x -= crtc->x; in radeon_cursor_move_locked()
229 y -= crtc->y; in radeon_cursor_move_locked()
231 if (crtc->mode.flags & DRM_MODE_FLAG_DBLSCAN) in radeon_cursor_move_locked()
251 radeon_show_cursor(crtc); in radeon_cursor_move_locked()
258 radeon_hide_cursor(crtc); in radeon_cursor_move_locked()
264 int radeon_crtc_cursor_move(struct drm_crtc *crtc, in radeon_crtc_cursor_move() argument
269 radeon_lock_cursor(crtc, true); in radeon_crtc_cursor_move()
270 ret = radeon_cursor_move_locked(crtc, x, y); in radeon_crtc_cursor_move()
271 radeon_lock_cursor(crtc, false); in radeon_crtc_cursor_move()
276 int radeon_crtc_cursor_set2(struct drm_crtc *crtc, in radeon_crtc_cursor_set2() argument
284 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_crtc_cursor_set2()
285 struct radeon_device *rdev = crtc->dev->dev_private; in radeon_crtc_cursor_set2()
292 radeon_hide_cursor(crtc); in radeon_crtc_cursor_set2()
305 DRM_ERROR("Cannot find cursor object %x for crtc %d\n", handle, radeon_crtc->crtc_id); in radeon_crtc_cursor_set2()
326 radeon_lock_cursor(crtc, true); in radeon_crtc_cursor_set2()
342 radeon_cursor_move_locked(crtc, x, y); in radeon_crtc_cursor_set2()
345 radeon_show_cursor(crtc); in radeon_crtc_cursor_set2()
347 radeon_lock_cursor(crtc, false); in radeon_crtc_cursor_set2()
367 * @crtc: drm crtc
369 * If the CRTC passed in currently has a cursor assigned, this function
372 void radeon_cursor_reset(struct drm_crtc *crtc) in radeon_cursor_reset() argument
374 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_cursor_reset()
377 radeon_lock_cursor(crtc, true); in radeon_cursor_reset()
379 radeon_cursor_move_locked(crtc, radeon_crtc->cursor_x, in radeon_cursor_reset()
382 radeon_show_cursor(crtc); in radeon_cursor_reset()
384 radeon_lock_cursor(crtc, false); in radeon_cursor_reset()