Lines Matching defs:plane_state
68 chv_sprite_update_csc(const struct intel_plane_state *plane_state)
70 struct intel_display *display = to_intel_display(plane_state);
71 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
72 const struct drm_framebuffer *fb = plane_state->hw.fb;
98 const s16 *csc = csc_matrix[plane_state->hw.color_encoding];
140 vlv_sprite_update_clrc(const struct intel_plane_state *plane_state)
142 struct intel_display *display = to_intel_display(plane_state);
143 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
144 const struct drm_framebuffer *fb = plane_state->hw.fb;
150 plane_state->hw.color_range == DRM_COLOR_YCBCR_LIMITED_RANGE) {
180 const struct intel_plane_state *plane_state,
184 const struct drm_framebuffer *fb = plane_state->hw.fb;
238 const struct intel_plane_state *plane_state)
252 vlv_plane_ratio(crtc_state, plane_state, &num, &den);
268 const struct intel_plane_state *plane_state)
270 const struct drm_framebuffer *fb = plane_state->hw.fb;
271 unsigned int rotation = plane_state->hw.rotation;
272 const struct drm_intel_sprite_colorkey *key = &plane_state->ckey;
325 if (plane_state->hw.color_encoding == DRM_COLOR_YCBCR_BT709)
343 static void vlv_sprite_update_gamma(const struct intel_plane_state *plane_state)
345 struct intel_display *display = to_intel_display(plane_state);
346 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
347 const struct drm_framebuffer *fb = plane_state->hw.fb;
370 const struct intel_plane_state *plane_state)
375 int crtc_x = plane_state->uapi.dst.x1;
376 int crtc_y = plane_state->uapi.dst.y1;
377 u32 crtc_w = drm_rect_width(&plane_state->uapi.dst);
378 u32 crtc_h = drm_rect_height(&plane_state->uapi.dst);
381 plane_state->view.color_plane[0].mapping_stride);
392 const struct intel_plane_state *plane_state)
397 const struct drm_intel_sprite_colorkey *key = &plane_state->ckey;
398 u32 sprsurf_offset = plane_state->view.color_plane[0].offset;
399 u32 x = plane_state->view.color_plane[0].x;
400 u32 y = plane_state->view.color_plane[0].y;
403 sprctl = plane_state->ctl | vlv_sprite_ctl_crtc(crtc_state);
405 linear_offset = intel_fb_xy_to_linear(x, y, plane_state, 0);
408 chv_sprite_update_csc(plane_state);
432 intel_plane_ggtt_offset(plane_state) + sprsurf_offset);
434 vlv_sprite_update_clrc(plane_state);
435 vlv_sprite_update_gamma(plane_state);
487 const struct intel_plane_state *plane_state,
491 const struct drm_framebuffer *fb = plane_state->hw.fb;
524 const struct intel_plane_state *plane_state,
527 const struct drm_framebuffer *fb = plane_state->hw.fb;
551 const struct intel_plane_state *plane_state)
565 ivb_plane_ratio(crtc_state, plane_state, &num, &den);
571 const struct intel_plane_state *plane_state)
585 src_w = drm_rect_width(&plane_state->uapi.src) >> 16;
586 dst_w = drm_rect_width(&plane_state->uapi.dst);
589 ivb_plane_ratio_scaling(crtc_state, plane_state, &num, &den);
591 ivb_plane_ratio(crtc_state, plane_state, &num, &den);
601 const struct intel_plane_state *plane_state,
605 const struct drm_framebuffer *fb = plane_state->hw.fb;
634 const struct intel_plane_state *plane_state)
639 hsw_plane_ratio(crtc_state, plane_state, &num, &den);
657 static bool ivb_need_sprite_gamma(const struct intel_plane_state *plane_state)
659 struct intel_display *display = to_intel_display(plane_state);
660 const struct drm_framebuffer *fb = plane_state->hw.fb;
667 const struct intel_plane_state *plane_state)
669 struct intel_display *display = to_intel_display(plane_state);
670 const struct drm_framebuffer *fb = plane_state->hw.fb;
671 unsigned int rotation = plane_state->hw.rotation;
672 const struct drm_intel_sprite_colorkey *key = &plane_state->ckey;
716 if (!ivb_need_sprite_gamma(plane_state))
719 if (plane_state->hw.color_encoding == DRM_COLOR_YCBCR_BT709)
722 if (plane_state->hw.color_range == DRM_COLOR_YCBCR_FULL_RANGE)
739 static void ivb_sprite_linear_gamma(const struct intel_plane_state *plane_state,
764 static void ivb_sprite_update_gamma(const struct intel_plane_state *plane_state)
766 struct intel_display *display = to_intel_display(plane_state);
767 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
772 if (!ivb_need_sprite_gamma(plane_state))
775 ivb_sprite_linear_gamma(plane_state, gamma);
797 const struct intel_plane_state *plane_state)
801 int crtc_x = plane_state->uapi.dst.x1;
802 int crtc_y = plane_state->uapi.dst.y1;
803 u32 crtc_w = drm_rect_width(&plane_state->uapi.dst);
804 u32 crtc_h = drm_rect_height(&plane_state->uapi.dst);
805 u32 src_w = drm_rect_width(&plane_state->uapi.src) >> 16;
806 u32 src_h = drm_rect_height(&plane_state->uapi.src) >> 16;
815 plane_state->view.color_plane[0].mapping_stride);
828 const struct intel_plane_state *plane_state)
832 const struct drm_intel_sprite_colorkey *key = &plane_state->ckey;
833 u32 sprsurf_offset = plane_state->view.color_plane[0].offset;
834 u32 x = plane_state->view.color_plane[0].x;
835 u32 y = plane_state->view.color_plane[0].y;
838 sprctl = plane_state->ctl | ivb_sprite_ctl_crtc(crtc_state);
840 linear_offset = intel_fb_xy_to_linear(x, y, plane_state, 0);
867 intel_plane_ggtt_offset(plane_state) + sprsurf_offset);
869 ivb_sprite_update_gamma(plane_state);
922 const struct intel_plane_state *plane_state)
924 const struct drm_framebuffer *fb = plane_state->hw.fb;
938 hscale = drm_rect_calc_hscale(&plane_state->uapi.src,
939 &plane_state->uapi.dst,
1020 const struct intel_plane_state *plane_state)
1022 struct intel_display *display = to_intel_display(plane_state);
1023 const struct drm_framebuffer *fb = plane_state->hw.fb;
1024 unsigned int rotation = plane_state->hw.rotation;
1025 const struct drm_intel_sprite_colorkey *key = &plane_state->ckey;
1069 if (plane_state->hw.color_encoding == DRM_COLOR_YCBCR_BT709)
1072 if (plane_state->hw.color_range == DRM_COLOR_YCBCR_FULL_RANGE)
1089 static void g4x_sprite_update_gamma(const struct intel_plane_state *plane_state)
1091 struct intel_display *display = to_intel_display(plane_state);
1092 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
1093 const struct drm_framebuffer *fb = plane_state->hw.fb;
1119 static void ilk_sprite_update_gamma(const struct intel_plane_state *plane_state)
1121 struct intel_display *display = to_intel_display(plane_state);
1122 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
1123 const struct drm_framebuffer *fb = plane_state->hw.fb;
1149 const struct intel_plane_state *plane_state)
1153 int crtc_x = plane_state->uapi.dst.x1;
1154 int crtc_y = plane_state->uapi.dst.y1;
1155 u32 crtc_w = drm_rect_width(&plane_state->uapi.dst);
1156 u32 crtc_h = drm_rect_height(&plane_state->uapi.dst);
1157 u32 src_w = drm_rect_width(&plane_state->uapi.src) >> 16;
1158 u32 src_h = drm_rect_height(&plane_state->uapi.src) >> 16;
1167 plane_state->view.color_plane[0].mapping_stride);
1179 const struct intel_plane_state *plane_state)
1183 const struct drm_intel_sprite_colorkey *key = &plane_state->ckey;
1184 u32 dvssurf_offset = plane_state->view.color_plane[0].offset;
1185 u32 x = plane_state->view.color_plane[0].x;
1186 u32 y = plane_state->view.color_plane[0].y;
1189 dvscntr = plane_state->ctl | g4x_sprite_ctl_crtc(crtc_state);
1191 linear_offset = intel_fb_xy_to_linear(x, y, plane_state, 0);
1211 intel_plane_ggtt_offset(plane_state) + dvssurf_offset);
1214 g4x_sprite_update_gamma(plane_state);
1216 ilk_sprite_update_gamma(plane_state);
1286 struct intel_plane_state *plane_state)
1288 struct intel_display *display = to_intel_display(plane_state);
1289 const struct drm_framebuffer *fb = plane_state->hw.fb;
1290 const struct drm_rect *src = &plane_state->uapi.src;
1291 const struct drm_rect *dst = &plane_state->uapi.dst;
1295 unsigned int stride = plane_state->view.color_plane[0].mapping_stride;
1352 struct intel_plane_state *plane_state)
1354 struct intel_display *display = to_intel_display(plane_state);
1359 if (g4x_fb_scalable(plane_state->hw.fb)) {
1369 ret = intel_plane_check_clipping(plane_state, crtc_state,
1374 ret = i9xx_check_plane_surface(plane_state);
1378 if (!plane_state->uapi.visible)
1381 ret = intel_plane_check_src_coordinates(plane_state);
1385 ret = g4x_sprite_check_scaling(crtc_state, plane_state);
1390 plane_state->ctl = ivb_sprite_ctl(crtc_state, plane_state);
1392 plane_state->ctl = g4x_sprite_ctl(crtc_state, plane_state);
1397 int chv_plane_check_rotation(const struct intel_plane_state *plane_state)
1399 struct intel_display *display = to_intel_display(plane_state);
1400 unsigned int rotation = plane_state->hw.rotation;
1416 struct intel_plane_state *plane_state)
1420 ret = chv_plane_check_rotation(plane_state);
1424 ret = intel_plane_check_clipping(plane_state, crtc_state,
1431 ret = i9xx_check_plane_surface(plane_state);
1435 if (!plane_state->uapi.visible)
1438 ret = intel_plane_check_src_coordinates(plane_state);
1442 plane_state->ctl = vlv_sprite_ctl(crtc_state, plane_state);