* [Intel-gfx] [PATCH 1/2] drm/i915: Introduce new Tile 4 format @ 2021-12-09 10:47 ` Stanislav Lisovskiy 0 siblings, 0 replies; 15+ messages in thread From: Stanislav Lisovskiy @ 2021-12-09 10:47 UTC (permalink / raw) To: intel-gfx; +Cc: nanley.g.chery, dri-devel This tiling layout uses 4KB tiles in a row-major layout. It has the same shape as Tile Y at two granularities: 4KB (128B x 32) and 64B (16B x 4). It only differs from Tile Y at the 256B granularity in between. At this granularity, Tile Y has a shape of 16B x 32 rows, but this tiling has a shape of 64B x 8 rows. Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> --- include/uapi/drm/drm_fourcc.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h index 7f652c96845b..a146c6df1066 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h @@ -565,6 +565,17 @@ extern "C" { */ #define I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC fourcc_mod_code(INTEL, 8) +/* + * Intel Tile 4 layout + * + * This is a tiled layout using 4KB tiles in a row-major layout. It has the same + * shape as Tile Y at two granularities: 4KB (128B x 32) and 64B (16B x 4). It + * only differs from Tile Y at the 256B granularity in between. At this + * granularity, Tile Y has a shape of 16B x 32 rows, but this tiling has a shape + * of 64B x 8 rows. + */ +#define I915_FORMAT_MOD_4_TILED fourcc_mod_code(INTEL, 9) + /* * Tiled, NV12MT, grouped in 64 (pixels) x 32 (lines) -sized macroblocks * -- 2.24.1.485.gad05a3d8e5 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 1/2] drm/i915: Introduce new Tile 4 format @ 2021-12-09 10:47 ` Stanislav Lisovskiy 0 siblings, 0 replies; 15+ messages in thread From: Stanislav Lisovskiy @ 2021-12-09 10:47 UTC (permalink / raw) To: intel-gfx; +Cc: nanley.g.chery, dri-devel, Stanislav.Lisovskiy, jani.saarinen This tiling layout uses 4KB tiles in a row-major layout. It has the same shape as Tile Y at two granularities: 4KB (128B x 32) and 64B (16B x 4). It only differs from Tile Y at the 256B granularity in between. At this granularity, Tile Y has a shape of 16B x 32 rows, but this tiling has a shape of 64B x 8 rows. Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> --- include/uapi/drm/drm_fourcc.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h index 7f652c96845b..a146c6df1066 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h @@ -565,6 +565,17 @@ extern "C" { */ #define I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC fourcc_mod_code(INTEL, 8) +/* + * Intel Tile 4 layout + * + * This is a tiled layout using 4KB tiles in a row-major layout. It has the same + * shape as Tile Y at two granularities: 4KB (128B x 32) and 64B (16B x 4). It + * only differs from Tile Y at the 256B granularity in between. At this + * granularity, Tile Y has a shape of 16B x 32 rows, but this tiling has a shape + * of 64B x 8 rows. + */ +#define I915_FORMAT_MOD_4_TILED fourcc_mod_code(INTEL, 9) + /* * Tiled, NV12MT, grouped in 64 (pixels) x 32 (lines) -sized macroblocks * -- 2.24.1.485.gad05a3d8e5 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Intel-gfx] [PATCH 2/2] drm/i915/dg2: Tile 4 plane format support 2021-12-09 10:47 ` Stanislav Lisovskiy @ 2021-12-09 10:47 ` Stanislav Lisovskiy -1 siblings, 0 replies; 15+ messages in thread From: Stanislav Lisovskiy @ 2021-12-09 10:47 UTC (permalink / raw) To: intel-gfx; +Cc: nanley.g.chery, dri-devel Tile4 in bspec format is 4K tile organized into 64B subtiles with same basic shape as for legacy TileY which will be supported by Display13. v2: - Moved Tile4 assocating struct for modifier/display to the beginning(Imre Deak) - Removed unneeded case I915_FORMAT_MOD_4_TILED modifier checks(Imre Deak) - Fixed I915_FORMAT_MOD_4_TILED to be 9 instead of 12 (Imre Deak) v3: - Rebased patch on top of new changes related to plane_caps. - Added static assert to check that PLANE_CTL_TILING_YF matches PLANE_CTL_TILING_4(Nanley Chery) - Fixed naming and layout description for Tile 4 in drm uapi header(Nanley Chery) v4: - Extracted drm_fourcc changes to separate patch(Nanley Chery) Cc: Matt Roper <matthew.d.roper@intel.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com> --- drivers/gpu/drm/i915/display/intel_display.c | 1 + drivers/gpu/drm/i915/display/intel_fb.c | 15 +++++++++++- drivers/gpu/drm/i915/display/intel_fb.h | 1 + drivers/gpu/drm/i915/display/intel_fbc.c | 1 + .../drm/i915/display/intel_plane_initial.c | 1 + .../drm/i915/display/skl_universal_plane.c | 23 ++++++++++++------- drivers/gpu/drm/i915/i915_drv.h | 1 + drivers/gpu/drm/i915/i915_pci.c | 1 + drivers/gpu/drm/i915/i915_reg.h | 1 + drivers/gpu/drm/i915/intel_device_info.h | 1 + drivers/gpu/drm/i915/intel_pm.c | 1 + 11 files changed, 38 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index 128d4943a43b..83253c62b6d6 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -7777,6 +7777,7 @@ static int intel_atomic_check_async(struct intel_atomic_state *state, struct int case I915_FORMAT_MOD_X_TILED: case I915_FORMAT_MOD_Y_TILED: case I915_FORMAT_MOD_Yf_TILED: + case I915_FORMAT_MOD_4_TILED: break; default: drm_dbg_kms(&i915->drm, diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c index 23cfe2e5ce2a..94c57facbb46 100644 --- a/drivers/gpu/drm/i915/display/intel_fb.c +++ b/drivers/gpu/drm/i915/display/intel_fb.c @@ -135,11 +135,16 @@ struct intel_modifier_desc { INTEL_PLANE_CAP_CCS_MC) #define INTEL_PLANE_CAP_TILING_MASK (INTEL_PLANE_CAP_TILING_X | \ INTEL_PLANE_CAP_TILING_Y | \ - INTEL_PLANE_CAP_TILING_Yf) + INTEL_PLANE_CAP_TILING_Yf | \ + INTEL_PLANE_CAP_TILING_4) #define INTEL_PLANE_CAP_TILING_NONE 0 static const struct intel_modifier_desc intel_modifiers[] = { { + .modifier = I915_FORMAT_MOD_4_TILED, + .display_ver = { 13, 13 }, + .plane_caps = INTEL_PLANE_CAP_TILING_4, + }, { .modifier = I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS, .display_ver = { 12, 13 }, .plane_caps = INTEL_PLANE_CAP_TILING_Y | INTEL_PLANE_CAP_CCS_MC, @@ -545,6 +550,12 @@ intel_tile_width_bytes(const struct drm_framebuffer *fb, int color_plane) return 128; else return 512; + case I915_FORMAT_MOD_4_TILED: + /* + * Each 4K tile consists of 64B(8*8) subtiles, with + * same shape as Y Tile(i.e 4*16B OWords) + */ + return 128; case I915_FORMAT_MOD_Y_TILED_CCS: if (intel_fb_is_ccs_aux_plane(fb, color_plane)) return 128; @@ -650,6 +661,7 @@ static unsigned int intel_fb_modifier_to_tiling(u64 fb_modifier) return I915_TILING_Y; case INTEL_PLANE_CAP_TILING_X: return I915_TILING_X; + case INTEL_PLANE_CAP_TILING_4: case INTEL_PLANE_CAP_TILING_Yf: case INTEL_PLANE_CAP_TILING_NONE: return I915_TILING_NONE; @@ -737,6 +749,7 @@ unsigned int intel_surf_alignment(const struct drm_framebuffer *fb, case I915_FORMAT_MOD_Y_TILED_CCS: case I915_FORMAT_MOD_Yf_TILED_CCS: case I915_FORMAT_MOD_Y_TILED: + case I915_FORMAT_MOD_4_TILED: case I915_FORMAT_MOD_Yf_TILED: return 1 * 1024 * 1024; default: diff --git a/drivers/gpu/drm/i915/display/intel_fb.h b/drivers/gpu/drm/i915/display/intel_fb.h index ba9df8986c1e..12386f13a4e0 100644 --- a/drivers/gpu/drm/i915/display/intel_fb.h +++ b/drivers/gpu/drm/i915/display/intel_fb.h @@ -27,6 +27,7 @@ struct intel_plane_state; #define INTEL_PLANE_CAP_TILING_X BIT(3) #define INTEL_PLANE_CAP_TILING_Y BIT(4) #define INTEL_PLANE_CAP_TILING_Yf BIT(5) +#define INTEL_PLANE_CAP_TILING_4 BIT(6) bool intel_fb_is_ccs_modifier(u64 modifier); bool intel_fb_is_rc_ccs_cc_modifier(u64 modifier); diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c index 6efbef7a1fc0..aee3c9b48b84 100644 --- a/drivers/gpu/drm/i915/display/intel_fbc.c +++ b/drivers/gpu/drm/i915/display/intel_fbc.c @@ -936,6 +936,7 @@ static bool tiling_is_valid(const struct intel_plane_state *plane_state) case I915_FORMAT_MOD_Y_TILED: case I915_FORMAT_MOD_Yf_TILED: return DISPLAY_VER(i915) >= 9; + case I915_FORMAT_MOD_4_TILED: case I915_FORMAT_MOD_X_TILED: return true; default: diff --git a/drivers/gpu/drm/i915/display/intel_plane_initial.c b/drivers/gpu/drm/i915/display/intel_plane_initial.c index 01ce1d72297f..4ae9730ceeff 100644 --- a/drivers/gpu/drm/i915/display/intel_plane_initial.c +++ b/drivers/gpu/drm/i915/display/intel_plane_initial.c @@ -126,6 +126,7 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc, case DRM_FORMAT_MOD_LINEAR: case I915_FORMAT_MOD_X_TILED: case I915_FORMAT_MOD_Y_TILED: + case I915_FORMAT_MOD_4_TILED: break; default: drm_dbg(&dev_priv->drm, diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c index d5359cf3d270..f62ba027fcf9 100644 --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c @@ -762,6 +762,8 @@ static u32 skl_plane_ctl_tiling(u64 fb_modifier) return PLANE_CTL_TILED_X; case I915_FORMAT_MOD_Y_TILED: return PLANE_CTL_TILED_Y; + case I915_FORMAT_MOD_4_TILED: + return PLANE_CTL_TILED_4; case I915_FORMAT_MOD_Y_TILED_CCS: case I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC: return PLANE_CTL_TILED_Y | PLANE_CTL_RENDER_DECOMPRESSION_ENABLE; @@ -1990,9 +1992,7 @@ static bool gen12_plane_format_mod_supported(struct drm_plane *_plane, case DRM_FORMAT_Y216: case DRM_FORMAT_XVYU12_16161616: case DRM_FORMAT_XVYU16161616: - if (modifier == DRM_FORMAT_MOD_LINEAR || - modifier == I915_FORMAT_MOD_X_TILED || - modifier == I915_FORMAT_MOD_Y_TILED) + if (!intel_fb_is_ccs_modifier(modifier)) return true; fallthrough; default: @@ -2085,6 +2085,8 @@ static u8 skl_get_plane_caps(struct drm_i915_private *i915, caps |= INTEL_PLANE_CAP_TILING_Y; if (DISPLAY_VER(i915) < 12) caps |= INTEL_PLANE_CAP_TILING_Yf; + if (HAS_4TILE(i915)) + caps |= INTEL_PLANE_CAP_TILING_4; if (skl_plane_has_rc_ccs(i915, pipe, plane_id)) { caps |= INTEL_PLANE_CAP_CCS_RC; @@ -2257,6 +2259,7 @@ skl_get_initial_plane_config(struct intel_crtc *crtc, unsigned int aligned_height; struct drm_framebuffer *fb; struct intel_framebuffer *intel_fb; + static_assert(PLANE_CTL_TILED_YF == PLANE_CTL_TILED_4); if (!plane->get_hw_state(plane, &pipe)) return; @@ -2318,11 +2321,15 @@ skl_get_initial_plane_config(struct intel_crtc *crtc, else fb->modifier = I915_FORMAT_MOD_Y_TILED; break; - case PLANE_CTL_TILED_YF: - if (val & PLANE_CTL_RENDER_DECOMPRESSION_ENABLE) - fb->modifier = I915_FORMAT_MOD_Yf_TILED_CCS; - else - fb->modifier = I915_FORMAT_MOD_Yf_TILED; + case PLANE_CTL_TILED_YF: /* aka PLANE_CTL_TILED_4 on XE_LPD+ */ + if (HAS_4TILE(dev_priv)) { + fb->modifier = I915_FORMAT_MOD_4_TILED; + } else { + if (val & PLANE_CTL_RENDER_DECOMPRESSION_ENABLE) + fb->modifier = I915_FORMAT_MOD_Yf_TILED_CCS; + else + fb->modifier = I915_FORMAT_MOD_Yf_TILED; + } break; default: MISSING_CASE(tiling); diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index ae7dc7862b5d..3e247881862c 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -1444,6 +1444,7 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915, #define CMDPARSER_USES_GGTT(dev_priv) (GRAPHICS_VER(dev_priv) == 7) #define HAS_LLC(dev_priv) (INTEL_INFO(dev_priv)->has_llc) +#define HAS_4TILE(dev_priv) (INTEL_INFO(dev_priv)->has_4tile) #define HAS_SNOOP(dev_priv) (INTEL_INFO(dev_priv)->has_snoop) #define HAS_EDRAM(dev_priv) ((dev_priv)->edram_size_mb) #define HAS_SECURE_BATCHES(dev_priv) (GRAPHICS_VER(dev_priv) < 6) diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c index c8f574eea5aa..3aeb05aa45c0 100644 --- a/drivers/gpu/drm/i915/i915_pci.c +++ b/drivers/gpu/drm/i915/i915_pci.c @@ -1046,6 +1046,7 @@ static const struct intel_device_info dg2_info = { DGFX_FEATURES, .graphics.rel = 55, .media.rel = 55, + .has_4tile = 1, PLATFORM(INTEL_DG2), .platform_engine_mask = BIT(RCS0) | BIT(BCS0) | diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index d27ba273cc68..a6bb55e5ecde 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@ -7285,6 +7285,7 @@ enum { #define PLANE_CTL_TILED_X (1 << 10) #define PLANE_CTL_TILED_Y (4 << 10) #define PLANE_CTL_TILED_YF (5 << 10) +#define PLANE_CTL_TILED_4 (5 << 10) #define PLANE_CTL_ASYNC_FLIP (1 << 9) #define PLANE_CTL_FLIP_HORIZONTAL (1 << 8) #define PLANE_CTL_MEDIA_DECOMPRESSION_ENABLE (1 << 4) /* TGL+ */ diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h index 2bedf73e0a7d..82c0a78e2e49 100644 --- a/drivers/gpu/drm/i915/intel_device_info.h +++ b/drivers/gpu/drm/i915/intel_device_info.h @@ -128,6 +128,7 @@ enum intel_ppgtt_type { func(has_64bit_reloc); \ func(gpu_reset_clobbers_display); \ func(has_reset_engine); \ + func(has_4tile); \ func(has_global_mocs); \ func(has_gt_uc); \ func(has_l3_dpf); \ diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index fe3787425780..145b2fb60ca8 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -5381,6 +5381,7 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state, } wp->y_tiled = modifier == I915_FORMAT_MOD_Y_TILED || + modifier == I915_FORMAT_MOD_4_TILED || modifier == I915_FORMAT_MOD_Yf_TILED || modifier == I915_FORMAT_MOD_Y_TILED_CCS || modifier == I915_FORMAT_MOD_Yf_TILED_CCS; -- 2.24.1.485.gad05a3d8e5 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/2] drm/i915/dg2: Tile 4 plane format support @ 2021-12-09 10:47 ` Stanislav Lisovskiy 0 siblings, 0 replies; 15+ messages in thread From: Stanislav Lisovskiy @ 2021-12-09 10:47 UTC (permalink / raw) To: intel-gfx; +Cc: nanley.g.chery, dri-devel, Stanislav.Lisovskiy, jani.saarinen Tile4 in bspec format is 4K tile organized into 64B subtiles with same basic shape as for legacy TileY which will be supported by Display13. v2: - Moved Tile4 assocating struct for modifier/display to the beginning(Imre Deak) - Removed unneeded case I915_FORMAT_MOD_4_TILED modifier checks(Imre Deak) - Fixed I915_FORMAT_MOD_4_TILED to be 9 instead of 12 (Imre Deak) v3: - Rebased patch on top of new changes related to plane_caps. - Added static assert to check that PLANE_CTL_TILING_YF matches PLANE_CTL_TILING_4(Nanley Chery) - Fixed naming and layout description for Tile 4 in drm uapi header(Nanley Chery) v4: - Extracted drm_fourcc changes to separate patch(Nanley Chery) Cc: Matt Roper <matthew.d.roper@intel.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com> --- drivers/gpu/drm/i915/display/intel_display.c | 1 + drivers/gpu/drm/i915/display/intel_fb.c | 15 +++++++++++- drivers/gpu/drm/i915/display/intel_fb.h | 1 + drivers/gpu/drm/i915/display/intel_fbc.c | 1 + .../drm/i915/display/intel_plane_initial.c | 1 + .../drm/i915/display/skl_universal_plane.c | 23 ++++++++++++------- drivers/gpu/drm/i915/i915_drv.h | 1 + drivers/gpu/drm/i915/i915_pci.c | 1 + drivers/gpu/drm/i915/i915_reg.h | 1 + drivers/gpu/drm/i915/intel_device_info.h | 1 + drivers/gpu/drm/i915/intel_pm.c | 1 + 11 files changed, 38 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index 128d4943a43b..83253c62b6d6 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -7777,6 +7777,7 @@ static int intel_atomic_check_async(struct intel_atomic_state *state, struct int case I915_FORMAT_MOD_X_TILED: case I915_FORMAT_MOD_Y_TILED: case I915_FORMAT_MOD_Yf_TILED: + case I915_FORMAT_MOD_4_TILED: break; default: drm_dbg_kms(&i915->drm, diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c index 23cfe2e5ce2a..94c57facbb46 100644 --- a/drivers/gpu/drm/i915/display/intel_fb.c +++ b/drivers/gpu/drm/i915/display/intel_fb.c @@ -135,11 +135,16 @@ struct intel_modifier_desc { INTEL_PLANE_CAP_CCS_MC) #define INTEL_PLANE_CAP_TILING_MASK (INTEL_PLANE_CAP_TILING_X | \ INTEL_PLANE_CAP_TILING_Y | \ - INTEL_PLANE_CAP_TILING_Yf) + INTEL_PLANE_CAP_TILING_Yf | \ + INTEL_PLANE_CAP_TILING_4) #define INTEL_PLANE_CAP_TILING_NONE 0 static const struct intel_modifier_desc intel_modifiers[] = { { + .modifier = I915_FORMAT_MOD_4_TILED, + .display_ver = { 13, 13 }, + .plane_caps = INTEL_PLANE_CAP_TILING_4, + }, { .modifier = I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS, .display_ver = { 12, 13 }, .plane_caps = INTEL_PLANE_CAP_TILING_Y | INTEL_PLANE_CAP_CCS_MC, @@ -545,6 +550,12 @@ intel_tile_width_bytes(const struct drm_framebuffer *fb, int color_plane) return 128; else return 512; + case I915_FORMAT_MOD_4_TILED: + /* + * Each 4K tile consists of 64B(8*8) subtiles, with + * same shape as Y Tile(i.e 4*16B OWords) + */ + return 128; case I915_FORMAT_MOD_Y_TILED_CCS: if (intel_fb_is_ccs_aux_plane(fb, color_plane)) return 128; @@ -650,6 +661,7 @@ static unsigned int intel_fb_modifier_to_tiling(u64 fb_modifier) return I915_TILING_Y; case INTEL_PLANE_CAP_TILING_X: return I915_TILING_X; + case INTEL_PLANE_CAP_TILING_4: case INTEL_PLANE_CAP_TILING_Yf: case INTEL_PLANE_CAP_TILING_NONE: return I915_TILING_NONE; @@ -737,6 +749,7 @@ unsigned int intel_surf_alignment(const struct drm_framebuffer *fb, case I915_FORMAT_MOD_Y_TILED_CCS: case I915_FORMAT_MOD_Yf_TILED_CCS: case I915_FORMAT_MOD_Y_TILED: + case I915_FORMAT_MOD_4_TILED: case I915_FORMAT_MOD_Yf_TILED: return 1 * 1024 * 1024; default: diff --git a/drivers/gpu/drm/i915/display/intel_fb.h b/drivers/gpu/drm/i915/display/intel_fb.h index ba9df8986c1e..12386f13a4e0 100644 --- a/drivers/gpu/drm/i915/display/intel_fb.h +++ b/drivers/gpu/drm/i915/display/intel_fb.h @@ -27,6 +27,7 @@ struct intel_plane_state; #define INTEL_PLANE_CAP_TILING_X BIT(3) #define INTEL_PLANE_CAP_TILING_Y BIT(4) #define INTEL_PLANE_CAP_TILING_Yf BIT(5) +#define INTEL_PLANE_CAP_TILING_4 BIT(6) bool intel_fb_is_ccs_modifier(u64 modifier); bool intel_fb_is_rc_ccs_cc_modifier(u64 modifier); diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c index 6efbef7a1fc0..aee3c9b48b84 100644 --- a/drivers/gpu/drm/i915/display/intel_fbc.c +++ b/drivers/gpu/drm/i915/display/intel_fbc.c @@ -936,6 +936,7 @@ static bool tiling_is_valid(const struct intel_plane_state *plane_state) case I915_FORMAT_MOD_Y_TILED: case I915_FORMAT_MOD_Yf_TILED: return DISPLAY_VER(i915) >= 9; + case I915_FORMAT_MOD_4_TILED: case I915_FORMAT_MOD_X_TILED: return true; default: diff --git a/drivers/gpu/drm/i915/display/intel_plane_initial.c b/drivers/gpu/drm/i915/display/intel_plane_initial.c index 01ce1d72297f..4ae9730ceeff 100644 --- a/drivers/gpu/drm/i915/display/intel_plane_initial.c +++ b/drivers/gpu/drm/i915/display/intel_plane_initial.c @@ -126,6 +126,7 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc, case DRM_FORMAT_MOD_LINEAR: case I915_FORMAT_MOD_X_TILED: case I915_FORMAT_MOD_Y_TILED: + case I915_FORMAT_MOD_4_TILED: break; default: drm_dbg(&dev_priv->drm, diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c index d5359cf3d270..f62ba027fcf9 100644 --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c @@ -762,6 +762,8 @@ static u32 skl_plane_ctl_tiling(u64 fb_modifier) return PLANE_CTL_TILED_X; case I915_FORMAT_MOD_Y_TILED: return PLANE_CTL_TILED_Y; + case I915_FORMAT_MOD_4_TILED: + return PLANE_CTL_TILED_4; case I915_FORMAT_MOD_Y_TILED_CCS: case I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC: return PLANE_CTL_TILED_Y | PLANE_CTL_RENDER_DECOMPRESSION_ENABLE; @@ -1990,9 +1992,7 @@ static bool gen12_plane_format_mod_supported(struct drm_plane *_plane, case DRM_FORMAT_Y216: case DRM_FORMAT_XVYU12_16161616: case DRM_FORMAT_XVYU16161616: - if (modifier == DRM_FORMAT_MOD_LINEAR || - modifier == I915_FORMAT_MOD_X_TILED || - modifier == I915_FORMAT_MOD_Y_TILED) + if (!intel_fb_is_ccs_modifier(modifier)) return true; fallthrough; default: @@ -2085,6 +2085,8 @@ static u8 skl_get_plane_caps(struct drm_i915_private *i915, caps |= INTEL_PLANE_CAP_TILING_Y; if (DISPLAY_VER(i915) < 12) caps |= INTEL_PLANE_CAP_TILING_Yf; + if (HAS_4TILE(i915)) + caps |= INTEL_PLANE_CAP_TILING_4; if (skl_plane_has_rc_ccs(i915, pipe, plane_id)) { caps |= INTEL_PLANE_CAP_CCS_RC; @@ -2257,6 +2259,7 @@ skl_get_initial_plane_config(struct intel_crtc *crtc, unsigned int aligned_height; struct drm_framebuffer *fb; struct intel_framebuffer *intel_fb; + static_assert(PLANE_CTL_TILED_YF == PLANE_CTL_TILED_4); if (!plane->get_hw_state(plane, &pipe)) return; @@ -2318,11 +2321,15 @@ skl_get_initial_plane_config(struct intel_crtc *crtc, else fb->modifier = I915_FORMAT_MOD_Y_TILED; break; - case PLANE_CTL_TILED_YF: - if (val & PLANE_CTL_RENDER_DECOMPRESSION_ENABLE) - fb->modifier = I915_FORMAT_MOD_Yf_TILED_CCS; - else - fb->modifier = I915_FORMAT_MOD_Yf_TILED; + case PLANE_CTL_TILED_YF: /* aka PLANE_CTL_TILED_4 on XE_LPD+ */ + if (HAS_4TILE(dev_priv)) { + fb->modifier = I915_FORMAT_MOD_4_TILED; + } else { + if (val & PLANE_CTL_RENDER_DECOMPRESSION_ENABLE) + fb->modifier = I915_FORMAT_MOD_Yf_TILED_CCS; + else + fb->modifier = I915_FORMAT_MOD_Yf_TILED; + } break; default: MISSING_CASE(tiling); diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index ae7dc7862b5d..3e247881862c 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -1444,6 +1444,7 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915, #define CMDPARSER_USES_GGTT(dev_priv) (GRAPHICS_VER(dev_priv) == 7) #define HAS_LLC(dev_priv) (INTEL_INFO(dev_priv)->has_llc) +#define HAS_4TILE(dev_priv) (INTEL_INFO(dev_priv)->has_4tile) #define HAS_SNOOP(dev_priv) (INTEL_INFO(dev_priv)->has_snoop) #define HAS_EDRAM(dev_priv) ((dev_priv)->edram_size_mb) #define HAS_SECURE_BATCHES(dev_priv) (GRAPHICS_VER(dev_priv) < 6) diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c index c8f574eea5aa..3aeb05aa45c0 100644 --- a/drivers/gpu/drm/i915/i915_pci.c +++ b/drivers/gpu/drm/i915/i915_pci.c @@ -1046,6 +1046,7 @@ static const struct intel_device_info dg2_info = { DGFX_FEATURES, .graphics.rel = 55, .media.rel = 55, + .has_4tile = 1, PLATFORM(INTEL_DG2), .platform_engine_mask = BIT(RCS0) | BIT(BCS0) | diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index d27ba273cc68..a6bb55e5ecde 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@ -7285,6 +7285,7 @@ enum { #define PLANE_CTL_TILED_X (1 << 10) #define PLANE_CTL_TILED_Y (4 << 10) #define PLANE_CTL_TILED_YF (5 << 10) +#define PLANE_CTL_TILED_4 (5 << 10) #define PLANE_CTL_ASYNC_FLIP (1 << 9) #define PLANE_CTL_FLIP_HORIZONTAL (1 << 8) #define PLANE_CTL_MEDIA_DECOMPRESSION_ENABLE (1 << 4) /* TGL+ */ diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h index 2bedf73e0a7d..82c0a78e2e49 100644 --- a/drivers/gpu/drm/i915/intel_device_info.h +++ b/drivers/gpu/drm/i915/intel_device_info.h @@ -128,6 +128,7 @@ enum intel_ppgtt_type { func(has_64bit_reloc); \ func(gpu_reset_clobbers_display); \ func(has_reset_engine); \ + func(has_4tile); \ func(has_global_mocs); \ func(has_gt_uc); \ func(has_l3_dpf); \ diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index fe3787425780..145b2fb60ca8 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -5381,6 +5381,7 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state, } wp->y_tiled = modifier == I915_FORMAT_MOD_Y_TILED || + modifier == I915_FORMAT_MOD_4_TILED || modifier == I915_FORMAT_MOD_Yf_TILED || modifier == I915_FORMAT_MOD_Y_TILED_CCS || modifier == I915_FORMAT_MOD_Yf_TILED_CCS; -- 2.24.1.485.gad05a3d8e5 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* RE: [PATCH 2/2] drm/i915/dg2: Tile 4 plane format support 2021-12-09 10:47 ` Stanislav Lisovskiy @ 2021-12-09 15:14 ` Chery, Nanley G -1 siblings, 0 replies; 15+ messages in thread From: Chery, Nanley G @ 2021-12-09 15:14 UTC (permalink / raw) To: Lisovskiy, Stanislav, intel-gfx; +Cc: Saarinen, Jani, dri-devel > -----Original Message----- > From: Lisovskiy, Stanislav <stanislav.lisovskiy@intel.com> > Sent: Thursday, December 9, 2021 5:47 AM > To: intel-gfx@lists.freedesktop.org > Cc: dri-devel@lists.freedesktop.org; Lisovskiy, Stanislav > <stanislav.lisovskiy@intel.com>; Saarinen, Jani <jani.saarinen@intel.com>; C, > Ramalingam <ramalingam.c@intel.com>; ville.syrjala@linux.intel.com; Deak, > Imre <imre.deak@intel.com>; Chery, Nanley G <nanley.g.chery@intel.com> > Subject: [PATCH 2/2] drm/i915/dg2: Tile 4 plane format support > > Tile4 in bspec format is 4K tile organized into 64B subtiles with same basic shape > as for legacy TileY which will be supported by Display13. > > v2: - Moved Tile4 assocating struct for modifier/display to > the beginning(Imre Deak) > - Removed unneeded case I915_FORMAT_MOD_4_TILED modifier > checks(Imre Deak) > - Fixed I915_FORMAT_MOD_4_TILED to be 9 instead of 12 > (Imre Deak) > > v3: - Rebased patch on top of new changes related to plane_caps. > - Added static assert to check that PLANE_CTL_TILING_YF > matches PLANE_CTL_TILING_4(Nanley Chery) > - Fixed naming and layout description for Tile 4 in drm uapi > header(Nanley Chery) > > v4: - Extracted drm_fourcc changes to separate patch(Nanley Chery) > Oh, when we discussed this I didn't realize until later that you were asking for feedback on whether or not the fourcc changes needed to be split out. I think either way (combined or separate) is fine. Sorry for the confusion. -Nanley > Cc: Matt Roper <matthew.d.roper@intel.com> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> > Signed-off-by: Matt Roper <matthew.d.roper@intel.com> > Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com> > --- > drivers/gpu/drm/i915/display/intel_display.c | 1 + > drivers/gpu/drm/i915/display/intel_fb.c | 15 +++++++++++- > drivers/gpu/drm/i915/display/intel_fb.h | 1 + > drivers/gpu/drm/i915/display/intel_fbc.c | 1 + > .../drm/i915/display/intel_plane_initial.c | 1 + > .../drm/i915/display/skl_universal_plane.c | 23 ++++++++++++------- > drivers/gpu/drm/i915/i915_drv.h | 1 + > drivers/gpu/drm/i915/i915_pci.c | 1 + > drivers/gpu/drm/i915/i915_reg.h | 1 + > drivers/gpu/drm/i915/intel_device_info.h | 1 + > drivers/gpu/drm/i915/intel_pm.c | 1 + > 11 files changed, 38 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c > b/drivers/gpu/drm/i915/display/intel_display.c > index 128d4943a43b..83253c62b6d6 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.c > +++ b/drivers/gpu/drm/i915/display/intel_display.c > @@ -7777,6 +7777,7 @@ static int intel_atomic_check_async(struct > intel_atomic_state *state, struct int > case I915_FORMAT_MOD_X_TILED: > case I915_FORMAT_MOD_Y_TILED: > case I915_FORMAT_MOD_Yf_TILED: > + case I915_FORMAT_MOD_4_TILED: > break; > default: > drm_dbg_kms(&i915->drm, > diff --git a/drivers/gpu/drm/i915/display/intel_fb.c > b/drivers/gpu/drm/i915/display/intel_fb.c > index 23cfe2e5ce2a..94c57facbb46 100644 > --- a/drivers/gpu/drm/i915/display/intel_fb.c > +++ b/drivers/gpu/drm/i915/display/intel_fb.c > @@ -135,11 +135,16 @@ struct intel_modifier_desc { > INTEL_PLANE_CAP_CCS_MC) > #define INTEL_PLANE_CAP_TILING_MASK (INTEL_PLANE_CAP_TILING_X > | \ > INTEL_PLANE_CAP_TILING_Y | \ > - INTEL_PLANE_CAP_TILING_Yf) > + INTEL_PLANE_CAP_TILING_Yf | \ > + INTEL_PLANE_CAP_TILING_4) > #define INTEL_PLANE_CAP_TILING_NONE 0 > > static const struct intel_modifier_desc intel_modifiers[] = { > { > + .modifier = I915_FORMAT_MOD_4_TILED, > + .display_ver = { 13, 13 }, > + .plane_caps = INTEL_PLANE_CAP_TILING_4, > + }, { > .modifier = I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS, > .display_ver = { 12, 13 }, > .plane_caps = INTEL_PLANE_CAP_TILING_Y | > INTEL_PLANE_CAP_CCS_MC, @@ -545,6 +550,12 @@ > intel_tile_width_bytes(const struct drm_framebuffer *fb, int color_plane) > return 128; > else > return 512; > + case I915_FORMAT_MOD_4_TILED: > + /* > + * Each 4K tile consists of 64B(8*8) subtiles, with > + * same shape as Y Tile(i.e 4*16B OWords) > + */ > + return 128; > case I915_FORMAT_MOD_Y_TILED_CCS: > if (intel_fb_is_ccs_aux_plane(fb, color_plane)) > return 128; > @@ -650,6 +661,7 @@ static unsigned int intel_fb_modifier_to_tiling(u64 > fb_modifier) > return I915_TILING_Y; > case INTEL_PLANE_CAP_TILING_X: > return I915_TILING_X; > + case INTEL_PLANE_CAP_TILING_4: > case INTEL_PLANE_CAP_TILING_Yf: > case INTEL_PLANE_CAP_TILING_NONE: > return I915_TILING_NONE; > @@ -737,6 +749,7 @@ unsigned int intel_surf_alignment(const struct > drm_framebuffer *fb, > case I915_FORMAT_MOD_Y_TILED_CCS: > case I915_FORMAT_MOD_Yf_TILED_CCS: > case I915_FORMAT_MOD_Y_TILED: > + case I915_FORMAT_MOD_4_TILED: > case I915_FORMAT_MOD_Yf_TILED: > return 1 * 1024 * 1024; > default: > diff --git a/drivers/gpu/drm/i915/display/intel_fb.h > b/drivers/gpu/drm/i915/display/intel_fb.h > index ba9df8986c1e..12386f13a4e0 100644 > --- a/drivers/gpu/drm/i915/display/intel_fb.h > +++ b/drivers/gpu/drm/i915/display/intel_fb.h > @@ -27,6 +27,7 @@ struct intel_plane_state; > #define INTEL_PLANE_CAP_TILING_X BIT(3) > #define INTEL_PLANE_CAP_TILING_Y BIT(4) > #define INTEL_PLANE_CAP_TILING_Yf BIT(5) > +#define INTEL_PLANE_CAP_TILING_4 BIT(6) > > bool intel_fb_is_ccs_modifier(u64 modifier); bool > intel_fb_is_rc_ccs_cc_modifier(u64 modifier); diff --git > a/drivers/gpu/drm/i915/display/intel_fbc.c > b/drivers/gpu/drm/i915/display/intel_fbc.c > index 6efbef7a1fc0..aee3c9b48b84 100644 > --- a/drivers/gpu/drm/i915/display/intel_fbc.c > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c > @@ -936,6 +936,7 @@ static bool tiling_is_valid(const struct intel_plane_state > *plane_state) > case I915_FORMAT_MOD_Y_TILED: > case I915_FORMAT_MOD_Yf_TILED: > return DISPLAY_VER(i915) >= 9; > + case I915_FORMAT_MOD_4_TILED: > case I915_FORMAT_MOD_X_TILED: > return true; > default: > diff --git a/drivers/gpu/drm/i915/display/intel_plane_initial.c > b/drivers/gpu/drm/i915/display/intel_plane_initial.c > index 01ce1d72297f..4ae9730ceeff 100644 > --- a/drivers/gpu/drm/i915/display/intel_plane_initial.c > +++ b/drivers/gpu/drm/i915/display/intel_plane_initial.c > @@ -126,6 +126,7 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc, > case DRM_FORMAT_MOD_LINEAR: > case I915_FORMAT_MOD_X_TILED: > case I915_FORMAT_MOD_Y_TILED: > + case I915_FORMAT_MOD_4_TILED: > break; > default: > drm_dbg(&dev_priv->drm, > diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c > b/drivers/gpu/drm/i915/display/skl_universal_plane.c > index d5359cf3d270..f62ba027fcf9 100644 > --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c > +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c > @@ -762,6 +762,8 @@ static u32 skl_plane_ctl_tiling(u64 fb_modifier) > return PLANE_CTL_TILED_X; > case I915_FORMAT_MOD_Y_TILED: > return PLANE_CTL_TILED_Y; > + case I915_FORMAT_MOD_4_TILED: > + return PLANE_CTL_TILED_4; > case I915_FORMAT_MOD_Y_TILED_CCS: > case I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC: > return PLANE_CTL_TILED_Y | > PLANE_CTL_RENDER_DECOMPRESSION_ENABLE; > @@ -1990,9 +1992,7 @@ static bool > gen12_plane_format_mod_supported(struct drm_plane *_plane, > case DRM_FORMAT_Y216: > case DRM_FORMAT_XVYU12_16161616: > case DRM_FORMAT_XVYU16161616: > - if (modifier == DRM_FORMAT_MOD_LINEAR || > - modifier == I915_FORMAT_MOD_X_TILED || > - modifier == I915_FORMAT_MOD_Y_TILED) > + if (!intel_fb_is_ccs_modifier(modifier)) > return true; > fallthrough; > default: > @@ -2085,6 +2085,8 @@ static u8 skl_get_plane_caps(struct drm_i915_private > *i915, > caps |= INTEL_PLANE_CAP_TILING_Y; > if (DISPLAY_VER(i915) < 12) > caps |= INTEL_PLANE_CAP_TILING_Yf; > + if (HAS_4TILE(i915)) > + caps |= INTEL_PLANE_CAP_TILING_4; > > if (skl_plane_has_rc_ccs(i915, pipe, plane_id)) { > caps |= INTEL_PLANE_CAP_CCS_RC; > @@ -2257,6 +2259,7 @@ skl_get_initial_plane_config(struct intel_crtc *crtc, > unsigned int aligned_height; > struct drm_framebuffer *fb; > struct intel_framebuffer *intel_fb; > + static_assert(PLANE_CTL_TILED_YF == PLANE_CTL_TILED_4); > > if (!plane->get_hw_state(plane, &pipe)) > return; > @@ -2318,11 +2321,15 @@ skl_get_initial_plane_config(struct intel_crtc *crtc, > else > fb->modifier = I915_FORMAT_MOD_Y_TILED; > break; > - case PLANE_CTL_TILED_YF: > - if (val & PLANE_CTL_RENDER_DECOMPRESSION_ENABLE) > - fb->modifier = I915_FORMAT_MOD_Yf_TILED_CCS; > - else > - fb->modifier = I915_FORMAT_MOD_Yf_TILED; > + case PLANE_CTL_TILED_YF: /* aka PLANE_CTL_TILED_4 on XE_LPD+ */ > + if (HAS_4TILE(dev_priv)) { > + fb->modifier = I915_FORMAT_MOD_4_TILED; > + } else { > + if (val & > PLANE_CTL_RENDER_DECOMPRESSION_ENABLE) > + fb->modifier = > I915_FORMAT_MOD_Yf_TILED_CCS; > + else > + fb->modifier = I915_FORMAT_MOD_Yf_TILED; > + } > break; > default: > MISSING_CASE(tiling); > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index ae7dc7862b5d..3e247881862c 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -1444,6 +1444,7 @@ IS_SUBPLATFORM(const struct drm_i915_private > *i915, #define CMDPARSER_USES_GGTT(dev_priv) (GRAPHICS_VER(dev_priv) == > 7) > > #define HAS_LLC(dev_priv) (INTEL_INFO(dev_priv)->has_llc) > +#define HAS_4TILE(dev_priv) (INTEL_INFO(dev_priv)->has_4tile) > #define HAS_SNOOP(dev_priv) (INTEL_INFO(dev_priv)->has_snoop) > #define HAS_EDRAM(dev_priv) ((dev_priv)->edram_size_mb) > #define HAS_SECURE_BATCHES(dev_priv) (GRAPHICS_VER(dev_priv) < 6) diff -- > git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c index > c8f574eea5aa..3aeb05aa45c0 100644 > --- a/drivers/gpu/drm/i915/i915_pci.c > +++ b/drivers/gpu/drm/i915/i915_pci.c > @@ -1046,6 +1046,7 @@ static const struct intel_device_info dg2_info = { > DGFX_FEATURES, > .graphics.rel = 55, > .media.rel = 55, > + .has_4tile = 1, > PLATFORM(INTEL_DG2), > .platform_engine_mask = > BIT(RCS0) | BIT(BCS0) | > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > index d27ba273cc68..a6bb55e5ecde 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -7285,6 +7285,7 @@ enum { > #define PLANE_CTL_TILED_X (1 << 10) > #define PLANE_CTL_TILED_Y (4 << 10) > #define PLANE_CTL_TILED_YF (5 << 10) > +#define PLANE_CTL_TILED_4 (5 << 10) > #define PLANE_CTL_ASYNC_FLIP (1 << 9) > #define PLANE_CTL_FLIP_HORIZONTAL (1 << 8) > #define PLANE_CTL_MEDIA_DECOMPRESSION_ENABLE (1 << 4) /* > TGL+ */ > diff --git a/drivers/gpu/drm/i915/intel_device_info.h > b/drivers/gpu/drm/i915/intel_device_info.h > index 2bedf73e0a7d..82c0a78e2e49 100644 > --- a/drivers/gpu/drm/i915/intel_device_info.h > +++ b/drivers/gpu/drm/i915/intel_device_info.h > @@ -128,6 +128,7 @@ enum intel_ppgtt_type { > func(has_64bit_reloc); \ > func(gpu_reset_clobbers_display); \ > func(has_reset_engine); \ > + func(has_4tile); \ > func(has_global_mocs); \ > func(has_gt_uc); \ > func(has_l3_dpf); \ > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index fe3787425780..145b2fb60ca8 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -5381,6 +5381,7 @@ skl_compute_wm_params(const struct > intel_crtc_state *crtc_state, > } > > wp->y_tiled = modifier == I915_FORMAT_MOD_Y_TILED || > + modifier == I915_FORMAT_MOD_4_TILED || > modifier == I915_FORMAT_MOD_Yf_TILED || > modifier == I915_FORMAT_MOD_Y_TILED_CCS || > modifier == I915_FORMAT_MOD_Yf_TILED_CCS; > -- > 2.24.1.485.gad05a3d8e5 ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Intel-gfx] [PATCH 2/2] drm/i915/dg2: Tile 4 plane format support @ 2021-12-09 15:14 ` Chery, Nanley G 0 siblings, 0 replies; 15+ messages in thread From: Chery, Nanley G @ 2021-12-09 15:14 UTC (permalink / raw) To: Lisovskiy, Stanislav, intel-gfx; +Cc: dri-devel > -----Original Message----- > From: Lisovskiy, Stanislav <stanislav.lisovskiy@intel.com> > Sent: Thursday, December 9, 2021 5:47 AM > To: intel-gfx@lists.freedesktop.org > Cc: dri-devel@lists.freedesktop.org; Lisovskiy, Stanislav > <stanislav.lisovskiy@intel.com>; Saarinen, Jani <jani.saarinen@intel.com>; C, > Ramalingam <ramalingam.c@intel.com>; ville.syrjala@linux.intel.com; Deak, > Imre <imre.deak@intel.com>; Chery, Nanley G <nanley.g.chery@intel.com> > Subject: [PATCH 2/2] drm/i915/dg2: Tile 4 plane format support > > Tile4 in bspec format is 4K tile organized into 64B subtiles with same basic shape > as for legacy TileY which will be supported by Display13. > > v2: - Moved Tile4 assocating struct for modifier/display to > the beginning(Imre Deak) > - Removed unneeded case I915_FORMAT_MOD_4_TILED modifier > checks(Imre Deak) > - Fixed I915_FORMAT_MOD_4_TILED to be 9 instead of 12 > (Imre Deak) > > v3: - Rebased patch on top of new changes related to plane_caps. > - Added static assert to check that PLANE_CTL_TILING_YF > matches PLANE_CTL_TILING_4(Nanley Chery) > - Fixed naming and layout description for Tile 4 in drm uapi > header(Nanley Chery) > > v4: - Extracted drm_fourcc changes to separate patch(Nanley Chery) > Oh, when we discussed this I didn't realize until later that you were asking for feedback on whether or not the fourcc changes needed to be split out. I think either way (combined or separate) is fine. Sorry for the confusion. -Nanley > Cc: Matt Roper <matthew.d.roper@intel.com> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> > Signed-off-by: Matt Roper <matthew.d.roper@intel.com> > Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com> > --- > drivers/gpu/drm/i915/display/intel_display.c | 1 + > drivers/gpu/drm/i915/display/intel_fb.c | 15 +++++++++++- > drivers/gpu/drm/i915/display/intel_fb.h | 1 + > drivers/gpu/drm/i915/display/intel_fbc.c | 1 + > .../drm/i915/display/intel_plane_initial.c | 1 + > .../drm/i915/display/skl_universal_plane.c | 23 ++++++++++++------- > drivers/gpu/drm/i915/i915_drv.h | 1 + > drivers/gpu/drm/i915/i915_pci.c | 1 + > drivers/gpu/drm/i915/i915_reg.h | 1 + > drivers/gpu/drm/i915/intel_device_info.h | 1 + > drivers/gpu/drm/i915/intel_pm.c | 1 + > 11 files changed, 38 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c > b/drivers/gpu/drm/i915/display/intel_display.c > index 128d4943a43b..83253c62b6d6 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.c > +++ b/drivers/gpu/drm/i915/display/intel_display.c > @@ -7777,6 +7777,7 @@ static int intel_atomic_check_async(struct > intel_atomic_state *state, struct int > case I915_FORMAT_MOD_X_TILED: > case I915_FORMAT_MOD_Y_TILED: > case I915_FORMAT_MOD_Yf_TILED: > + case I915_FORMAT_MOD_4_TILED: > break; > default: > drm_dbg_kms(&i915->drm, > diff --git a/drivers/gpu/drm/i915/display/intel_fb.c > b/drivers/gpu/drm/i915/display/intel_fb.c > index 23cfe2e5ce2a..94c57facbb46 100644 > --- a/drivers/gpu/drm/i915/display/intel_fb.c > +++ b/drivers/gpu/drm/i915/display/intel_fb.c > @@ -135,11 +135,16 @@ struct intel_modifier_desc { > INTEL_PLANE_CAP_CCS_MC) > #define INTEL_PLANE_CAP_TILING_MASK (INTEL_PLANE_CAP_TILING_X > | \ > INTEL_PLANE_CAP_TILING_Y | \ > - INTEL_PLANE_CAP_TILING_Yf) > + INTEL_PLANE_CAP_TILING_Yf | \ > + INTEL_PLANE_CAP_TILING_4) > #define INTEL_PLANE_CAP_TILING_NONE 0 > > static const struct intel_modifier_desc intel_modifiers[] = { > { > + .modifier = I915_FORMAT_MOD_4_TILED, > + .display_ver = { 13, 13 }, > + .plane_caps = INTEL_PLANE_CAP_TILING_4, > + }, { > .modifier = I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS, > .display_ver = { 12, 13 }, > .plane_caps = INTEL_PLANE_CAP_TILING_Y | > INTEL_PLANE_CAP_CCS_MC, @@ -545,6 +550,12 @@ > intel_tile_width_bytes(const struct drm_framebuffer *fb, int color_plane) > return 128; > else > return 512; > + case I915_FORMAT_MOD_4_TILED: > + /* > + * Each 4K tile consists of 64B(8*8) subtiles, with > + * same shape as Y Tile(i.e 4*16B OWords) > + */ > + return 128; > case I915_FORMAT_MOD_Y_TILED_CCS: > if (intel_fb_is_ccs_aux_plane(fb, color_plane)) > return 128; > @@ -650,6 +661,7 @@ static unsigned int intel_fb_modifier_to_tiling(u64 > fb_modifier) > return I915_TILING_Y; > case INTEL_PLANE_CAP_TILING_X: > return I915_TILING_X; > + case INTEL_PLANE_CAP_TILING_4: > case INTEL_PLANE_CAP_TILING_Yf: > case INTEL_PLANE_CAP_TILING_NONE: > return I915_TILING_NONE; > @@ -737,6 +749,7 @@ unsigned int intel_surf_alignment(const struct > drm_framebuffer *fb, > case I915_FORMAT_MOD_Y_TILED_CCS: > case I915_FORMAT_MOD_Yf_TILED_CCS: > case I915_FORMAT_MOD_Y_TILED: > + case I915_FORMAT_MOD_4_TILED: > case I915_FORMAT_MOD_Yf_TILED: > return 1 * 1024 * 1024; > default: > diff --git a/drivers/gpu/drm/i915/display/intel_fb.h > b/drivers/gpu/drm/i915/display/intel_fb.h > index ba9df8986c1e..12386f13a4e0 100644 > --- a/drivers/gpu/drm/i915/display/intel_fb.h > +++ b/drivers/gpu/drm/i915/display/intel_fb.h > @@ -27,6 +27,7 @@ struct intel_plane_state; > #define INTEL_PLANE_CAP_TILING_X BIT(3) > #define INTEL_PLANE_CAP_TILING_Y BIT(4) > #define INTEL_PLANE_CAP_TILING_Yf BIT(5) > +#define INTEL_PLANE_CAP_TILING_4 BIT(6) > > bool intel_fb_is_ccs_modifier(u64 modifier); bool > intel_fb_is_rc_ccs_cc_modifier(u64 modifier); diff --git > a/drivers/gpu/drm/i915/display/intel_fbc.c > b/drivers/gpu/drm/i915/display/intel_fbc.c > index 6efbef7a1fc0..aee3c9b48b84 100644 > --- a/drivers/gpu/drm/i915/display/intel_fbc.c > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c > @@ -936,6 +936,7 @@ static bool tiling_is_valid(const struct intel_plane_state > *plane_state) > case I915_FORMAT_MOD_Y_TILED: > case I915_FORMAT_MOD_Yf_TILED: > return DISPLAY_VER(i915) >= 9; > + case I915_FORMAT_MOD_4_TILED: > case I915_FORMAT_MOD_X_TILED: > return true; > default: > diff --git a/drivers/gpu/drm/i915/display/intel_plane_initial.c > b/drivers/gpu/drm/i915/display/intel_plane_initial.c > index 01ce1d72297f..4ae9730ceeff 100644 > --- a/drivers/gpu/drm/i915/display/intel_plane_initial.c > +++ b/drivers/gpu/drm/i915/display/intel_plane_initial.c > @@ -126,6 +126,7 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc, > case DRM_FORMAT_MOD_LINEAR: > case I915_FORMAT_MOD_X_TILED: > case I915_FORMAT_MOD_Y_TILED: > + case I915_FORMAT_MOD_4_TILED: > break; > default: > drm_dbg(&dev_priv->drm, > diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c > b/drivers/gpu/drm/i915/display/skl_universal_plane.c > index d5359cf3d270..f62ba027fcf9 100644 > --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c > +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c > @@ -762,6 +762,8 @@ static u32 skl_plane_ctl_tiling(u64 fb_modifier) > return PLANE_CTL_TILED_X; > case I915_FORMAT_MOD_Y_TILED: > return PLANE_CTL_TILED_Y; > + case I915_FORMAT_MOD_4_TILED: > + return PLANE_CTL_TILED_4; > case I915_FORMAT_MOD_Y_TILED_CCS: > case I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC: > return PLANE_CTL_TILED_Y | > PLANE_CTL_RENDER_DECOMPRESSION_ENABLE; > @@ -1990,9 +1992,7 @@ static bool > gen12_plane_format_mod_supported(struct drm_plane *_plane, > case DRM_FORMAT_Y216: > case DRM_FORMAT_XVYU12_16161616: > case DRM_FORMAT_XVYU16161616: > - if (modifier == DRM_FORMAT_MOD_LINEAR || > - modifier == I915_FORMAT_MOD_X_TILED || > - modifier == I915_FORMAT_MOD_Y_TILED) > + if (!intel_fb_is_ccs_modifier(modifier)) > return true; > fallthrough; > default: > @@ -2085,6 +2085,8 @@ static u8 skl_get_plane_caps(struct drm_i915_private > *i915, > caps |= INTEL_PLANE_CAP_TILING_Y; > if (DISPLAY_VER(i915) < 12) > caps |= INTEL_PLANE_CAP_TILING_Yf; > + if (HAS_4TILE(i915)) > + caps |= INTEL_PLANE_CAP_TILING_4; > > if (skl_plane_has_rc_ccs(i915, pipe, plane_id)) { > caps |= INTEL_PLANE_CAP_CCS_RC; > @@ -2257,6 +2259,7 @@ skl_get_initial_plane_config(struct intel_crtc *crtc, > unsigned int aligned_height; > struct drm_framebuffer *fb; > struct intel_framebuffer *intel_fb; > + static_assert(PLANE_CTL_TILED_YF == PLANE_CTL_TILED_4); > > if (!plane->get_hw_state(plane, &pipe)) > return; > @@ -2318,11 +2321,15 @@ skl_get_initial_plane_config(struct intel_crtc *crtc, > else > fb->modifier = I915_FORMAT_MOD_Y_TILED; > break; > - case PLANE_CTL_TILED_YF: > - if (val & PLANE_CTL_RENDER_DECOMPRESSION_ENABLE) > - fb->modifier = I915_FORMAT_MOD_Yf_TILED_CCS; > - else > - fb->modifier = I915_FORMAT_MOD_Yf_TILED; > + case PLANE_CTL_TILED_YF: /* aka PLANE_CTL_TILED_4 on XE_LPD+ */ > + if (HAS_4TILE(dev_priv)) { > + fb->modifier = I915_FORMAT_MOD_4_TILED; > + } else { > + if (val & > PLANE_CTL_RENDER_DECOMPRESSION_ENABLE) > + fb->modifier = > I915_FORMAT_MOD_Yf_TILED_CCS; > + else > + fb->modifier = I915_FORMAT_MOD_Yf_TILED; > + } > break; > default: > MISSING_CASE(tiling); > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index ae7dc7862b5d..3e247881862c 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -1444,6 +1444,7 @@ IS_SUBPLATFORM(const struct drm_i915_private > *i915, #define CMDPARSER_USES_GGTT(dev_priv) (GRAPHICS_VER(dev_priv) == > 7) > > #define HAS_LLC(dev_priv) (INTEL_INFO(dev_priv)->has_llc) > +#define HAS_4TILE(dev_priv) (INTEL_INFO(dev_priv)->has_4tile) > #define HAS_SNOOP(dev_priv) (INTEL_INFO(dev_priv)->has_snoop) > #define HAS_EDRAM(dev_priv) ((dev_priv)->edram_size_mb) > #define HAS_SECURE_BATCHES(dev_priv) (GRAPHICS_VER(dev_priv) < 6) diff -- > git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c index > c8f574eea5aa..3aeb05aa45c0 100644 > --- a/drivers/gpu/drm/i915/i915_pci.c > +++ b/drivers/gpu/drm/i915/i915_pci.c > @@ -1046,6 +1046,7 @@ static const struct intel_device_info dg2_info = { > DGFX_FEATURES, > .graphics.rel = 55, > .media.rel = 55, > + .has_4tile = 1, > PLATFORM(INTEL_DG2), > .platform_engine_mask = > BIT(RCS0) | BIT(BCS0) | > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > index d27ba273cc68..a6bb55e5ecde 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -7285,6 +7285,7 @@ enum { > #define PLANE_CTL_TILED_X (1 << 10) > #define PLANE_CTL_TILED_Y (4 << 10) > #define PLANE_CTL_TILED_YF (5 << 10) > +#define PLANE_CTL_TILED_4 (5 << 10) > #define PLANE_CTL_ASYNC_FLIP (1 << 9) > #define PLANE_CTL_FLIP_HORIZONTAL (1 << 8) > #define PLANE_CTL_MEDIA_DECOMPRESSION_ENABLE (1 << 4) /* > TGL+ */ > diff --git a/drivers/gpu/drm/i915/intel_device_info.h > b/drivers/gpu/drm/i915/intel_device_info.h > index 2bedf73e0a7d..82c0a78e2e49 100644 > --- a/drivers/gpu/drm/i915/intel_device_info.h > +++ b/drivers/gpu/drm/i915/intel_device_info.h > @@ -128,6 +128,7 @@ enum intel_ppgtt_type { > func(has_64bit_reloc); \ > func(gpu_reset_clobbers_display); \ > func(has_reset_engine); \ > + func(has_4tile); \ > func(has_global_mocs); \ > func(has_gt_uc); \ > func(has_l3_dpf); \ > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index fe3787425780..145b2fb60ca8 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -5381,6 +5381,7 @@ skl_compute_wm_params(const struct > intel_crtc_state *crtc_state, > } > > wp->y_tiled = modifier == I915_FORMAT_MOD_Y_TILED || > + modifier == I915_FORMAT_MOD_4_TILED || > modifier == I915_FORMAT_MOD_Yf_TILED || > modifier == I915_FORMAT_MOD_Y_TILED_CCS || > modifier == I915_FORMAT_MOD_Yf_TILED_CCS; > -- > 2.24.1.485.gad05a3d8e5 ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Intel-gfx] [PATCH 1/2] drm/i915: Introduce new Tile 4 format 2021-12-09 10:47 ` Stanislav Lisovskiy @ 2021-12-09 15:14 ` Chery, Nanley G -1 siblings, 0 replies; 15+ messages in thread From: Chery, Nanley G @ 2021-12-09 15:14 UTC (permalink / raw) To: Lisovskiy, Stanislav, intel-gfx; +Cc: dri-devel > -----Original Message----- > From: Lisovskiy, Stanislav <stanislav.lisovskiy@intel.com> > Sent: Thursday, December 9, 2021 5:47 AM > To: intel-gfx@lists.freedesktop.org > Cc: dri-devel@lists.freedesktop.org; Lisovskiy, Stanislav > <stanislav.lisovskiy@intel.com>; Saarinen, Jani <jani.saarinen@intel.com>; C, > Ramalingam <ramalingam.c@intel.com>; ville.syrjala@linux.intel.com; Deak, > Imre <imre.deak@intel.com>; Chery, Nanley G <nanley.g.chery@intel.com> > Subject: [PATCH 1/2] drm/i915: Introduce new Tile 4 format > We want this patch to be 2/2, right? That way, we expose public kernel support for the format after the kernel gains internal support for it. With that fixed, this patch is: Acked-by: Nanley Chery <nanley.g.chery@intel.com> Alternatively, you could apply the ack to the prior combined patch if you'd like. -Nanley > This tiling layout uses 4KB tiles in a row-major layout. It has the same shape as > Tile Y at two granularities: 4KB (128B x 32) and 64B (16B x 4). It only differs from > Tile Y at the 256B granularity in between. At this granularity, Tile Y has a shape > of 16B x 32 rows, but this tiling has a shape of 64B x 8 rows. > > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> > --- > include/uapi/drm/drm_fourcc.h | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h > index 7f652c96845b..a146c6df1066 100644 > --- a/include/uapi/drm/drm_fourcc.h > +++ b/include/uapi/drm/drm_fourcc.h > @@ -565,6 +565,17 @@ extern "C" { > */ > #define I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC > fourcc_mod_code(INTEL, 8) > > +/* > + * Intel Tile 4 layout > + * > + * This is a tiled layout using 4KB tiles in a row-major layout. It has > +the same > + * shape as Tile Y at two granularities: 4KB (128B x 32) and 64B (16B x > +4). It > + * only differs from Tile Y at the 256B granularity in between. At this > + * granularity, Tile Y has a shape of 16B x 32 rows, but this tiling > +has a shape > + * of 64B x 8 rows. > + */ > +#define I915_FORMAT_MOD_4_TILED fourcc_mod_code(INTEL, 9) > + > /* > * Tiled, NV12MT, grouped in 64 (pixels) x 32 (lines) -sized macroblocks > * > -- > 2.24.1.485.gad05a3d8e5 ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: [PATCH 1/2] drm/i915: Introduce new Tile 4 format @ 2021-12-09 15:14 ` Chery, Nanley G 0 siblings, 0 replies; 15+ messages in thread From: Chery, Nanley G @ 2021-12-09 15:14 UTC (permalink / raw) To: Lisovskiy, Stanislav, intel-gfx; +Cc: Saarinen, Jani, dri-devel > -----Original Message----- > From: Lisovskiy, Stanislav <stanislav.lisovskiy@intel.com> > Sent: Thursday, December 9, 2021 5:47 AM > To: intel-gfx@lists.freedesktop.org > Cc: dri-devel@lists.freedesktop.org; Lisovskiy, Stanislav > <stanislav.lisovskiy@intel.com>; Saarinen, Jani <jani.saarinen@intel.com>; C, > Ramalingam <ramalingam.c@intel.com>; ville.syrjala@linux.intel.com; Deak, > Imre <imre.deak@intel.com>; Chery, Nanley G <nanley.g.chery@intel.com> > Subject: [PATCH 1/2] drm/i915: Introduce new Tile 4 format > We want this patch to be 2/2, right? That way, we expose public kernel support for the format after the kernel gains internal support for it. With that fixed, this patch is: Acked-by: Nanley Chery <nanley.g.chery@intel.com> Alternatively, you could apply the ack to the prior combined patch if you'd like. -Nanley > This tiling layout uses 4KB tiles in a row-major layout. It has the same shape as > Tile Y at two granularities: 4KB (128B x 32) and 64B (16B x 4). It only differs from > Tile Y at the 256B granularity in between. At this granularity, Tile Y has a shape > of 16B x 32 rows, but this tiling has a shape of 64B x 8 rows. > > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> > --- > include/uapi/drm/drm_fourcc.h | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h > index 7f652c96845b..a146c6df1066 100644 > --- a/include/uapi/drm/drm_fourcc.h > +++ b/include/uapi/drm/drm_fourcc.h > @@ -565,6 +565,17 @@ extern "C" { > */ > #define I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC > fourcc_mod_code(INTEL, 8) > > +/* > + * Intel Tile 4 layout > + * > + * This is a tiled layout using 4KB tiles in a row-major layout. It has > +the same > + * shape as Tile Y at two granularities: 4KB (128B x 32) and 64B (16B x > +4). It > + * only differs from Tile Y at the 256B granularity in between. At this > + * granularity, Tile Y has a shape of 16B x 32 rows, but this tiling > +has a shape > + * of 64B x 8 rows. > + */ > +#define I915_FORMAT_MOD_4_TILED fourcc_mod_code(INTEL, 9) > + > /* > * Tiled, NV12MT, grouped in 64 (pixels) x 32 (lines) -sized macroblocks > * > -- > 2.24.1.485.gad05a3d8e5 ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] drm/i915: Introduce new Tile 4 format 2021-12-09 15:14 ` Chery, Nanley G @ 2021-12-10 10:09 ` Imre Deak -1 siblings, 0 replies; 15+ messages in thread From: Imre Deak @ 2021-12-10 10:09 UTC (permalink / raw) To: Chery, Nanley G Cc: intel-gfx, dri-devel, Lisovskiy, Stanislav, Saarinen, Jani On Thu, Dec 09, 2021 at 05:14:56PM +0200, Chery, Nanley G wrote: > > > > -----Original Message----- > > From: Lisovskiy, Stanislav <stanislav.lisovskiy@intel.com> > > Sent: Thursday, December 9, 2021 5:47 AM > > To: intel-gfx@lists.freedesktop.org > > Cc: dri-devel@lists.freedesktop.org; Lisovskiy, Stanislav > > <stanislav.lisovskiy@intel.com>; Saarinen, Jani <jani.saarinen@intel.com>; C, > > Ramalingam <ramalingam.c@intel.com>; ville.syrjala@linux.intel.com; Deak, > > Imre <imre.deak@intel.com>; Chery, Nanley G <nanley.g.chery@intel.com> > > Subject: [PATCH 1/2] drm/i915: Introduce new Tile 4 format > > > > We want this patch to be 2/2, right? That way, we expose public kernel > support for the format after the kernel gains internal support for it. Previously modifiers have been added in a separate patch CC'd to dri-devel (and that patch needs to be before the one starting to use it) and then merged via the i915 tree only after getting an ACK for this from Jani or Danvet. The modifier will be exposed to userspace only after the second one, so I don't see a problem with that approach. Either way the patchset looks ok to me: Reviewed-by: Imre Deak <imre.deak@intel.com> > With that fixed, this patch is: > > Acked-by: Nanley Chery <nanley.g.chery@intel.com> > > Alternatively, you could apply the ack to the prior combined patch if you'd like. > > -Nanley > > > > > This tiling layout uses 4KB tiles in a row-major layout. It has the same shape as > > Tile Y at two granularities: 4KB (128B x 32) and 64B (16B x 4). It only differs from > > Tile Y at the 256B granularity in between. At this granularity, Tile Y has a shape > > of 16B x 32 rows, but this tiling has a shape of 64B x 8 rows. > > > > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> > > --- > > include/uapi/drm/drm_fourcc.h | 11 +++++++++++ > > 1 file changed, 11 insertions(+) > > > > diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h > > index 7f652c96845b..a146c6df1066 100644 > > --- a/include/uapi/drm/drm_fourcc.h > > +++ b/include/uapi/drm/drm_fourcc.h > > @@ -565,6 +565,17 @@ extern "C" { > > */ > > #define I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC > > fourcc_mod_code(INTEL, 8) > > > > +/* > > + * Intel Tile 4 layout > > + * > > + * This is a tiled layout using 4KB tiles in a row-major layout. It has > > +the same > > + * shape as Tile Y at two granularities: 4KB (128B x 32) and 64B (16B x > > +4). It > > + * only differs from Tile Y at the 256B granularity in between. At this > > + * granularity, Tile Y has a shape of 16B x 32 rows, but this tiling > > +has a shape > > + * of 64B x 8 rows. > > + */ > > +#define I915_FORMAT_MOD_4_TILED fourcc_mod_code(INTEL, 9) > > + > > /* > > * Tiled, NV12MT, grouped in 64 (pixels) x 32 (lines) -sized macroblocks > > * > > -- > > 2.24.1.485.gad05a3d8e5 > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Intel-gfx] [PATCH 1/2] drm/i915: Introduce new Tile 4 format @ 2021-12-10 10:09 ` Imre Deak 0 siblings, 0 replies; 15+ messages in thread From: Imre Deak @ 2021-12-10 10:09 UTC (permalink / raw) To: Chery, Nanley G; +Cc: intel-gfx, dri-devel On Thu, Dec 09, 2021 at 05:14:56PM +0200, Chery, Nanley G wrote: > > > > -----Original Message----- > > From: Lisovskiy, Stanislav <stanislav.lisovskiy@intel.com> > > Sent: Thursday, December 9, 2021 5:47 AM > > To: intel-gfx@lists.freedesktop.org > > Cc: dri-devel@lists.freedesktop.org; Lisovskiy, Stanislav > > <stanislav.lisovskiy@intel.com>; Saarinen, Jani <jani.saarinen@intel.com>; C, > > Ramalingam <ramalingam.c@intel.com>; ville.syrjala@linux.intel.com; Deak, > > Imre <imre.deak@intel.com>; Chery, Nanley G <nanley.g.chery@intel.com> > > Subject: [PATCH 1/2] drm/i915: Introduce new Tile 4 format > > > > We want this patch to be 2/2, right? That way, we expose public kernel > support for the format after the kernel gains internal support for it. Previously modifiers have been added in a separate patch CC'd to dri-devel (and that patch needs to be before the one starting to use it) and then merged via the i915 tree only after getting an ACK for this from Jani or Danvet. The modifier will be exposed to userspace only after the second one, so I don't see a problem with that approach. Either way the patchset looks ok to me: Reviewed-by: Imre Deak <imre.deak@intel.com> > With that fixed, this patch is: > > Acked-by: Nanley Chery <nanley.g.chery@intel.com> > > Alternatively, you could apply the ack to the prior combined patch if you'd like. > > -Nanley > > > > > This tiling layout uses 4KB tiles in a row-major layout. It has the same shape as > > Tile Y at two granularities: 4KB (128B x 32) and 64B (16B x 4). It only differs from > > Tile Y at the 256B granularity in between. At this granularity, Tile Y has a shape > > of 16B x 32 rows, but this tiling has a shape of 64B x 8 rows. > > > > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> > > --- > > include/uapi/drm/drm_fourcc.h | 11 +++++++++++ > > 1 file changed, 11 insertions(+) > > > > diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h > > index 7f652c96845b..a146c6df1066 100644 > > --- a/include/uapi/drm/drm_fourcc.h > > +++ b/include/uapi/drm/drm_fourcc.h > > @@ -565,6 +565,17 @@ extern "C" { > > */ > > #define I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC > > fourcc_mod_code(INTEL, 8) > > > > +/* > > + * Intel Tile 4 layout > > + * > > + * This is a tiled layout using 4KB tiles in a row-major layout. It has > > +the same > > + * shape as Tile Y at two granularities: 4KB (128B x 32) and 64B (16B x > > +4). It > > + * only differs from Tile Y at the 256B granularity in between. At this > > + * granularity, Tile Y has a shape of 16B x 32 rows, but this tiling > > +has a shape > > + * of 64B x 8 rows. > > + */ > > +#define I915_FORMAT_MOD_4_TILED fourcc_mod_code(INTEL, 9) > > + > > /* > > * Tiled, NV12MT, grouped in 64 (pixels) x 32 (lines) -sized macroblocks > > * > > -- > > 2.24.1.485.gad05a3d8e5 > ^ permalink raw reply [flat|nested] 15+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Introduce new Tile 4 format 2021-12-09 10:47 ` Stanislav Lisovskiy ` (2 preceding siblings ...) (?) @ 2021-12-10 0:00 ` Patchwork -1 siblings, 0 replies; 15+ messages in thread From: Patchwork @ 2021-12-10 0:00 UTC (permalink / raw) To: Stanislav Lisovskiy; +Cc: intel-gfx == Series Details == Series: series starting with [1/2] drm/i915: Introduce new Tile 4 format URL : https://patchwork.freedesktop.org/series/97778/ State : warning == Summary == $ dim checkpatch origin/drm-tip 59d54448d9b9 drm/i915: Introduce new Tile 4 format -:9: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line) #9: granularity, Tile Y has a shape of 16B x 32 rows, but this tiling has a shape total: 0 errors, 1 warnings, 0 checks, 17 lines checked d65b79d94e2e drm/i915/dg2: Tile 4 plane format support -:13: WARNING:TYPO_SPELLING: 'assocating' may be misspelled - perhaps 'associating'? #13: v2: - Moved Tile4 assocating struct for modifier/display to ^^^^^^^^^^ total: 0 errors, 1 warnings, 0 checks, 159 lines checked ^ permalink raw reply [flat|nested] 15+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/2] drm/i915: Introduce new Tile 4 format 2021-12-09 10:47 ` Stanislav Lisovskiy ` (3 preceding siblings ...) (?) @ 2021-12-10 0:02 ` Patchwork -1 siblings, 0 replies; 15+ messages in thread From: Patchwork @ 2021-12-10 0:02 UTC (permalink / raw) To: Stanislav Lisovskiy; +Cc: intel-gfx == Series Details == Series: series starting with [1/2] drm/i915: Introduce new Tile 4 format URL : https://patchwork.freedesktop.org/series/97778/ State : warning == Summary == $ dim sparse --fast origin/drm-tip Sparse version: v0.6.2 Fast mode used, each commit won't be checked separately. ^ permalink raw reply [flat|nested] 15+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Introduce new Tile 4 format 2021-12-09 10:47 ` Stanislav Lisovskiy ` (4 preceding siblings ...) (?) @ 2021-12-10 0:29 ` Patchwork -1 siblings, 0 replies; 15+ messages in thread From: Patchwork @ 2021-12-10 0:29 UTC (permalink / raw) To: Stanislav Lisovskiy; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 6407 bytes --] == Series Details == Series: series starting with [1/2] drm/i915: Introduce new Tile 4 format URL : https://patchwork.freedesktop.org/series/97778/ State : success == Summary == CI Bug Log - changes from CI_DRM_10984 -> Patchwork_21798 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/index.html Participating hosts (44 -> 35) ------------------------------ Additional (1): fi-kbl-soraka Missing (10): fi-ilk-m540 bat-dg1-6 fi-hsw-4200u fi-bsw-cyan bat-adlp-6 bat-adlp-4 fi-ctg-p8600 fi-pnv-d510 bat-jsl-2 fi-bdw-samus Known issues ------------ Here are the changes found in Patchwork_21798 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_fence@basic-busy@bcs0: - fi-kbl-soraka: NOTRUN -> [SKIP][1] ([fdo#109271]) +8 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/fi-kbl-soraka/igt@gem_exec_fence@basic-busy@bcs0.html * igt@gem_exec_suspend@basic-s3: - fi-bdw-5557u: [PASS][2] -> [INCOMPLETE][3] ([i915#146]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/fi-bdw-5557u/igt@gem_exec_suspend@basic-s3.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/fi-bdw-5557u/igt@gem_exec_suspend@basic-s3.html * igt@gem_huc_copy@huc-copy: - fi-kbl-soraka: NOTRUN -> [SKIP][4] ([fdo#109271] / [i915#2190]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/fi-kbl-soraka/igt@gem_huc_copy@huc-copy.html * igt@gem_lmem_swapping@basic: - fi-kbl-soraka: NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#4613]) +3 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/fi-kbl-soraka/igt@gem_lmem_swapping@basic.html * igt@i915_selftest@live@execlists: - fi-bsw-kefka: [PASS][6] -> [INCOMPLETE][7] ([i915#2940]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/fi-bsw-kefka/igt@i915_selftest@live@execlists.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/fi-bsw-kefka/igt@i915_selftest@live@execlists.html * igt@i915_selftest@live@gt_pm: - fi-kbl-soraka: NOTRUN -> [DMESG-FAIL][8] ([i915#1886] / [i915#2291]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/fi-kbl-soraka/igt@i915_selftest@live@gt_pm.html * igt@kms_chamelium@common-hpd-after-suspend: - fi-kbl-soraka: NOTRUN -> [SKIP][9] ([fdo#109271] / [fdo#111827]) +8 similar issues [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/fi-kbl-soraka/igt@kms_chamelium@common-hpd-after-suspend.html * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b: - fi-cfl-8109u: [PASS][10] -> [DMESG-WARN][11] ([i915#295]) +11 similar issues [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d: - fi-kbl-soraka: NOTRUN -> [SKIP][12] ([fdo#109271] / [i915#533]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/fi-kbl-soraka/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html * igt@runner@aborted: - fi-bsw-kefka: NOTRUN -> [FAIL][13] ([fdo#109271] / [i915#1436] / [i915#2722] / [i915#3428] / [i915#4312]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/fi-bsw-kefka/igt@runner@aborted.html #### Possible fixes #### * igt@gem_exec_suspend@basic-s0: - fi-glk-dsi: [DMESG-WARN][14] ([i915#2943]) -> [PASS][15] [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/fi-glk-dsi/igt@gem_exec_suspend@basic-s0.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/fi-glk-dsi/igt@gem_exec_suspend@basic-s0.html - fi-tgl-1115g4: [FAIL][16] ([i915#1888]) -> [PASS][17] [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/fi-tgl-1115g4/igt@gem_exec_suspend@basic-s0.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/fi-tgl-1115g4/igt@gem_exec_suspend@basic-s0.html * igt@i915_pm_rpm@basic-pci-d3-state: - fi-skl-6600u: [FAIL][18] ([i915#3239]) -> [PASS][19] [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/fi-skl-6600u/igt@i915_pm_rpm@basic-pci-d3-state.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/fi-skl-6600u/igt@i915_pm_rpm@basic-pci-d3-state.html [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436 [i915#146]: https://gitlab.freedesktop.org/drm/intel/issues/146 [i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886 [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888 [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190 [i915#2291]: https://gitlab.freedesktop.org/drm/intel/issues/2291 [i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722 [i915#2940]: https://gitlab.freedesktop.org/drm/intel/issues/2940 [i915#2943]: https://gitlab.freedesktop.org/drm/intel/issues/2943 [i915#295]: https://gitlab.freedesktop.org/drm/intel/issues/295 [i915#3239]: https://gitlab.freedesktop.org/drm/intel/issues/3239 [i915#3428]: https://gitlab.freedesktop.org/drm/intel/issues/3428 [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533 Build changes ------------- * Linux: CI_DRM_10984 -> Patchwork_21798 CI-20190529: 20190529 CI_DRM_10984: d7b5243a6417de5fc244d7dc45109f6835aa7c88 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_6304: ef0df2fbe5847fe5c4426b8a86a0b101588d0586 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_21798: d65b79d94e2e172748110d8f83501bd16e14addf @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == d65b79d94e2e drm/i915/dg2: Tile 4 plane format support 59d54448d9b9 drm/i915: Introduce new Tile 4 format == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/index.html [-- Attachment #2: Type: text/html, Size: 7651 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/2] drm/i915: Introduce new Tile 4 format 2021-12-09 10:47 ` Stanislav Lisovskiy ` (5 preceding siblings ...) (?) @ 2021-12-10 10:20 ` Patchwork -1 siblings, 0 replies; 15+ messages in thread From: Patchwork @ 2021-12-10 10:20 UTC (permalink / raw) To: Lisovskiy, Stanislav; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 30287 bytes --] == Series Details == Series: series starting with [1/2] drm/i915: Introduce new Tile 4 format URL : https://patchwork.freedesktop.org/series/97778/ State : success == Summary == CI Bug Log - changes from CI_DRM_10984_full -> Patchwork_21798_full ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (10 -> 10) ------------------------------ No changes in participating hosts Known issues ------------ Here are the changes found in Patchwork_21798_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_create@create-massive: - shard-apl: NOTRUN -> [DMESG-WARN][1] ([i915#3002]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-apl4/igt@gem_create@create-massive.html * igt@gem_exec_fair@basic-deadline: - shard-glk: [PASS][2] -> [FAIL][3] ([i915#2846]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-glk2/igt@gem_exec_fair@basic-deadline.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-glk7/igt@gem_exec_fair@basic-deadline.html * igt@gem_exec_fair@basic-none-solo@rcs0: - shard-kbl: NOTRUN -> [FAIL][4] ([i915#2842]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl2/igt@gem_exec_fair@basic-none-solo@rcs0.html * igt@gem_exec_fair@basic-none@vcs1: - shard-iclb: NOTRUN -> [FAIL][5] ([i915#2842]) +4 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-iclb4/igt@gem_exec_fair@basic-none@vcs1.html * igt@gem_exec_fair@basic-pace@rcs0: - shard-tglb: [PASS][6] -> [FAIL][7] ([i915#2842]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-tglb6/igt@gem_exec_fair@basic-pace@rcs0.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-tglb3/igt@gem_exec_fair@basic-pace@rcs0.html * igt@gem_exec_fair@basic-pace@vcs1: - shard-kbl: [PASS][8] -> [SKIP][9] ([fdo#109271]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-kbl4/igt@gem_exec_fair@basic-pace@vcs1.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl6/igt@gem_exec_fair@basic-pace@vcs1.html * igt@gem_exec_fair@basic-throttle@rcs0: - shard-glk: [PASS][10] -> [FAIL][11] ([i915#2842]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-glk5/igt@gem_exec_fair@basic-throttle@rcs0.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-glk2/igt@gem_exec_fair@basic-throttle@rcs0.html * igt@gem_exec_gttfill@engines@rcs0: - shard-tglb: [PASS][12] -> [INCOMPLETE][13] ([i915#750]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-tglb1/igt@gem_exec_gttfill@engines@rcs0.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-tglb6/igt@gem_exec_gttfill@engines@rcs0.html * igt@gem_exec_params@no-vebox: - shard-skl: NOTRUN -> [SKIP][14] ([fdo#109271]) +31 similar issues [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-skl9/igt@gem_exec_params@no-vebox.html * igt@gem_huc_copy@huc-copy: - shard-tglb: [PASS][15] -> [SKIP][16] ([i915#2190]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-tglb1/igt@gem_huc_copy@huc-copy.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-tglb7/igt@gem_huc_copy@huc-copy.html * igt@gem_lmem_swapping@parallel-random-verify: - shard-skl: NOTRUN -> [SKIP][17] ([fdo#109271] / [i915#4613]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-skl6/igt@gem_lmem_swapping@parallel-random-verify.html * igt@gem_lmem_swapping@verify: - shard-apl: NOTRUN -> [SKIP][18] ([fdo#109271] / [i915#4613]) +1 similar issue [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-apl7/igt@gem_lmem_swapping@verify.html * igt@gem_render_copy@y-tiled-to-vebox-linear: - shard-iclb: NOTRUN -> [SKIP][19] ([i915#768]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-iclb4/igt@gem_render_copy@y-tiled-to-vebox-linear.html * igt@gem_userptr_blits@input-checking: - shard-kbl: NOTRUN -> [DMESG-WARN][20] ([i915#3002]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl1/igt@gem_userptr_blits@input-checking.html * igt@gem_userptr_blits@vma-merge: - shard-kbl: NOTRUN -> [FAIL][21] ([i915#3318]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl7/igt@gem_userptr_blits@vma-merge.html * igt@gen7_exec_parse@load-register-reg: - shard-iclb: NOTRUN -> [SKIP][22] ([fdo#109289]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-iclb4/igt@gen7_exec_parse@load-register-reg.html * igt@i915_pm_dc@dc3co-vpb-simulation: - shard-apl: NOTRUN -> [SKIP][23] ([fdo#109271] / [i915#658]) +2 similar issues [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-apl4/igt@i915_pm_dc@dc3co-vpb-simulation.html * igt@i915_pm_dc@dc9-dpms: - shard-iclb: [PASS][24] -> [SKIP][25] ([i915#4281]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-iclb5/igt@i915_pm_dc@dc9-dpms.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-iclb3/igt@i915_pm_dc@dc9-dpms.html * igt@i915_pm_rpm@gem-execbuf-stress-pc8: - shard-tglb: NOTRUN -> [SKIP][26] ([fdo#109506] / [i915#2411]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-tglb6/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html * igt@kms_big_fb@x-tiled-32bpp-rotate-180: - shard-glk: [PASS][27] -> [DMESG-WARN][28] ([i915#118]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-glk5/igt@kms_big_fb@x-tiled-32bpp-rotate-180.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-glk2/igt@kms_big_fb@x-tiled-32bpp-rotate-180.html * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip: - shard-kbl: NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#3777]) +2 similar issues [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl2/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip.html * igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_rc_ccs: - shard-iclb: NOTRUN -> [SKIP][30] ([fdo#109278]) +7 similar issues [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-iclb4/igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_rc_ccs.html * igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_mc_ccs: - shard-kbl: NOTRUN -> [SKIP][31] ([fdo#109271] / [i915#3886]) +3 similar issues [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl2/igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc: - shard-apl: NOTRUN -> [SKIP][32] ([fdo#109271] / [i915#3886]) +6 similar issues [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-apl7/igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html * igt@kms_ccs@pipe-c-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs: - shard-iclb: NOTRUN -> [SKIP][33] ([fdo#109278] / [i915#3886]) +1 similar issue [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-iclb4/igt@kms_ccs@pipe-c-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-c-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc: - shard-skl: NOTRUN -> [SKIP][34] ([fdo#109271] / [i915#3886]) +1 similar issue [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-skl9/igt@kms_ccs@pipe-c-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc.html * igt@kms_cdclk@mode-transition: - shard-apl: NOTRUN -> [SKIP][35] ([fdo#109271]) +94 similar issues [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-apl4/igt@kms_cdclk@mode-transition.html * igt@kms_chamelium@hdmi-edid-change-during-suspend: - shard-apl: NOTRUN -> [SKIP][36] ([fdo#109271] / [fdo#111827]) +7 similar issues [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-apl4/igt@kms_chamelium@hdmi-edid-change-during-suspend.html * igt@kms_chamelium@vga-edid-read: - shard-iclb: NOTRUN -> [SKIP][37] ([fdo#109284] / [fdo#111827]) +3 similar issues [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-iclb4/igt@kms_chamelium@vga-edid-read.html * igt@kms_color@pipe-c-ctm-0-75: - shard-skl: NOTRUN -> [DMESG-WARN][38] ([i915#1982]) [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-skl9/igt@kms_color@pipe-c-ctm-0-75.html * igt@kms_color_chamelium@pipe-b-ctm-0-25: - shard-skl: NOTRUN -> [SKIP][39] ([fdo#109271] / [fdo#111827]) +2 similar issues [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-skl6/igt@kms_color_chamelium@pipe-b-ctm-0-25.html * igt@kms_color_chamelium@pipe-c-gamma: - shard-kbl: NOTRUN -> [SKIP][40] ([fdo#109271] / [fdo#111827]) +5 similar issues [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl7/igt@kms_color_chamelium@pipe-c-gamma.html * igt@kms_content_protection@lic: - shard-apl: NOTRUN -> [TIMEOUT][41] ([i915#1319]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-apl3/igt@kms_content_protection@lic.html * igt@kms_cursor_crc@pipe-b-cursor-512x170-offscreen: - shard-iclb: NOTRUN -> [SKIP][42] ([fdo#109278] / [fdo#109279]) [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-iclb4/igt@kms_cursor_crc@pipe-b-cursor-512x170-offscreen.html * igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size: - shard-iclb: [PASS][43] -> [FAIL][44] ([i915#2370]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-iclb5/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-iclb7/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size.html * igt@kms_flip@2x-nonexisting-fb: - shard-iclb: NOTRUN -> [SKIP][45] ([fdo#109274]) +2 similar issues [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-iclb4/igt@kms_flip@2x-nonexisting-fb.html * igt@kms_flip@flip-vs-expired-vblank@a-edp1: - shard-skl: [PASS][46] -> [FAIL][47] ([i915#2122]) [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-skl9/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-skl10/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html * igt@kms_flip@flip-vs-suspend@c-dp1: - shard-apl: [PASS][48] -> [DMESG-WARN][49] ([i915#180]) +4 similar issues [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-apl1/igt@kms_flip@flip-vs-suspend@c-dp1.html [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-apl4/igt@kms_flip@flip-vs-suspend@c-dp1.html * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile: - shard-iclb: [PASS][50] -> [SKIP][51] ([i915#3701]) [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-iclb8/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile.html [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-blt: - shard-kbl: NOTRUN -> [SKIP][52] ([fdo#109271]) +113 similar issues [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-msflip-blt: - shard-iclb: NOTRUN -> [SKIP][53] ([fdo#109280]) +5 similar issues [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-iclb4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-msflip-blt.html * igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d: - shard-kbl: NOTRUN -> [SKIP][54] ([fdo#109271] / [i915#533]) [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl2/igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d.html * igt@kms_pipe_crc_basic@read-crc-pipe-d-frame-sequence: - shard-skl: NOTRUN -> [SKIP][55] ([fdo#109271] / [i915#533]) [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-skl9/igt@kms_pipe_crc_basic@read-crc-pipe-d-frame-sequence.html * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a: - shard-kbl: [PASS][56] -> [DMESG-WARN][57] ([i915#180]) +5 similar issues [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-kbl4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc: - shard-skl: NOTRUN -> [FAIL][58] ([fdo#108145] / [i915#265]) [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-skl6/igt@kms_plane_alpha_blend@pipe-a-alpha-7efc.html - shard-apl: NOTRUN -> [FAIL][59] ([fdo#108145] / [i915#265]) [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-apl3/igt@kms_plane_alpha_blend@pipe-a-alpha-7efc.html * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb: - shard-kbl: NOTRUN -> [FAIL][60] ([fdo#108145] / [i915#265]) [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl7/igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb.html * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-c-scaler-with-clipping-clamping: - shard-kbl: NOTRUN -> [SKIP][61] ([fdo#109271] / [i915#2733]) [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl2/igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-c-scaler-with-clipping-clamping.html * igt@kms_psr2_sf@plane-move-sf-dmg-area-0: - shard-kbl: NOTRUN -> [SKIP][62] ([fdo#109271] / [i915#658]) +2 similar issues [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl7/igt@kms_psr2_sf@plane-move-sf-dmg-area-0.html * igt@kms_psr2_su@page_flip-p010: - shard-skl: NOTRUN -> [SKIP][63] ([fdo#109271] / [i915#658]) [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-skl6/igt@kms_psr2_su@page_flip-p010.html * igt@kms_psr@psr2_cursor_render: - shard-iclb: [PASS][64] -> [SKIP][65] ([fdo#109441]) [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-iclb2/igt@kms_psr@psr2_cursor_render.html [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-iclb4/igt@kms_psr@psr2_cursor_render.html * igt@kms_psr@psr2_sprite_blt: - shard-iclb: NOTRUN -> [SKIP][66] ([fdo#109441]) [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-iclb4/igt@kms_psr@psr2_sprite_blt.html * igt@kms_selftest@all@check_plane_state: - shard-kbl: NOTRUN -> [INCOMPLETE][67] ([i915#4663]) [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl6/igt@kms_selftest@all@check_plane_state.html * igt@kms_sequence@get-forked: - shard-skl: [PASS][68] -> [DMESG-WARN][69] ([i915#1982]) [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-skl7/igt@kms_sequence@get-forked.html [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-skl6/igt@kms_sequence@get-forked.html * igt@kms_writeback@writeback-invalid-parameters: - shard-kbl: NOTRUN -> [SKIP][70] ([fdo#109271] / [i915#2437]) [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl2/igt@kms_writeback@writeback-invalid-parameters.html * igt@nouveau_crc@pipe-c-ctx-flip-detection: - shard-iclb: NOTRUN -> [SKIP][71] ([i915#2530]) [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-iclb4/igt@nouveau_crc@pipe-c-ctx-flip-detection.html * igt@prime_vgem@fence-write-hang: - shard-iclb: NOTRUN -> [SKIP][72] ([fdo#109295]) [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-iclb4/igt@prime_vgem@fence-write-hang.html * igt@sysfs_clients@create: - shard-apl: NOTRUN -> [SKIP][73] ([fdo#109271] / [i915#2994]) [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-apl7/igt@sysfs_clients@create.html * igt@sysfs_clients@split-10: - shard-kbl: NOTRUN -> [SKIP][74] ([fdo#109271] / [i915#2994]) [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl7/igt@sysfs_clients@split-10.html #### Possible fixes #### * igt@gem_eio@in-flight-contexts-10ms: - shard-tglb: [TIMEOUT][75] ([i915#3063]) -> [PASS][76] [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-tglb2/igt@gem_eio@in-flight-contexts-10ms.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-tglb8/igt@gem_eio@in-flight-contexts-10ms.html * igt@gem_exec_fair@basic-none-solo@rcs0: - {shard-rkl}: ([FAIL][77], [FAIL][78]) ([i915#2842]) -> ([PASS][79], [PASS][80]) [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-4/igt@gem_exec_fair@basic-none-solo@rcs0.html [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-2/igt@gem_exec_fair@basic-none-solo@rcs0.html [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-4/igt@gem_exec_fair@basic-none-solo@rcs0.html [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-1/igt@gem_exec_fair@basic-none-solo@rcs0.html * igt@gem_exec_fair@basic-none@vecs0: - shard-apl: [FAIL][81] ([i915#2842]) -> [PASS][82] [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-apl1/igt@gem_exec_fair@basic-none@vecs0.html [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-apl2/igt@gem_exec_fair@basic-none@vecs0.html * igt@gem_exec_fair@basic-pace@bcs0: - shard-tglb: [FAIL][83] ([i915#2842]) -> [PASS][84] +3 similar issues [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-tglb6/igt@gem_exec_fair@basic-pace@bcs0.html [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-tglb3/igt@gem_exec_fair@basic-pace@bcs0.html * igt@gem_exec_fair@basic-pace@vcs0: - shard-kbl: [FAIL][85] ([i915#2842]) -> [PASS][86] +1 similar issue [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-kbl4/igt@gem_exec_fair@basic-pace@vcs0.html [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl6/igt@gem_exec_fair@basic-pace@vcs0.html * igt@gem_exec_fair@basic-throttle@rcs0: - {shard-rkl}: [FAIL][87] ([i915#2842]) -> [PASS][88] [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-1/igt@gem_exec_fair@basic-throttle@rcs0.html [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-2/igt@gem_exec_fair@basic-throttle@rcs0.html - shard-iclb: [FAIL][89] ([i915#2842]) -> [PASS][90] [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-iclb6/igt@gem_exec_fair@basic-throttle@rcs0.html [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-iclb5/igt@gem_exec_fair@basic-throttle@rcs0.html * igt@gem_mmap_wc@set-cache-level: - {shard-rkl}: [SKIP][91] ([i915#1850]) -> [PASS][92] [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-2/igt@gem_mmap_wc@set-cache-level.html [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@gem_mmap_wc@set-cache-level.html * igt@gem_workarounds@suspend-resume-fd: - shard-kbl: [DMESG-WARN][93] ([i915#180]) -> [PASS][94] +2 similar issues [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-kbl1/igt@gem_workarounds@suspend-resume-fd.html [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-kbl7/igt@gem_workarounds@suspend-resume-fd.html * igt@i915_pm_rpm@gem-pread: - {shard-rkl}: [SKIP][95] ([fdo#109308]) -> [PASS][96] [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-2/igt@i915_pm_rpm@gem-pread.html [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@i915_pm_rpm@gem-pread.html * igt@i915_pm_rpm@system-suspend-execbuf: - shard-skl: [INCOMPLETE][97] ([i915#151]) -> [PASS][98] [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-skl4/igt@i915_pm_rpm@system-suspend-execbuf.html [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-skl6/igt@i915_pm_rpm@system-suspend-execbuf.html * igt@kms_big_fb@y-tiled-16bpp-rotate-0: - {shard-rkl}: [SKIP][99] ([i915#1845]) -> [PASS][100] +2 similar issues [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-4/igt@kms_big_fb@y-tiled-16bpp-rotate-0.html [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@kms_big_fb@y-tiled-16bpp-rotate-0.html * igt@kms_color@pipe-a-degamma: - {shard-rkl}: ([SKIP][101], [SKIP][102]) ([i915#1149] / [i915#1849] / [i915#4070] / [i915#4098]) -> [PASS][103] [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-4/igt@kms_color@pipe-a-degamma.html [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-2/igt@kms_color@pipe-a-degamma.html [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@kms_color@pipe-a-degamma.html * igt@kms_color@pipe-a-gamma: - {shard-rkl}: [SKIP][104] ([i915#1149] / [i915#4098]) -> [PASS][105] [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-4/igt@kms_color@pipe-a-gamma.html [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@kms_color@pipe-a-gamma.html * igt@kms_cursor_crc@pipe-a-cursor-64x64-rapid-movement: - {shard-rkl}: [SKIP][106] ([fdo#112022] / [i915#4070]) -> [PASS][107] [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-2/igt@kms_cursor_crc@pipe-a-cursor-64x64-rapid-movement.html [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@kms_cursor_crc@pipe-a-cursor-64x64-rapid-movement.html * igt@kms_cursor_edge_walk@pipe-b-64x64-top-edge: - {shard-rkl}: [SKIP][108] ([i915#1849] / [i915#4070]) -> [PASS][109] [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-2/igt@kms_cursor_edge_walk@pipe-b-64x64-top-edge.html [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@kms_cursor_edge_walk@pipe-b-64x64-top-edge.html * igt@kms_cursor_legacy@cursor-vs-flip-atomic: - {shard-rkl}: [SKIP][110] ([fdo#111825] / [i915#4070]) -> [PASS][111] +1 similar issue [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-2/igt@kms_cursor_legacy@cursor-vs-flip-atomic.html [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@kms_cursor_legacy@cursor-vs-flip-atomic.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-skl: [FAIL][112] ([i915#2346] / [i915#533]) -> [PASS][113] [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-skl9/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-skl4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_draw_crc@draw-method-rgb565-blt-ytiled: - {shard-rkl}: ([SKIP][114], [SKIP][115]) ([fdo#111314] / [i915#4098]) -> [PASS][116] [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-4/igt@kms_draw_crc@draw-method-rgb565-blt-ytiled.html [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-2/igt@kms_draw_crc@draw-method-rgb565-blt-ytiled.html [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@kms_draw_crc@draw-method-rgb565-blt-ytiled.html * igt@kms_draw_crc@draw-method-xrgb8888-blt-xtiled: - {shard-rkl}: [SKIP][117] ([fdo#111314]) -> [PASS][118] +4 similar issues [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-2/igt@kms_draw_crc@draw-method-xrgb8888-blt-xtiled.html [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@kms_draw_crc@draw-method-xrgb8888-blt-xtiled.html * igt@kms_draw_crc@draw-method-xrgb8888-render-untiled: - {shard-rkl}: [SKIP][119] ([i915#4098]) -> [PASS][120] +1 similar issue [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-4/igt@kms_draw_crc@draw-method-xrgb8888-render-untiled.html [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@kms_draw_crc@draw-method-xrgb8888-render-untiled.html * igt@kms_flip@2x-flip-vs-expired-vblank@bc-hdmi-a1-hdmi-a2: - shard-glk: [FAIL][121] ([i915#79]) -> [PASS][122] [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-glk7/igt@kms_flip@2x-flip-vs-expired-vblank@bc-hdmi-a1-hdmi-a2.html [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-glk3/igt@kms_flip@2x-flip-vs-expired-vblank@bc-hdmi-a1-hdmi-a2.html * igt@kms_flip@flip-vs-expired-vblank@c-edp1: - shard-skl: [FAIL][123] ([i915#79]) -> [PASS][124] [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-skl9/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-skl10/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html * igt@kms_flip@flip-vs-suspend-interruptible@c-dp1: - shard-apl: [DMESG-WARN][125] ([i915#180]) -> [PASS][126] +4 similar issues [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-apl8/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-apl7/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html * igt@kms_flip@flip-vs-suspend@c-edp1: - shard-skl: [INCOMPLETE][127] ([i915#198]) -> [PASS][128] [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-skl4/igt@kms_flip@flip-vs-suspend@c-edp1.html [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-skl9/igt@kms_flip@flip-vs-suspend@c-edp1.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite: - {shard-rkl}: ([SKIP][129], [SKIP][130]) ([i915#1849] / [i915#4098]) -> [PASS][131] [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite.html [130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite.html [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@psr-1p-pri-indfb-multidraw: - {shard-rkl}: ([PASS][132], [SKIP][133]) ([i915#4098]) -> [PASS][134] +1 similar issue [132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-pri-indfb-multidraw.html [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-1p-pri-indfb-multidraw.html [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-pri-indfb-multidraw.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-wc: - {shard-rkl}: [SKIP][135] ([i915#1849]) -> [PASS][136] +4 similar issues [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-wc.html [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-wc.html * igt@kms_invalid_mode@zero-clock: - {shard-rkl}: [SKIP][137] ([i915#4278]) -> [PASS][138] [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-2/igt@kms_invalid_mode@zero-clock.html [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@kms_invalid_mode@zero-clock.html * igt@kms_plane@plane-position-hole@pipe-b-planes: - {shard-rkl}: [SKIP][139] ([i915#3558]) -> [PASS][140] +1 similar issue [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-2/igt@kms_plane@plane-position-hole@pipe-b-planes.html [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@kms_plane@plane-position-hole@pipe-b-planes.html * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc: - {shard-rkl}: ([SKIP][141], [SKIP][142]) ([i915#1849] / [i915#4070] / [i915#4098]) -> [PASS][143] [141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-2/igt@kms_plane_alpha_blend@pipe-a-alpha-7efc.html [142]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-4/igt@kms_plane_alpha_blend@pipe-a-alpha-7efc.html [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@kms_plane_alpha_blend@pipe-a-alpha-7efc.html * igt@kms_psr@primary_mmap_cpu: - {shard-rkl}: [SKIP][144] ([i915#1072]) -> [PASS][145] [144]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10984/shard-rkl-2/igt@kms_psr@primary_mmap_cpu.html [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/shard-rkl-6/igt@kms_psr@primary_mmap_cpu.html * igt@kms_psr@psr2_primary_page_flip: - shard-iclb: [SKIP][146] ([fdo#109441]) -> [PASS][147] +1 similar issue [146]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_1 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21798/index.html [-- Attachment #2: Type: text/html, Size: 33344 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* [Intel-gfx] [PATCH 0/2] Tile 4 format support @ 2022-01-18 11:55 Stanislav Lisovskiy 2022-01-18 11:55 ` [Intel-gfx] [PATCH 1/2] drm/i915: Introduce new Tile 4 format Stanislav Lisovskiy 0 siblings, 1 reply; 15+ messages in thread From: Stanislav Lisovskiy @ 2022-01-18 11:55 UTC (permalink / raw) To: intel-gfx; +Cc: m Tile4 in bspec format is 4K tile organized into 64B subtiles with same basic shape as for legacy TileY. Stanislav Lisovskiy (2): drm/i915: Introduce new Tile 4 format drm/i915/dg2: Tile 4 plane format support drivers/gpu/drm/i915/display/intel_display.c | 1 + drivers/gpu/drm/i915/display/intel_fb.c | 15 +++++++++++- drivers/gpu/drm/i915/display/intel_fb.h | 1 + drivers/gpu/drm/i915/display/intel_fbc.c | 1 + .../drm/i915/display/intel_plane_initial.c | 1 + .../drm/i915/display/skl_universal_plane.c | 23 ++++++++++++------- drivers/gpu/drm/i915/i915_drv.h | 1 + drivers/gpu/drm/i915/i915_pci.c | 1 + drivers/gpu/drm/i915/i915_reg.h | 1 + drivers/gpu/drm/i915/intel_device_info.h | 1 + drivers/gpu/drm/i915/intel_pm.c | 1 + include/uapi/drm/drm_fourcc.h | 11 +++++++++ 12 files changed, 49 insertions(+), 9 deletions(-) -- 2.24.1.485.gad05a3d8e5 ^ permalink raw reply [flat|nested] 15+ messages in thread
* [Intel-gfx] [PATCH 1/2] drm/i915: Introduce new Tile 4 format 2022-01-18 11:55 [Intel-gfx] [PATCH 0/2] Tile 4 format support Stanislav Lisovskiy @ 2022-01-18 11:55 ` Stanislav Lisovskiy 0 siblings, 0 replies; 15+ messages in thread From: Stanislav Lisovskiy @ 2022-01-18 11:55 UTC (permalink / raw) To: intel-gfx; +Cc: m This tiling layout uses 4KB tiles in a row-major layout. It has the same shape as Tile Y at two granularities: 4KB (128B x 32) and 64B (16B x 4). It only differs from Tile Y at the 256B granularity in between. At this granularity, Tile Y has a shape of 16B x 32 rows, but this tiling has a shape of 64B x 8 rows. Reviewed-by: Imre Deak <imre.deak@intel.com> Acked-by: Nanley Chery <nanley.g.chery@intel.com> Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> --- include/uapi/drm/drm_fourcc.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h index fc0c1454d275..b73fe6797fc3 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h @@ -572,6 +572,17 @@ extern "C" { */ #define I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC fourcc_mod_code(INTEL, 8) +/* + * Intel Tile 4 layout + * + * This is a tiled layout using 4KB tiles in a row-major layout. It has the same + * shape as Tile Y at two granularities: 4KB (128B x 32) and 64B (16B x 4). It + * only differs from Tile Y at the 256B granularity in between. At this + * granularity, Tile Y has a shape of 16B x 32 rows, but this tiling has a shape + * of 64B x 8 rows. + */ +#define I915_FORMAT_MOD_4_TILED fourcc_mod_code(INTEL, 9) + /* * Tiled, NV12MT, grouped in 64 (pixels) x 32 (lines) -sized macroblocks * -- 2.24.1.485.gad05a3d8e5 ^ permalink raw reply related [flat|nested] 15+ messages in thread
end of thread, other threads:[~2022-01-18 11:55 UTC | newest] Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-12-09 10:47 [Intel-gfx] [PATCH 1/2] drm/i915: Introduce new Tile 4 format Stanislav Lisovskiy 2021-12-09 10:47 ` Stanislav Lisovskiy 2021-12-09 10:47 ` [Intel-gfx] [PATCH 2/2] drm/i915/dg2: Tile 4 plane format support Stanislav Lisovskiy 2021-12-09 10:47 ` Stanislav Lisovskiy 2021-12-09 15:14 ` Chery, Nanley G 2021-12-09 15:14 ` [Intel-gfx] " Chery, Nanley G 2021-12-09 15:14 ` [Intel-gfx] [PATCH 1/2] drm/i915: Introduce new Tile 4 format Chery, Nanley G 2021-12-09 15:14 ` Chery, Nanley G 2021-12-10 10:09 ` Imre Deak 2021-12-10 10:09 ` [Intel-gfx] " Imre Deak 2021-12-10 0:00 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] " Patchwork 2021-12-10 0:02 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork 2021-12-10 0:29 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2021-12-10 10:20 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 2022-01-18 11:55 [Intel-gfx] [PATCH 0/2] Tile 4 format support Stanislav Lisovskiy 2022-01-18 11:55 ` [Intel-gfx] [PATCH 1/2] drm/i915: Introduce new Tile 4 format Stanislav Lisovskiy
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.