Lines Matching refs:plane_state

57 int intel_plane_check_src_coordinates(struct intel_plane_state *plane_state)  in intel_plane_check_src_coordinates()  argument
59 struct drm_i915_private *i915 = to_i915(plane_state->uapi.plane->dev); in intel_plane_check_src_coordinates()
60 const struct drm_framebuffer *fb = plane_state->hw.fb; in intel_plane_check_src_coordinates()
61 struct drm_rect *src = &plane_state->uapi.src; in intel_plane_check_src_coordinates()
63 bool rotated = drm_rotation_90_or_270(plane_state->hw.rotation); in intel_plane_check_src_coordinates()
126 chv_sprite_update_csc(const struct intel_plane_state *plane_state) in chv_sprite_update_csc() argument
128 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in chv_sprite_update_csc()
130 const struct drm_framebuffer *fb = plane_state->hw.fb; in chv_sprite_update_csc()
156 const s16 *csc = csc_matrix[plane_state->hw.color_encoding]; in chv_sprite_update_csc()
198 vlv_sprite_update_clrc(const struct intel_plane_state *plane_state) in vlv_sprite_update_clrc() argument
200 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in vlv_sprite_update_clrc()
202 const struct drm_framebuffer *fb = plane_state->hw.fb; in vlv_sprite_update_clrc()
208 plane_state->hw.color_range == DRM_COLOR_YCBCR_LIMITED_RANGE) { in vlv_sprite_update_clrc()
238 const struct intel_plane_state *plane_state, in vlv_plane_ratio() argument
242 const struct drm_framebuffer *fb = plane_state->hw.fb; in vlv_plane_ratio()
296 const struct intel_plane_state *plane_state) in vlv_plane_min_cdclk() argument
310 vlv_plane_ratio(crtc_state, plane_state, &num, &den); in vlv_plane_min_cdclk()
326 const struct intel_plane_state *plane_state) in vlv_sprite_ctl() argument
328 const struct drm_framebuffer *fb = plane_state->hw.fb; in vlv_sprite_ctl()
329 unsigned int rotation = plane_state->hw.rotation; in vlv_sprite_ctl()
330 const struct drm_intel_sprite_colorkey *key = &plane_state->ckey; in vlv_sprite_ctl()
383 if (plane_state->hw.color_encoding == DRM_COLOR_YCBCR_BT709) in vlv_sprite_ctl()
401 static void vlv_sprite_update_gamma(const struct intel_plane_state *plane_state) in vlv_sprite_update_gamma() argument
403 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in vlv_sprite_update_gamma()
405 const struct drm_framebuffer *fb = plane_state->hw.fb; in vlv_sprite_update_gamma()
427 const struct intel_plane_state *plane_state) in vlv_sprite_update_noarm() argument
432 int crtc_x = plane_state->uapi.dst.x1; in vlv_sprite_update_noarm()
433 int crtc_y = plane_state->uapi.dst.y1; in vlv_sprite_update_noarm()
434 u32 crtc_w = drm_rect_width(&plane_state->uapi.dst); in vlv_sprite_update_noarm()
435 u32 crtc_h = drm_rect_height(&plane_state->uapi.dst); in vlv_sprite_update_noarm()
438 plane_state->view.color_plane[0].mapping_stride); in vlv_sprite_update_noarm()
448 const struct intel_plane_state *plane_state) in vlv_sprite_update_arm() argument
453 const struct drm_intel_sprite_colorkey *key = &plane_state->ckey; in vlv_sprite_update_arm()
454 u32 sprsurf_offset = plane_state->view.color_plane[0].offset; in vlv_sprite_update_arm()
455 u32 x = plane_state->view.color_plane[0].x; in vlv_sprite_update_arm()
456 u32 y = plane_state->view.color_plane[0].y; in vlv_sprite_update_arm()
459 sprctl = plane_state->ctl | vlv_sprite_ctl_crtc(crtc_state); in vlv_sprite_update_arm()
461 linear_offset = intel_fb_xy_to_linear(x, y, plane_state, 0); in vlv_sprite_update_arm()
464 chv_sprite_update_csc(plane_state); in vlv_sprite_update_arm()
488 intel_plane_ggtt_offset(plane_state) + sprsurf_offset); in vlv_sprite_update_arm()
490 vlv_sprite_update_clrc(plane_state); in vlv_sprite_update_arm()
491 vlv_sprite_update_gamma(plane_state); in vlv_sprite_update_arm()
531 const struct intel_plane_state *plane_state, in ivb_plane_ratio() argument
535 const struct drm_framebuffer *fb = plane_state->hw.fb; in ivb_plane_ratio()
568 const struct intel_plane_state *plane_state, in ivb_plane_ratio_scaling() argument
571 const struct drm_framebuffer *fb = plane_state->hw.fb; in ivb_plane_ratio_scaling()
595 const struct intel_plane_state *plane_state) in ivb_plane_min_cdclk() argument
609 ivb_plane_ratio(crtc_state, plane_state, &num, &den); in ivb_plane_min_cdclk()
615 const struct intel_plane_state *plane_state) in ivb_sprite_min_cdclk() argument
629 src_w = drm_rect_width(&plane_state->uapi.src) >> 16; in ivb_sprite_min_cdclk()
630 dst_w = drm_rect_width(&plane_state->uapi.dst); in ivb_sprite_min_cdclk()
633 ivb_plane_ratio_scaling(crtc_state, plane_state, &num, &den); in ivb_sprite_min_cdclk()
635 ivb_plane_ratio(crtc_state, plane_state, &num, &den); in ivb_sprite_min_cdclk()
645 const struct intel_plane_state *plane_state, in hsw_plane_ratio() argument
649 const struct drm_framebuffer *fb = plane_state->hw.fb; in hsw_plane_ratio()
678 const struct intel_plane_state *plane_state) in hsw_plane_min_cdclk() argument
683 hsw_plane_ratio(crtc_state, plane_state, &num, &den); in hsw_plane_min_cdclk()
701 static bool ivb_need_sprite_gamma(const struct intel_plane_state *plane_state) in ivb_need_sprite_gamma() argument
704 to_i915(plane_state->uapi.plane->dev); in ivb_need_sprite_gamma()
705 const struct drm_framebuffer *fb = plane_state->hw.fb; in ivb_need_sprite_gamma()
712 const struct intel_plane_state *plane_state) in ivb_sprite_ctl() argument
715 to_i915(plane_state->uapi.plane->dev); in ivb_sprite_ctl()
716 const struct drm_framebuffer *fb = plane_state->hw.fb; in ivb_sprite_ctl()
717 unsigned int rotation = plane_state->hw.rotation; in ivb_sprite_ctl()
718 const struct drm_intel_sprite_colorkey *key = &plane_state->ckey; in ivb_sprite_ctl()
762 if (!ivb_need_sprite_gamma(plane_state)) in ivb_sprite_ctl()
765 if (plane_state->hw.color_encoding == DRM_COLOR_YCBCR_BT709) in ivb_sprite_ctl()
768 if (plane_state->hw.color_range == DRM_COLOR_YCBCR_FULL_RANGE) in ivb_sprite_ctl()
785 static void ivb_sprite_linear_gamma(const struct intel_plane_state *plane_state, in ivb_sprite_linear_gamma() argument
810 static void ivb_sprite_update_gamma(const struct intel_plane_state *plane_state) in ivb_sprite_update_gamma() argument
812 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in ivb_sprite_update_gamma()
818 if (!ivb_need_sprite_gamma(plane_state)) in ivb_sprite_update_gamma()
821 ivb_sprite_linear_gamma(plane_state, gamma); in ivb_sprite_update_gamma()
842 const struct intel_plane_state *plane_state) in ivb_sprite_update_noarm() argument
846 int crtc_x = plane_state->uapi.dst.x1; in ivb_sprite_update_noarm()
847 int crtc_y = plane_state->uapi.dst.y1; in ivb_sprite_update_noarm()
848 u32 crtc_w = drm_rect_width(&plane_state->uapi.dst); in ivb_sprite_update_noarm()
849 u32 crtc_h = drm_rect_height(&plane_state->uapi.dst); in ivb_sprite_update_noarm()
850 u32 src_w = drm_rect_width(&plane_state->uapi.src) >> 16; in ivb_sprite_update_noarm()
851 u32 src_h = drm_rect_height(&plane_state->uapi.src) >> 16; in ivb_sprite_update_noarm()
860 plane_state->view.color_plane[0].mapping_stride); in ivb_sprite_update_noarm()
872 const struct intel_plane_state *plane_state) in ivb_sprite_update_arm() argument
876 const struct drm_intel_sprite_colorkey *key = &plane_state->ckey; in ivb_sprite_update_arm()
877 u32 sprsurf_offset = plane_state->view.color_plane[0].offset; in ivb_sprite_update_arm()
878 u32 x = plane_state->view.color_plane[0].x; in ivb_sprite_update_arm()
879 u32 y = plane_state->view.color_plane[0].y; in ivb_sprite_update_arm()
882 sprctl = plane_state->ctl | ivb_sprite_ctl_crtc(crtc_state); in ivb_sprite_update_arm()
884 linear_offset = intel_fb_xy_to_linear(x, y, plane_state, 0); in ivb_sprite_update_arm()
911 intel_plane_ggtt_offset(plane_state) + sprsurf_offset); in ivb_sprite_update_arm()
913 ivb_sprite_update_gamma(plane_state); in ivb_sprite_update_arm()
954 const struct intel_plane_state *plane_state) in g4x_sprite_min_cdclk() argument
956 const struct drm_framebuffer *fb = plane_state->hw.fb; in g4x_sprite_min_cdclk()
970 hscale = drm_rect_calc_hscale(&plane_state->uapi.src, in g4x_sprite_min_cdclk()
971 &plane_state->uapi.dst, in g4x_sprite_min_cdclk()
1040 const struct intel_plane_state *plane_state) in g4x_sprite_ctl() argument
1043 to_i915(plane_state->uapi.plane->dev); in g4x_sprite_ctl()
1044 const struct drm_framebuffer *fb = plane_state->hw.fb; in g4x_sprite_ctl()
1045 unsigned int rotation = plane_state->hw.rotation; in g4x_sprite_ctl()
1046 const struct drm_intel_sprite_colorkey *key = &plane_state->ckey; in g4x_sprite_ctl()
1090 if (plane_state->hw.color_encoding == DRM_COLOR_YCBCR_BT709) in g4x_sprite_ctl()
1093 if (plane_state->hw.color_range == DRM_COLOR_YCBCR_FULL_RANGE) in g4x_sprite_ctl()
1110 static void g4x_sprite_update_gamma(const struct intel_plane_state *plane_state) in g4x_sprite_update_gamma() argument
1112 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in g4x_sprite_update_gamma()
1114 const struct drm_framebuffer *fb = plane_state->hw.fb; in g4x_sprite_update_gamma()
1140 static void ilk_sprite_update_gamma(const struct intel_plane_state *plane_state) in ilk_sprite_update_gamma() argument
1142 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in ilk_sprite_update_gamma()
1144 const struct drm_framebuffer *fb = plane_state->hw.fb; in ilk_sprite_update_gamma()
1169 const struct intel_plane_state *plane_state) in g4x_sprite_update_noarm() argument
1173 int crtc_x = plane_state->uapi.dst.x1; in g4x_sprite_update_noarm()
1174 int crtc_y = plane_state->uapi.dst.y1; in g4x_sprite_update_noarm()
1175 u32 crtc_w = drm_rect_width(&plane_state->uapi.dst); in g4x_sprite_update_noarm()
1176 u32 crtc_h = drm_rect_height(&plane_state->uapi.dst); in g4x_sprite_update_noarm()
1177 u32 src_w = drm_rect_width(&plane_state->uapi.src) >> 16; in g4x_sprite_update_noarm()
1178 u32 src_h = drm_rect_height(&plane_state->uapi.src) >> 16; in g4x_sprite_update_noarm()
1187 plane_state->view.color_plane[0].mapping_stride); in g4x_sprite_update_noarm()
1198 const struct intel_plane_state *plane_state) in g4x_sprite_update_arm() argument
1202 const struct drm_intel_sprite_colorkey *key = &plane_state->ckey; in g4x_sprite_update_arm()
1203 u32 dvssurf_offset = plane_state->view.color_plane[0].offset; in g4x_sprite_update_arm()
1204 u32 x = plane_state->view.color_plane[0].x; in g4x_sprite_update_arm()
1205 u32 y = plane_state->view.color_plane[0].y; in g4x_sprite_update_arm()
1208 dvscntr = plane_state->ctl | g4x_sprite_ctl_crtc(crtc_state); in g4x_sprite_update_arm()
1210 linear_offset = intel_fb_xy_to_linear(x, y, plane_state, 0); in g4x_sprite_update_arm()
1229 intel_plane_ggtt_offset(plane_state) + dvssurf_offset); in g4x_sprite_update_arm()
1232 g4x_sprite_update_gamma(plane_state); in g4x_sprite_update_arm()
1234 ilk_sprite_update_gamma(plane_state); in g4x_sprite_update_arm()
1292 struct intel_plane_state *plane_state) in g4x_sprite_check_scaling() argument
1294 struct drm_i915_private *i915 = to_i915(plane_state->uapi.plane->dev); in g4x_sprite_check_scaling()
1295 const struct drm_framebuffer *fb = plane_state->hw.fb; in g4x_sprite_check_scaling()
1296 const struct drm_rect *src = &plane_state->uapi.src; in g4x_sprite_check_scaling()
1297 const struct drm_rect *dst = &plane_state->uapi.dst; in g4x_sprite_check_scaling()
1301 unsigned int stride = plane_state->view.color_plane[0].mapping_stride; in g4x_sprite_check_scaling()
1354 struct intel_plane_state *plane_state) in g4x_sprite_check() argument
1356 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in g4x_sprite_check()
1362 if (g4x_fb_scalable(plane_state->hw.fb)) { in g4x_sprite_check()
1372 ret = intel_atomic_plane_check_clipping(plane_state, crtc_state, in g4x_sprite_check()
1377 ret = i9xx_check_plane_surface(plane_state); in g4x_sprite_check()
1381 if (!plane_state->uapi.visible) in g4x_sprite_check()
1384 ret = intel_plane_check_src_coordinates(plane_state); in g4x_sprite_check()
1388 ret = g4x_sprite_check_scaling(crtc_state, plane_state); in g4x_sprite_check()
1393 plane_state->ctl = ivb_sprite_ctl(crtc_state, plane_state); in g4x_sprite_check()
1395 plane_state->ctl = g4x_sprite_ctl(crtc_state, plane_state); in g4x_sprite_check()
1400 int chv_plane_check_rotation(const struct intel_plane_state *plane_state) in chv_plane_check_rotation() argument
1402 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in chv_plane_check_rotation()
1404 unsigned int rotation = plane_state->hw.rotation; in chv_plane_check_rotation()
1420 struct intel_plane_state *plane_state) in vlv_sprite_check() argument
1424 ret = chv_plane_check_rotation(plane_state); in vlv_sprite_check()
1428 ret = intel_atomic_plane_check_clipping(plane_state, crtc_state, in vlv_sprite_check()
1435 ret = i9xx_check_plane_surface(plane_state); in vlv_sprite_check()
1439 if (!plane_state->uapi.visible) in vlv_sprite_check()
1442 ret = intel_plane_check_src_coordinates(plane_state); in vlv_sprite_check()
1446 plane_state->ctl = vlv_sprite_ctl(crtc_state, plane_state); in vlv_sprite_check()
1456 static void intel_plane_set_ckey(struct intel_plane_state *plane_state, in intel_plane_set_ckey() argument
1459 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in intel_plane_set_ckey()
1461 struct drm_intel_sprite_colorkey *key = &plane_state->ckey; in intel_plane_set_ckey()
1488 struct drm_plane_state *plane_state; in intel_sprite_set_colorkey_ioctl() local
1531 plane_state = drm_atomic_get_plane_state(state, plane); in intel_sprite_set_colorkey_ioctl()
1532 ret = PTR_ERR_OR_ZERO(plane_state); in intel_sprite_set_colorkey_ioctl()
1534 intel_plane_set_ckey(to_intel_plane_state(plane_state), set); in intel_sprite_set_colorkey_ioctl()
1545 plane_state = drm_atomic_get_plane_state(state, in intel_sprite_set_colorkey_ioctl()
1547 ret = PTR_ERR_OR_ZERO(plane_state); in intel_sprite_set_colorkey_ioctl()
1549 intel_plane_set_ckey(to_intel_plane_state(plane_state), set); in intel_sprite_set_colorkey_ioctl()