Skip to content

Commit 095b1d0

Browse files
juhapekkamlankhorst
authored andcommitted
drm/i915: Enable P010, P012, P016 formats for primary and sprite planes
Enabling of P010, P012 and P016 formats. These formats will extend NV12 for larger bit depths. Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Signed-off-by: Swati Sharma <swati2.sharma@intel.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Acked-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/1551700595-21481-4-git-send-email-swati2.sharma@intel.com
1 parent df7d415 commit 095b1d0

File tree

1 file changed

+26
-2
lines changed

1 file changed

+26
-2
lines changed

drivers/gpu/drm/i915/intel_sprite.c

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1819,6 +1819,25 @@ static const u32 skl_planar_formats[] = {
18191819
DRM_FORMAT_NV12,
18201820
};
18211821

1822+
static const uint32_t glk_planar_formats[] = {
1823+
DRM_FORMAT_C8,
1824+
DRM_FORMAT_RGB565,
1825+
DRM_FORMAT_XRGB8888,
1826+
DRM_FORMAT_XBGR8888,
1827+
DRM_FORMAT_ARGB8888,
1828+
DRM_FORMAT_ABGR8888,
1829+
DRM_FORMAT_XRGB2101010,
1830+
DRM_FORMAT_XBGR2101010,
1831+
DRM_FORMAT_YUYV,
1832+
DRM_FORMAT_YVYU,
1833+
DRM_FORMAT_UYVY,
1834+
DRM_FORMAT_VYUY,
1835+
DRM_FORMAT_NV12,
1836+
DRM_FORMAT_P010,
1837+
DRM_FORMAT_P012,
1838+
DRM_FORMAT_P016,
1839+
};
1840+
18221841
static const u64 skl_plane_format_modifiers_noccs[] = {
18231842
I915_FORMAT_MOD_Yf_TILED,
18241843
I915_FORMAT_MOD_Y_TILED,
@@ -2101,8 +2120,13 @@ skl_universal_plane_create(struct drm_i915_private *dev_priv,
21012120
plane->update_slave = icl_update_slave;
21022121

21032122
if (skl_plane_has_planar(dev_priv, pipe, plane_id)) {
2104-
formats = skl_planar_formats;
2105-
num_formats = ARRAY_SIZE(skl_planar_formats);
2123+
if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) {
2124+
formats = glk_planar_formats;
2125+
num_formats = ARRAY_SIZE(glk_planar_formats);
2126+
} else {
2127+
formats = skl_planar_formats;
2128+
num_formats = ARRAY_SIZE(skl_planar_formats);
2129+
}
21062130
} else {
21072131
formats = skl_plane_formats;
21082132
num_formats = ARRAY_SIZE(skl_plane_formats);

0 commit comments

Comments
 (0)