Lines Matching refs:cursor_state
783 drm_cursor_state *cursor_state) in drm_crtc_update_offsets() argument
791 width = cursor_state->width; in drm_crtc_update_offsets()
792 height = cursor_state->height; in drm_crtc_update_offsets()
805 x = cursor_state->x + cursor_state->hot_x - cursor_state->hot_x * scale_x; in drm_crtc_update_offsets()
806 y = cursor_state->y + cursor_state->hot_y - cursor_state->hot_y * scale_y; in drm_crtc_update_offsets()
824 cursor_state->scaled_x = x; in drm_crtc_update_offsets()
825 cursor_state->scaled_y = y; in drm_crtc_update_offsets()
826 cursor_state->off_x = off_x; in drm_crtc_update_offsets()
827 cursor_state->off_y = off_y; in drm_crtc_update_offsets()
828 cursor_state->scaled_w = width; in drm_crtc_update_offsets()
829 cursor_state->scaled_h = height; in drm_crtc_update_offsets()
838 drm_cursor_state *cursor_state) in drm_crtc_update_cursor() argument
846 if (!cursor_state) { in drm_crtc_update_cursor()
858 if (crtc->cursor_curr.fb == cursor_state->fb && in drm_crtc_update_cursor()
859 crtc->cursor_curr.scaled_x == cursor_state->scaled_x && in drm_crtc_update_cursor()
860 crtc->cursor_curr.scaled_y == cursor_state->scaled_y && in drm_crtc_update_cursor()
861 crtc->cursor_curr.off_x == cursor_state->off_x && in drm_crtc_update_cursor()
862 crtc->cursor_curr.off_y == cursor_state->off_y) { in drm_crtc_update_cursor()
863 crtc->cursor_curr = *cursor_state; in drm_crtc_update_cursor()
867 fb = cursor_state->fb; in drm_crtc_update_cursor()
868 x = cursor_state->scaled_x - cursor_state->off_x; in drm_crtc_update_cursor()
869 y = cursor_state->scaled_y - cursor_state->off_y; in drm_crtc_update_cursor()
870 w = cursor_state->scaled_w; in drm_crtc_update_cursor()
871 h = cursor_state->scaled_h; in drm_crtc_update_cursor()
885 crtc->cursor_curr = *cursor_state; in drm_crtc_update_cursor()
890 drm_cursor_state *cursor_state) in drm_crtc_create_fb() argument
892 uint32_t handle = cursor_state->handle; in drm_crtc_create_fb()
893 int width = cursor_state->width; in drm_crtc_create_fb()
894 int height = cursor_state->height; in drm_crtc_create_fb()
895 int scaled_w = cursor_state->scaled_w; in drm_crtc_create_fb()
896 int scaled_h = cursor_state->scaled_h; in drm_crtc_create_fb()
897 int off_x = cursor_state->off_x; in drm_crtc_create_fb()
898 int off_y = cursor_state->off_y; in drm_crtc_create_fb()
924 cursor_state->fb = in drm_crtc_create_fb()
927 if (!cursor_state->fb) { in drm_crtc_create_fb()
932 DRM_DEBUG("CRTC[%d]: created FB: %d\n", crtc->crtc_id, cursor_state->fb); in drm_crtc_create_fb()
941 drm_cursor_state cursor_state; in drm_crtc_thread_fn() local
983 cursor_state = crtc->cursor_next; in drm_crtc_thread_fn()
986 cursor_state.request |= crtc->cursor_curr.request; /* For retry */ in drm_crtc_thread_fn()
990 if (drm_crtc_update_offsets(ctx, crtc, &cursor_state) < 0) { in drm_crtc_thread_fn()
996 if (cursor_state.request & REQ_SET_CURSOR) { in drm_crtc_thread_fn()
997 cursor_state.request = 0; in drm_crtc_thread_fn()
1001 crtc->crtc_id, cursor_state.handle, in drm_crtc_thread_fn()
1002 cursor_state.width, cursor_state.height); in drm_crtc_thread_fn()
1004 if (!cursor_state.handle) { in drm_crtc_thread_fn()
1009 if (drm_crtc_create_fb(ctx, crtc, &cursor_state) < 0) in drm_crtc_thread_fn()
1012 if (drm_crtc_update_cursor(ctx, crtc, &cursor_state) < 0) { in drm_crtc_thread_fn()
1016 } else if (cursor_state.request & REQ_MOVE_CURSOR) { in drm_crtc_thread_fn()
1017 cursor_state.request = 0; in drm_crtc_thread_fn()
1021 crtc->crtc_id, cursor_state.scaled_x, -cursor_state.off_x, in drm_crtc_thread_fn()
1022 cursor_state.scaled_y, -cursor_state.off_y); in drm_crtc_thread_fn()
1026 crtc->cursor_curr = cursor_state; in drm_crtc_thread_fn()
1028 } else if (crtc->cursor_curr.off_x != cursor_state.off_x || in drm_crtc_thread_fn()
1029 crtc->cursor_curr.off_y != cursor_state.off_y) { in drm_crtc_thread_fn()
1031 if (drm_crtc_create_fb(ctx, crtc, &cursor_state) < 0) in drm_crtc_thread_fn()
1035 cursor_state.fb = crtc->cursor_curr.fb; in drm_crtc_thread_fn()
1038 if (drm_crtc_update_cursor(ctx, crtc, &cursor_state) < 0) { in drm_crtc_thread_fn()