Lines Matching full:modifier

127 	u64 modifier;  member
160 .modifier = I915_FORMAT_MOD_4_TILED_MTL_MC_CCS,
169 .modifier = I915_FORMAT_MOD_4_TILED_MTL_RC_CCS,
177 .modifier = I915_FORMAT_MOD_4_TILED_MTL_RC_CCS_CC,
186 .modifier = I915_FORMAT_MOD_4_TILED_DG2_MC_CCS,
190 .modifier = I915_FORMAT_MOD_4_TILED_DG2_RC_CCS_CC,
198 .modifier = I915_FORMAT_MOD_4_TILED_DG2_RC_CCS,
202 .modifier = I915_FORMAT_MOD_4_TILED,
206 .modifier = I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS,
215 .modifier = I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS,
223 .modifier = I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC,
232 .modifier = I915_FORMAT_MOD_Yf_TILED_CCS,
240 .modifier = I915_FORMAT_MOD_Y_TILED_CCS,
248 .modifier = I915_FORMAT_MOD_Yf_TILED,
252 .modifier = I915_FORMAT_MOD_Y_TILED,
256 .modifier = I915_FORMAT_MOD_X_TILED,
260 .modifier = DRM_FORMAT_MOD_LINEAR,
265 static const struct intel_modifier_desc *lookup_modifier_or_null(u64 modifier) in lookup_modifier_or_null() argument
270 if (intel_modifiers[i].modifier == modifier) in lookup_modifier_or_null()
276 static const struct intel_modifier_desc *lookup_modifier(u64 modifier) in lookup_modifier() argument
278 const struct intel_modifier_desc *md = lookup_modifier_or_null(modifier); in lookup_modifier()
301 * intel_fb_get_format_info: Get a modifier specific format information
305 * Returns the format information for @cmd->pixel_format specific to @cmd->modifier[0],
306 * or %NULL if the modifier doesn't override the format.
311 const struct intel_modifier_desc *md = lookup_modifier_or_null(cmd->modifier[0]); in intel_fb_get_format_info()
330 * intel_fb_is_tiled_modifier: Check if a modifier is a tiled modifier type
331 * @modifier: Modifier to check
334 * Returns %true if @modifier is a tiled modifier.
336 bool intel_fb_is_tiled_modifier(u64 modifier) in intel_fb_is_tiled_modifier() argument
338 return plane_caps_contain_any(lookup_modifier(modifier)->plane_caps, in intel_fb_is_tiled_modifier()
343 * intel_fb_is_ccs_modifier: Check if a modifier is a CCS modifier type
344 * @modifier: Modifier to check
347 * Returns %true if @modifier is a render, render with color clear or
348 * media compression modifier.
350 bool intel_fb_is_ccs_modifier(u64 modifier) in intel_fb_is_ccs_modifier() argument
352 return plane_caps_contain_any(lookup_modifier(modifier)->plane_caps, in intel_fb_is_ccs_modifier()
357 * intel_fb_is_rc_ccs_cc_modifier: Check if a modifier is an RC CCS CC modifier type
358 * @modifier: Modifier to check
361 * Returns %true if @modifier is a render with color clear modifier.
363 bool intel_fb_is_rc_ccs_cc_modifier(u64 modifier) in intel_fb_is_rc_ccs_cc_modifier() argument
365 return plane_caps_contain_any(lookup_modifier(modifier)->plane_caps, in intel_fb_is_rc_ccs_cc_modifier()
370 * intel_fb_is_mc_ccs_modifier: Check if a modifier is an MC CCS modifier type
371 * @modifier: Modifier to check
374 * Returns %true if @modifier is a media compression modifier.
376 bool intel_fb_is_mc_ccs_modifier(u64 modifier) in intel_fb_is_mc_ccs_modifier() argument
378 return plane_caps_contain_any(lookup_modifier(modifier)->plane_caps, in intel_fb_is_mc_ccs_modifier()
403 if (intel_fb_is_ccs_modifier(md->modifier) && in plane_has_modifier()
423 int count = 1; /* +1 for invalid modifier terminator */ in intel_fb_plane_get_modifiers()
438 *p++ = intel_modifiers[i].modifier; in intel_fb_plane_get_modifiers()
446 * intel_fb_plane_supports_modifier: Determine if a modifier is supported by the given plane
447 * @plane: Plane to check the modifier support for
448 * @modifier: The modifier to check the support for
451 * %true if the @modifier is supported on @plane.
453 bool intel_fb_plane_supports_modifier(struct intel_plane *plane, u64 modifier) in intel_fb_plane_supports_modifier() argument
458 if (plane->base.modifiers[i] == modifier) in intel_fb_plane_supports_modifier()
479 * @modifier: modifier used with the format
482 * %true if @info / @modifier is YUV semiplanar.
485 u64 modifier) in intel_format_info_is_yuv_semiplanar() argument
487 return format_is_yuv_semiplanar(lookup_modifier(modifier), info); in intel_format_info_is_yuv_semiplanar()
509 const struct intel_modifier_desc *md = lookup_modifier(fb->modifier); in intel_fb_is_ccs_aux_plane()
524 const struct intel_modifier_desc *md = lookup_modifier(fb->modifier); in intel_fb_is_gen12_ccs_aux_plane()
536 * framebuffer using a render compression/color clear modifier.
540 const struct intel_modifier_desc *md = lookup_modifier(fb->modifier); in intel_fb_rc_ccs_cc_plane()
557 return intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier) && in is_semiplanar_uv_plane()
563 return fb->modifier == DRM_FORMAT_MOD_LINEAR || in is_surface_linear()
570 drm_WARN_ON(fb->dev, !intel_fb_is_ccs_modifier(fb->modifier) || in main_to_ccs_plane()
578 drm_WARN_ON(fb->dev, !intel_fb_is_ccs_modifier(fb->modifier) || in skl_ccs_to_main_plane()
598 const struct intel_modifier_desc *md = lookup_modifier(fb->modifier); in skl_main_to_aux_plane()
621 switch (fb->modifier) { in intel_tile_width_bytes()
677 MISSING_CASE(fb->modifier); in intel_tile_width_bytes()
756 bool intel_fb_modifier_uses_dpt(struct drm_i915_private *i915, u64 modifier) in intel_fb_modifier_uses_dpt() argument
758 return HAS_DPT(i915) && modifier != DRM_FORMAT_MOD_LINEAR; in intel_fb_modifier_uses_dpt()
764 intel_fb_modifier_uses_dpt(to_i915(fb->dev), fb->modifier); in intel_fb_uses_dpt()
810 if (fb->modifier == DRM_FORMAT_MOD_LINEAR) in intel_surf_alignment()
821 switch (fb->modifier) { in intel_surf_alignment()
846 MISSING_CASE(fb->modifier); in intel_surf_alignment()
1104 else if (fb->modifier != DRM_FORMAT_MOD_LINEAR) in intel_fb_offset_to_xy()
1213 if (intel_fb_is_ccs_modifier(fb->modifier)) in intel_plane_can_remap()
1217 if (fb->modifier == DRM_FORMAT_MOD_LINEAR) { in intel_plane_can_remap()
1270 fb->base.modifier, rotation); in intel_plane_needs_remap()
1509 intel_fb_is_ccs_modifier(fb->base.modifier)) in calc_plane_remap_info()
1590 return fb->base.modifier == I915_FORMAT_MOD_Y_TILED || in intel_fb_supports_90_270_rotation()
1591 fb->base.modifier == I915_FORMAT_MOD_Yf_TILED; in intel_fb_supports_90_270_rotation()
1623 * Plane 2 of Render Compression with Clear Color fb modifier in intel_fill_fb_info()
1700 drm_WARN_ON(&i915->drm, intel_fb_is_ccs_modifier(fb->modifier)); in intel_plane_remap_gtt()
1755 u32 pixel_format, u64 modifier) in intel_fb_max_stride() argument
1763 if (DISPLAY_VER(dev_priv) < 4 || intel_fb_is_ccs_modifier(modifier) || in intel_fb_max_stride()
1764 intel_fb_modifier_uses_dpt(dev_priv, modifier)) in intel_fb_max_stride()
1765 return intel_plane_fb_max_stride(dev_priv, pixel_format, modifier); in intel_fb_max_stride()
1781 fb->modifier); in intel_fb_stride_alignment()
1788 !intel_fb_is_ccs_modifier(fb->modifier)) in intel_fb_stride_alignment()
1795 if (intel_fb_is_ccs_modifier(fb->modifier)) { in intel_fb_stride_alignment()
1838 fb->modifier, rotation); in intel_plane_check_stride()
1955 * the fb modifier and tiling mode match. in intel_framebuffer_init()
1958 tiling != intel_fb_modifier_to_tiling(mode_cmd->modifier[0])) { in intel_framebuffer_init()
1960 "tiling_mode doesn't match fb modifier\n"); in intel_framebuffer_init()
1965 mode_cmd->modifier[0] = I915_FORMAT_MOD_X_TILED; in intel_framebuffer_init()
1975 mode_cmd->modifier[0])) { in intel_framebuffer_init()
1977 "unsupported pixel format %p4cc / modifier 0x%llx\n", in intel_framebuffer_init()
1978 &mode_cmd->pixel_format, mode_cmd->modifier[0]); in intel_framebuffer_init()
1984 * so the tiling mode must match the fb modifier exactly. in intel_framebuffer_init()
1987 tiling != intel_fb_modifier_to_tiling(mode_cmd->modifier[0])) { in intel_framebuffer_init()
1989 "tiling_mode must match fb modifier exactly on gen2/3\n"); in intel_framebuffer_init()
1994 mode_cmd->modifier[0]); in intel_framebuffer_init()
1998 mode_cmd->modifier[0] != DRM_FORMAT_MOD_LINEAR ? in intel_framebuffer_init()