Lines Matching full:modifier

214 	u64 modifier;  member
247 .modifier = I915_FORMAT_MOD_4_TILED_LNL_CCS,
251 .modifier = I915_FORMAT_MOD_4_TILED_BMG_CCS,
255 .modifier = I915_FORMAT_MOD_4_TILED_MTL_MC_CCS,
264 .modifier = I915_FORMAT_MOD_4_TILED_MTL_RC_CCS,
272 .modifier = I915_FORMAT_MOD_4_TILED_MTL_RC_CCS_CC,
281 .modifier = I915_FORMAT_MOD_4_TILED_DG2_MC_CCS,
285 .modifier = I915_FORMAT_MOD_4_TILED_DG2_RC_CCS_CC,
293 .modifier = I915_FORMAT_MOD_4_TILED_DG2_RC_CCS,
297 .modifier = I915_FORMAT_MOD_4_TILED,
301 .modifier = I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS,
310 .modifier = I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS,
318 .modifier = I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC,
327 .modifier = I915_FORMAT_MOD_Yf_TILED_CCS,
335 .modifier = I915_FORMAT_MOD_Y_TILED_CCS,
343 .modifier = I915_FORMAT_MOD_Yf_TILED,
347 .modifier = I915_FORMAT_MOD_Y_TILED,
351 .modifier = I915_FORMAT_MOD_X_TILED,
355 .modifier = DRM_FORMAT_MOD_LINEAR,
360 static const struct intel_modifier_desc *lookup_modifier_or_null(u64 modifier) in lookup_modifier_or_null() argument
365 if (intel_modifiers[i].modifier == modifier) in lookup_modifier_or_null()
371 static const struct intel_modifier_desc *lookup_modifier(u64 modifier) in lookup_modifier() argument
373 const struct intel_modifier_desc *md = lookup_modifier_or_null(modifier); in lookup_modifier()
423 * intel_fb_get_format_info: Get a modifier specific format information
427 * Returns the format information for @cmd->pixel_format specific to @cmd->modifier[0],
428 * or %NULL if the modifier doesn't override the format.
433 const struct intel_modifier_desc *md = lookup_modifier_or_null(cmd->modifier[0]); in intel_fb_get_format_info()
452 * intel_fb_is_tiled_modifier: Check if a modifier is a tiled modifier type
453 * @modifier: Modifier to check
456 * Returns %true if @modifier is a tiled modifier.
458 bool intel_fb_is_tiled_modifier(u64 modifier) in intel_fb_is_tiled_modifier() argument
460 return plane_caps_contain_any(lookup_modifier(modifier)->plane_caps, in intel_fb_is_tiled_modifier()
465 * intel_fb_is_ccs_modifier: Check if a modifier is a CCS modifier type
466 * @modifier: Modifier to check
469 * Returns %true if @modifier is a render, render with color clear or
470 * media compression modifier.
472 bool intel_fb_is_ccs_modifier(u64 modifier) in intel_fb_is_ccs_modifier() argument
474 return plane_caps_contain_any(lookup_modifier(modifier)->plane_caps, in intel_fb_is_ccs_modifier()
479 * intel_fb_is_rc_ccs_cc_modifier: Check if a modifier is an RC CCS CC modifier type
480 * @modifier: Modifier to check
483 * Returns %true if @modifier is a render with color clear modifier.
485 bool intel_fb_is_rc_ccs_cc_modifier(u64 modifier) in intel_fb_is_rc_ccs_cc_modifier() argument
487 return plane_caps_contain_any(lookup_modifier(modifier)->plane_caps, in intel_fb_is_rc_ccs_cc_modifier()
492 * intel_fb_is_mc_ccs_modifier: Check if a modifier is an MC CCS modifier type
493 * @modifier: Modifier to check
496 * Returns %true if @modifier is a media compression modifier.
498 bool intel_fb_is_mc_ccs_modifier(u64 modifier) in intel_fb_is_mc_ccs_modifier() argument
500 return plane_caps_contain_any(lookup_modifier(modifier)->plane_caps, in intel_fb_is_mc_ccs_modifier()
505 * intel_fb_needs_64k_phys: Check if modifier requires 64k physical placement.
506 * @modifier: Modifier to check
509 * Returns %true if @modifier requires 64k aligned physical pages.
511 bool intel_fb_needs_64k_phys(u64 modifier) in intel_fb_needs_64k_phys() argument
513 const struct intel_modifier_desc *md = lookup_modifier_or_null(modifier); in intel_fb_needs_64k_phys()
523 * intel_fb_is_tile4_modifier: Check if a modifier is a tile4 modifier type
524 * @modifier: Modifier to check
527 * Returns %true if @modifier is a tile4 modifier.
529 bool intel_fb_is_tile4_modifier(u64 modifier) in intel_fb_is_tile4_modifier() argument
531 return plane_caps_contain_any(lookup_modifier(modifier)->plane_caps, in intel_fb_is_tile4_modifier()
556 if (intel_fb_is_ccs_modifier(md->modifier) && in plane_has_modifier()
560 if (md->modifier == I915_FORMAT_MOD_4_TILED_BMG_CCS && in plane_has_modifier()
564 if (md->modifier == I915_FORMAT_MOD_4_TILED_LNL_CCS && in plane_has_modifier()
584 int count = 1; /* +1 for invalid modifier terminator */ in intel_fb_plane_get_modifiers()
599 *p++ = intel_modifiers[i].modifier; in intel_fb_plane_get_modifiers()
607 * intel_fb_plane_supports_modifier: Determine if a modifier is supported by the given plane
608 * @plane: Plane to check the modifier support for
609 * @modifier: The modifier to check the support for
612 * %true if the @modifier is supported on @plane.
614 bool intel_fb_plane_supports_modifier(struct intel_plane *plane, u64 modifier) in intel_fb_plane_supports_modifier() argument
619 if (plane->base.modifiers[i] == modifier) in intel_fb_plane_supports_modifier()
640 * @modifier: modifier used with the format
643 * %true if @info / @modifier is YUV semiplanar.
646 u64 modifier) in intel_format_info_is_yuv_semiplanar() argument
648 return format_is_yuv_semiplanar(lookup_modifier(modifier), info); in intel_format_info_is_yuv_semiplanar()
670 const struct intel_modifier_desc *md = lookup_modifier(fb->modifier); in intel_fb_is_ccs_aux_plane()
685 const struct intel_modifier_desc *md = lookup_modifier(fb->modifier); in intel_fb_is_gen12_ccs_aux_plane()
697 * framebuffer using a render compression/color clear modifier.
701 const struct intel_modifier_desc *md = lookup_modifier(fb->modifier); in intel_fb_rc_ccs_cc_plane()
718 return fb->modifier == DRM_FORMAT_MOD_LINEAR || in is_surface_linear()
725 drm_WARN_ON(fb->dev, !intel_fb_is_ccs_modifier(fb->modifier) || in main_to_ccs_plane()
733 drm_WARN_ON(fb->dev, !intel_fb_is_ccs_modifier(fb->modifier) || in skl_ccs_to_main_plane()
753 const struct intel_modifier_desc *md = lookup_modifier(fb->modifier); in skl_main_to_aux_plane()
776 switch (fb->modifier) { in intel_tile_width_bytes()
834 MISSING_CASE(fb->modifier); in intel_tile_width_bytes()
893 bool intel_fb_modifier_uses_dpt(struct drm_i915_private *i915, u64 modifier) in intel_fb_modifier_uses_dpt() argument
895 return HAS_DPT(i915) && modifier != DRM_FORMAT_MOD_LINEAR; in intel_fb_modifier_uses_dpt()
901 intel_fb_modifier_uses_dpt(to_i915(fb->dev), fb->modifier); in intel_fb_uses_dpt()
1147 if (fb->modifier != DRM_FORMAT_MOD_LINEAR) in intel_fb_offset_to_xy()
1256 if (intel_fb_is_ccs_modifier(fb->modifier)) in intel_plane_can_remap()
1260 if (fb->modifier == DRM_FORMAT_MOD_LINEAR) { in intel_plane_can_remap()
1313 fb->base.modifier, rotation); in intel_plane_needs_remap()
1552 intel_fb_is_ccs_modifier(fb->base.modifier)) in calc_plane_remap_info()
1633 return fb->base.modifier == I915_FORMAT_MOD_Y_TILED || in intel_fb_supports_90_270_rotation()
1634 fb->base.modifier == I915_FORMAT_MOD_Yf_TILED; in intel_fb_supports_90_270_rotation()
1646 if (!drm_plane_has_format(&plane->base, fb->format->format, fb->modifier)) in intel_fb_min_alignment()
1692 * Plane 2 of Render Compression with Clear Color fb modifier in intel_fill_fb_info()
1771 drm_WARN_ON(&i915->drm, intel_fb_is_ccs_modifier(fb->modifier)); in intel_plane_remap_gtt()
1826 u32 pixel_format, u64 modifier) in intel_fb_max_stride() argument
1834 if (DISPLAY_VER(dev_priv) < 4 || intel_fb_is_ccs_modifier(modifier) || in intel_fb_max_stride()
1835 intel_fb_modifier_uses_dpt(dev_priv, modifier)) in intel_fb_max_stride()
1836 return intel_plane_fb_max_stride(dev_priv, pixel_format, modifier); in intel_fb_max_stride()
1852 fb->modifier); in intel_fb_stride_alignment()
1859 !intel_fb_is_ccs_modifier(fb->modifier)) in intel_fb_stride_alignment()
1866 if (intel_fb_is_ccs_modifier(fb->modifier)) { in intel_fb_stride_alignment()
1909 fb->modifier, rotation); in intel_plane_check_stride()
2080 mode_cmd->modifier[0])) { in intel_framebuffer_init()
2082 "unsupported pixel format %p4cc / modifier 0x%llx\n", in intel_framebuffer_init()
2083 &mode_cmd->pixel_format, mode_cmd->modifier[0]); in intel_framebuffer_init()
2088 mode_cmd->modifier[0]); in intel_framebuffer_init()
2092 mode_cmd->modifier[0] != DRM_FORMAT_MOD_LINEAR ? in intel_framebuffer_init()