File tree Expand file tree Collapse file tree 2 files changed +21
-1
lines changed
drivers/gpu/drm/i915/display Expand file tree Collapse file tree 2 files changed +21
-1
lines changed Original file line number Diff line number Diff line change @@ -169,7 +169,7 @@ static const struct intel_modifier_desc intel_modifiers[] = {
169
169
}, {
170
170
.modifier = I915_FORMAT_MOD_4_TILED_BMG_CCS ,
171
171
.display_ver = { 14 , -1 },
172
- .plane_caps = INTEL_PLANE_CAP_TILING_4 ,
172
+ .plane_caps = INTEL_PLANE_CAP_TILING_4 | INTEL_PLANE_CAP_NEED64K_PHYS ,
173
173
}, {
174
174
.modifier = I915_FORMAT_MOD_4_TILED_MTL_MC_CCS ,
175
175
.display_ver = { 14 , 14 },
@@ -420,6 +420,24 @@ bool intel_fb_is_mc_ccs_modifier(u64 modifier)
420
420
INTEL_PLANE_CAP_CCS_MC );
421
421
}
422
422
423
+ /**
424
+ * intel_fb_needs_64k_phys: Check if modifier requires 64k physical placement.
425
+ * @modifier: Modifier to check
426
+ *
427
+ * Returns:
428
+ * Returns %true if @modifier requires 64k aligned physical pages.
429
+ */
430
+ bool intel_fb_needs_64k_phys (u64 modifier )
431
+ {
432
+ const struct intel_modifier_desc * md = lookup_modifier_or_null (modifier );
433
+
434
+ if (!md )
435
+ return false;
436
+
437
+ return plane_caps_contain_any (md -> plane_caps ,
438
+ INTEL_PLANE_CAP_NEED64K_PHYS );
439
+ }
440
+
423
441
static bool check_modifier_display_ver_range (const struct intel_modifier_desc * md ,
424
442
u8 display_ver_from , u8 display_ver_until )
425
443
{
Original file line number Diff line number Diff line change @@ -28,11 +28,13 @@ struct intel_plane_state;
28
28
#define INTEL_PLANE_CAP_TILING_Y BIT(4)
29
29
#define INTEL_PLANE_CAP_TILING_Yf BIT(5)
30
30
#define INTEL_PLANE_CAP_TILING_4 BIT(6)
31
+ #define INTEL_PLANE_CAP_NEED64K_PHYS BIT(7)
31
32
32
33
bool intel_fb_is_tiled_modifier (u64 modifier );
33
34
bool intel_fb_is_ccs_modifier (u64 modifier );
34
35
bool intel_fb_is_rc_ccs_cc_modifier (u64 modifier );
35
36
bool intel_fb_is_mc_ccs_modifier (u64 modifier );
37
+ bool intel_fb_needs_64k_phys (u64 modifier );
36
38
37
39
bool intel_fb_is_ccs_aux_plane (const struct drm_framebuffer * fb , int color_plane );
38
40
int intel_fb_rc_ccs_cc_plane (const struct drm_framebuffer * fb );
You can’t perform that action at this time.
0 commit comments