Lines Matching defs:modifier
214 u64 modifier;
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)
365 if (intel_modifiers[i].modifier == modifier)
371 static const struct intel_modifier_desc *lookup_modifier(u64 modifier)
373 const struct intel_modifier_desc *md = lookup_modifier_or_null(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]);
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)
460 return plane_caps_contain_any(lookup_modifier(modifier)->plane_caps,
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)
474 return plane_caps_contain_any(lookup_modifier(modifier)->plane_caps,
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)
487 return plane_caps_contain_any(lookup_modifier(modifier)->plane_caps,
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)
500 return plane_caps_contain_any(lookup_modifier(modifier)->plane_caps,
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)
513 const struct intel_modifier_desc *md = lookup_modifier_or_null(modifier);
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)
531 return plane_caps_contain_any(lookup_modifier(modifier)->plane_caps,
558 if (intel_fb_is_ccs_modifier(md->modifier) &&
562 if (md->modifier == I915_FORMAT_MOD_4_TILED_BMG_CCS &&
566 if (md->modifier == I915_FORMAT_MOD_4_TILED_LNL_CCS &&
586 int count = 1; /* +1 for invalid modifier terminator */
601 *p++ = intel_modifiers[i].modifier;
609 * intel_fb_plane_supports_modifier: Determine if a modifier is supported by the given plane
610 * @plane: Plane to check the modifier support for
611 * @modifier: The modifier to check the support for
614 * %true if the @modifier is supported on @plane.
616 bool intel_fb_plane_supports_modifier(struct intel_plane *plane, u64 modifier)
621 if (plane->base.modifiers[i] == modifier)
642 * @modifier: modifier used with the format
645 * %true if @info / @modifier is YUV semiplanar.
648 u64 modifier)
650 return format_is_yuv_semiplanar(lookup_modifier(modifier), info);
672 const struct intel_modifier_desc *md = lookup_modifier(fb->modifier);
687 const struct intel_modifier_desc *md = lookup_modifier(fb->modifier);
699 * framebuffer using a render compression/color clear modifier.
703 const struct intel_modifier_desc *md = lookup_modifier(fb->modifier);
720 return fb->modifier == DRM_FORMAT_MOD_LINEAR ||
727 drm_WARN_ON(fb->dev, !intel_fb_is_ccs_modifier(fb->modifier) ||
735 drm_WARN_ON(fb->dev, !intel_fb_is_ccs_modifier(fb->modifier) ||
755 const struct intel_modifier_desc *md = lookup_modifier(fb->modifier);
779 switch (fb->modifier) {
837 MISSING_CASE(fb->modifier);
898 bool intel_fb_modifier_uses_dpt(struct intel_display *display, u64 modifier)
900 return HAS_DPT(display) && modifier != DRM_FORMAT_MOD_LINEAR;
908 intel_fb_modifier_uses_dpt(display, fb->modifier);
1154 if (fb->modifier != DRM_FORMAT_MOD_LINEAR)
1262 if (intel_fb_is_ccs_modifier(fb->modifier))
1266 if (fb->modifier == DRM_FORMAT_MOD_LINEAR) {
1329 fb->base.modifier, rotation);
1569 intel_fb_is_ccs_modifier(fb->base.modifier))
1653 return fb->base.modifier == I915_FORMAT_MOD_Y_TILED ||
1654 fb->base.modifier == I915_FORMAT_MOD_Yf_TILED;
1666 if (!drm_plane_has_format(&plane->base, fb->format->format, fb->modifier))
1690 if (!drm_plane_has_format(&plane->base, fb->format->format, fb->modifier))
1728 * Plane 2 of Render Compression with Clear Color fb modifier
1852 drm_WARN_ON(display->drm, intel_fb_is_ccs_modifier(fb->modifier));
1974 u32 pixel_format, u64 modifier)
1982 if (DISPLAY_VER(display) < 4 || intel_fb_is_ccs_modifier(modifier) ||
1983 intel_fb_modifier_uses_dpt(display, modifier))
1984 return intel_plane_fb_max_stride(display->drm, pixel_format, modifier);
2000 fb->modifier);
2007 !intel_fb_is_ccs_modifier(fb->modifier))
2014 if (intel_fb_is_ccs_modifier(fb->modifier)) {
2058 fb->modifier, rotation);
2229 mode_cmd->modifier[0])) {
2231 "unsupported pixel format %p4cc / modifier 0x%llx\n",
2232 &mode_cmd->pixel_format, mode_cmd->modifier[0]);
2237 mode_cmd->modifier[0]);
2241 mode_cmd->modifier[0] != DRM_FORMAT_MOD_LINEAR ?