Lines Matching defs:fb

276 	const struct drm_framebuffer *fb = plane_state->hw.fb;
278 if (fb->format->cpp[0] == 8) {
303 const struct drm_framebuffer *fb = plane_state->hw.fb;
305 if (fb->format->cpp[0] == 8) {
325 static int skl_plane_max_width(const struct drm_framebuffer *fb,
329 int cpp = fb->format->cpp[color_plane];
331 switch (fb->modifier) {
359 MISSING_CASE(fb->modifier);
364 static int glk_plane_max_width(const struct drm_framebuffer *fb,
368 int cpp = fb->format->cpp[color_plane];
370 switch (fb->modifier) {
387 MISSING_CASE(fb->modifier);
392 static int icl_plane_min_width(const struct drm_framebuffer *fb,
397 switch (fb->format->format) {
432 static int icl_hdr_plane_max_width(const struct drm_framebuffer *fb,
436 if (intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier))
442 static int icl_sdr_plane_max_width(const struct drm_framebuffer *fb,
449 static int skl_plane_max_height(const struct drm_framebuffer *fb,
456 static int icl_plane_max_height(const struct drm_framebuffer *fb,
591 static unsigned int skl_plane_stride_mult(const struct drm_framebuffer *fb,
598 if (is_surface_linear(fb, color_plane))
601 return intel_tile_height(fb, color_plane);
603 return intel_tile_width_bytes(fb, color_plane);
609 const struct drm_framebuffer *fb = plane_state->hw.fb;
613 if (color_plane >= fb->format->num_planes)
616 return stride / skl_plane_stride_mult(fb, color_plane, rotation);
751 if (!plane_state->hw.fb->format->has_alpha)
769 if (!plane_state->hw.fb->format->has_alpha)
873 const struct drm_framebuffer *fb = plane_state->hw.fb;
875 if (intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier)) {
876 switch (fb->format->cpp[0]) {
883 switch (fb->format->cpp[0]) {
916 const struct drm_framebuffer *fb = plane_state->hw.fb;
934 plane_ctl |= skl_plane_ctl_format(fb->format->format);
935 plane_ctl |= skl_plane_ctl_tiling(fb->modifier);
952 fb->modifier == I915_FORMAT_MOD_4_TILED) {
981 const struct drm_framebuffer *fb = plane_state->hw.fb;
988 if (fb->format->is_yuv && !icl_is_hdr_plane(dev_priv, plane->id)) {
1003 } else if (fb->format->is_yuv) {
1019 const struct drm_framebuffer *fb = plane_state->hw.fb;
1022 if (intel_fb_uses_dpt(fb)) {
1055 const struct drm_framebuffer *fb = plane_state->hw.fb;
1056 int aux_plane = skl_main_to_aux_plane(fb, color_plane);
1270 const struct drm_framebuffer *fb = plane_state->hw.fb;
1302 if (intel_fb_is_rc_ccs_cc_modifier(fb->modifier)) {
1320 if (fb->format->is_yuv && icl_is_hdr_plane(dev_priv, plane_id))
1426 const struct drm_framebuffer *fb = plane_state->hw.fb;
1429 if (!fb)
1433 intel_fb_is_ccs_modifier(fb->modifier)) {
1441 fb->modifier == DRM_FORMAT_MOD_LINEAR) {
1448 if (!intel_fb_supports_90_270_rotation(to_intel_framebuffer(fb))) {
1458 switch (fb->format->format) {
1475 &fb->format->format);
1485 fb->modifier != DRM_FORMAT_MOD_LINEAR &&
1486 fb->modifier != I915_FORMAT_MOD_X_TILED) {
1495 intel_format_is_p01x(fb->format->format)) {
1538 const struct drm_framebuffer *fb = plane_state->hw.fb;
1543 if (intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier) &&
1555 const struct drm_framebuffer *fb)
1564 !intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier))
1571 const struct drm_framebuffer *fb,
1576 return plane->min_width(fb, color_plane, rotation);
1582 const struct drm_framebuffer *fb,
1587 return plane->max_width(fb, color_plane, rotation);
1593 const struct drm_framebuffer *fb,
1598 return plane->max_height(fb, color_plane, rotation);
1608 const struct drm_framebuffer *fb = plane_state->hw.fb;
1612 u32 alignment = intel_surf_alignment(fb, ccs_plane);
1616 intel_fb_plane_get_subsampling(&hsub, &vsub, fb, ccs_plane);
1654 const struct drm_framebuffer *fb = plane_state->hw.fb;
1655 const int aux_plane = skl_main_to_aux_plane(fb, 0);
1657 const u32 alignment = intel_surf_alignment(fb, 0);
1681 if (fb->modifier == I915_FORMAT_MOD_X_TILED) {
1682 int cpp = fb->format->cpp[0];
1704 const struct drm_framebuffer *fb = plane_state->hw.fb;
1710 const int min_width = intel_plane_min_width(plane, fb, 0, rotation);
1711 const int max_width = intel_plane_max_width(plane, fb, 0, rotation);
1712 const int max_height = intel_plane_max_height(plane, fb, 0, rotation);
1713 const int aux_plane = skl_main_to_aux_plane(fb, 0);
1714 const u32 alignment = intel_surf_alignment(fb, 0);
1732 * there's no aux plane on fb so skip this checking.
1734 if (intel_fb_is_ccs_modifier(fb->modifier) && aux_plane) {
1775 const struct drm_framebuffer *fb = plane_state->hw.fb;
1778 int ccs_plane = intel_fb_is_ccs_modifier(fb->modifier) ?
1779 skl_main_to_aux_plane(fb, uv_plane) : 0;
1780 int max_width = intel_plane_max_width(plane, fb, uv_plane, rotation);
1781 int max_height = intel_plane_max_height(plane, fb, uv_plane, rotation);
1802 u32 alignment = intel_surf_alignment(fb, uv_plane);
1844 const struct drm_framebuffer *fb = plane_state->hw.fb;
1850 for (ccs_plane = 0; ccs_plane < fb->format->num_planes; ccs_plane++) {
1855 if (!intel_fb_is_ccs_aux_plane(fb, ccs_plane))
1858 intel_fb_plane_get_subsampling(&main_hsub, &main_vsub, fb,
1859 skl_ccs_to_main_plane(fb, ccs_plane));
1860 intel_fb_plane_get_subsampling(&hsub, &vsub, fb, ccs_plane);
1883 const struct drm_framebuffer *fb = plane_state->hw.fb;
1897 if (intel_fb_is_ccs_modifier(fb->modifier)) {
1903 if (intel_format_info_is_yuv_semiplanar(fb->format,
1904 fb->modifier)) {
1917 static bool skl_fb_scalable(const struct drm_framebuffer *fb)
1919 if (!fb)
1922 switch (fb->format->format) {
1929 return DISPLAY_VER(to_i915(fb->dev)) >= 11;
1939 const struct drm_framebuffer *fb = plane_state->hw.fb;
1940 struct drm_i915_gem_object *obj = intel_fb_obj(fb);
1955 const struct drm_framebuffer *fb = plane_state->hw.fb;
1965 if (!plane_state->ckey.flags && skl_fb_scalable(fb)) {
1967 max_scale = skl_plane_max_scale(dev_priv, fb);
2006 if (intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier) &&
2476 struct drm_framebuffer *fb;
2493 drm_dbg_kms(&dev_priv->drm, "failed to alloc fb\n");
2497 fb = &intel_fb->base;
2499 fb->dev = dev;
2519 fb->format = drm_format_info(fourcc);
2524 fb->modifier = DRM_FORMAT_MOD_LINEAR;
2528 fb->modifier = I915_FORMAT_MOD_X_TILED;
2534 fb->modifier = I915_FORMAT_MOD_4_TILED_MTL_RC_CCS;
2536 fb->modifier = I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS;
2538 fb->modifier = I915_FORMAT_MOD_Y_TILED_CCS;
2541 fb->modifier = I915_FORMAT_MOD_4_TILED_MTL_MC_CCS;
2543 fb->modifier = I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS;
2545 fb->modifier = I915_FORMAT_MOD_Y_TILED;
2553 fb->modifier = I915_FORMAT_MOD_4_TILED_DG2_RC_CCS;
2555 fb->modifier = I915_FORMAT_MOD_4_TILED_DG2_MC_CCS;
2557 fb->modifier = I915_FORMAT_MOD_4_TILED_DG2_RC_CCS_CC;
2559 fb->modifier = I915_FORMAT_MOD_4_TILED;
2562 fb->modifier = I915_FORMAT_MOD_Yf_TILED_CCS;
2564 fb->modifier = I915_FORMAT_MOD_Yf_TILED;
2573 intel_fb_modifier_uses_dpt(dev_priv, fb->modifier)) {
2611 fb->height = REG_FIELD_GET(PLANE_HEIGHT_MASK, val) + 1;
2612 fb->width = REG_FIELD_GET(PLANE_WIDTH_MASK, val) + 1;
2615 stride_mult = skl_plane_stride_mult(fb, 0, DRM_MODE_ROTATE_0);
2617 fb->pitches[0] = REG_FIELD_GET(PLANE_STRIDE__MASK, val) * stride_mult;
2619 aligned_height = intel_fb_align_height(fb, 0, fb->height);
2621 plane_config->size = fb->pitches[0] * aligned_height;
2624 "%s/%s with fb: size=%dx%d@%d, offset=%x, pitch %d, size 0x%x\n",
2625 crtc->base.name, plane->base.name, fb->width, fb->height,
2626 fb->format->cpp[0] * 8, base, fb->pitches[0],
2629 plane_config->fb = intel_fb;