Lines Matching refs:radeon_crtc
33 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_lock_cursor() local
37 cur_lock = RREG32(EVERGREEN_CUR_UPDATE + radeon_crtc->crtc_offset); in radeon_lock_cursor()
42 WREG32(EVERGREEN_CUR_UPDATE + radeon_crtc->crtc_offset, cur_lock); in radeon_lock_cursor()
44 cur_lock = RREG32(AVIVO_D1CUR_UPDATE + radeon_crtc->crtc_offset); in radeon_lock_cursor()
49 WREG32(AVIVO_D1CUR_UPDATE + radeon_crtc->crtc_offset, cur_lock); in radeon_lock_cursor()
51 cur_lock = RREG32(RADEON_CUR_OFFSET + radeon_crtc->crtc_offset); in radeon_lock_cursor()
56 WREG32(RADEON_CUR_OFFSET + radeon_crtc->crtc_offset, cur_lock); in radeon_lock_cursor()
62 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_hide_cursor() local
66 WREG32_IDX(EVERGREEN_CUR_CONTROL + radeon_crtc->crtc_offset, in radeon_hide_cursor()
70 WREG32_IDX(AVIVO_D1CUR_CONTROL + radeon_crtc->crtc_offset, in radeon_hide_cursor()
74 switch (radeon_crtc->crtc_id) { in radeon_hide_cursor()
90 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_show_cursor() local
94 WREG32(RADEON_MM_INDEX, EVERGREEN_CUR_CONTROL + radeon_crtc->crtc_offset); in radeon_show_cursor()
99 WREG32(RADEON_MM_INDEX, AVIVO_D1CUR_CONTROL + radeon_crtc->crtc_offset); in radeon_show_cursor()
103 switch (radeon_crtc->crtc_id) { in radeon_show_cursor()
122 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_cursor_move_locked() local
125 int w = radeon_crtc->cursor_width; in radeon_cursor_move_locked()
135 xorigin = min(-x, radeon_crtc->max_cursor_width - 1); in radeon_cursor_move_locked()
139 yorigin = min(-y, radeon_crtc->max_cursor_height - 1); in radeon_cursor_move_locked()
186 WREG32(EVERGREEN_CUR_POSITION + radeon_crtc->crtc_offset, (x << 16) | y); in radeon_cursor_move_locked()
187 WREG32(EVERGREEN_CUR_HOT_SPOT + radeon_crtc->crtc_offset, (xorigin << 16) | yorigin); in radeon_cursor_move_locked()
188 WREG32(EVERGREEN_CUR_SIZE + radeon_crtc->crtc_offset, in radeon_cursor_move_locked()
189 ((w - 1) << 16) | (radeon_crtc->cursor_height - 1)); in radeon_cursor_move_locked()
191 WREG32(AVIVO_D1CUR_POSITION + radeon_crtc->crtc_offset, (x << 16) | y); in radeon_cursor_move_locked()
192 WREG32(AVIVO_D1CUR_HOT_SPOT + radeon_crtc->crtc_offset, (xorigin << 16) | yorigin); in radeon_cursor_move_locked()
193 WREG32(AVIVO_D1CUR_SIZE + radeon_crtc->crtc_offset, in radeon_cursor_move_locked()
194 ((w - 1) << 16) | (radeon_crtc->cursor_height - 1)); in radeon_cursor_move_locked()
199 WREG32(RADEON_CUR_HORZ_VERT_OFF + radeon_crtc->crtc_offset, in radeon_cursor_move_locked()
203 WREG32(RADEON_CUR_HORZ_VERT_POSN + radeon_crtc->crtc_offset, in radeon_cursor_move_locked()
208 WREG32(RADEON_CUR_OFFSET + radeon_crtc->crtc_offset, in radeon_cursor_move_locked()
209 radeon_crtc->cursor_addr - radeon_crtc->legacy_display_base_addr + in radeon_cursor_move_locked()
213 radeon_crtc->cursor_x = x; in radeon_cursor_move_locked()
214 radeon_crtc->cursor_y = y; in radeon_cursor_move_locked()
233 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_set_cursor() local
237 WREG32(EVERGREEN_CUR_SURFACE_ADDRESS_HIGH + radeon_crtc->crtc_offset, in radeon_set_cursor()
238 upper_32_bits(radeon_crtc->cursor_addr)); in radeon_set_cursor()
239 WREG32(EVERGREEN_CUR_SURFACE_ADDRESS + radeon_crtc->crtc_offset, in radeon_set_cursor()
240 lower_32_bits(radeon_crtc->cursor_addr)); in radeon_set_cursor()
243 if (radeon_crtc->crtc_id) in radeon_set_cursor()
245 upper_32_bits(radeon_crtc->cursor_addr)); in radeon_set_cursor()
248 upper_32_bits(radeon_crtc->cursor_addr)); in radeon_set_cursor()
250 WREG32(AVIVO_D1CUR_SURFACE_ADDRESS + radeon_crtc->crtc_offset, in radeon_set_cursor()
251 lower_32_bits(radeon_crtc->cursor_addr)); in radeon_set_cursor()
254 WREG32(RADEON_CUR_OFFSET + radeon_crtc->crtc_offset, in radeon_set_cursor()
255 radeon_crtc->cursor_addr - radeon_crtc->legacy_display_base_addr); in radeon_set_cursor()
267 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_crtc_cursor_set2() local
280 if ((width > radeon_crtc->max_cursor_width) || in radeon_crtc_cursor_set2()
281 (height > radeon_crtc->max_cursor_height)) { in radeon_crtc_cursor_set2()
288 DRM_ERROR("Cannot find cursor object %x for crtc %d\n", handle, radeon_crtc->crtc_id); in radeon_crtc_cursor_set2()
301 &radeon_crtc->cursor_addr); in radeon_crtc_cursor_set2()
309 radeon_crtc->cursor_width = width; in radeon_crtc_cursor_set2()
310 radeon_crtc->cursor_height = height; in radeon_crtc_cursor_set2()
314 if (hot_x != radeon_crtc->cursor_hot_x || in radeon_crtc_cursor_set2()
315 hot_y != radeon_crtc->cursor_hot_y) { in radeon_crtc_cursor_set2()
318 x = radeon_crtc->cursor_x + radeon_crtc->cursor_hot_x - hot_x; in radeon_crtc_cursor_set2()
319 y = radeon_crtc->cursor_y + radeon_crtc->cursor_hot_y - hot_y; in radeon_crtc_cursor_set2()
323 radeon_crtc->cursor_hot_x = hot_x; in radeon_crtc_cursor_set2()
324 radeon_crtc->cursor_hot_y = hot_y; in radeon_crtc_cursor_set2()
333 if (radeon_crtc->cursor_bo) { in radeon_crtc_cursor_set2()
334 struct radeon_bo *robj = gem_to_radeon_bo(radeon_crtc->cursor_bo); in radeon_crtc_cursor_set2()
340 drm_gem_object_unreference_unlocked(radeon_crtc->cursor_bo); in radeon_crtc_cursor_set2()
343 radeon_crtc->cursor_bo = obj; in radeon_crtc_cursor_set2()
357 struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); in radeon_cursor_reset() local
359 if (radeon_crtc->cursor_bo) { in radeon_cursor_reset()
362 radeon_cursor_move_locked(crtc, radeon_crtc->cursor_x, in radeon_cursor_reset()
363 radeon_crtc->cursor_y); in radeon_cursor_reset()