mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-18 13:46:15 +07:00
drm/vc4: Limit SAND tiling support to semiplanar YUV420 formats
Despite what the HVS documentation indicates, the VC4 does not actually support SAND tiling modes for any RGB format and only semiplanar YUV420 formats (NV12/NV21) can be used in these tiling modes. The driver currently claims to support RGB formats for the associated modifiers, so remove them from the supported list in the format_mod_supported helper for RGB formats. Remove further checks that are no longer necessary along the way, since semi-planar YUV420 formats support every SAND tiling mode. Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Link: https://patchwork.freedesktop.org/patch/msgid/20181214141218.12671-1-paul.kocialkowski@bootlin.com
This commit is contained in:
parent
23d19ba06b
commit
0ea3305d7c
@ -675,20 +675,7 @@ static int vc4_plane_mode_set(struct drm_plane *plane,
|
||||
uint32_t param = fourcc_mod_broadcom_param(fb->modifier);
|
||||
u32 tile_w, tile, x_off, pix_per_tile;
|
||||
|
||||
/* Column-based NV12 or RGBA.
|
||||
*/
|
||||
if (fb->format->num_planes > 1) {
|
||||
if (hvs_format != HVS_PIXEL_FORMAT_YCBCR_YUV420_2PLANE) {
|
||||
DRM_DEBUG_KMS("SAND format only valid for NV12/21");
|
||||
return -EINVAL;
|
||||
}
|
||||
hvs_format = HVS_PIXEL_FORMAT_H264;
|
||||
} else {
|
||||
if (base_format_mod == DRM_FORMAT_MOD_BROADCOM_SAND256) {
|
||||
DRM_DEBUG_KMS("SAND256 format only valid for H.264");
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
hvs_format = HVS_PIXEL_FORMAT_H264;
|
||||
|
||||
switch (base_format_mod) {
|
||||
case DRM_FORMAT_MOD_BROADCOM_SAND64:
|
||||
@ -1151,8 +1138,6 @@ static bool vc4_format_mod_supported(struct drm_plane *plane,
|
||||
switch (fourcc_mod_broadcom_mod(modifier)) {
|
||||
case DRM_FORMAT_MOD_LINEAR:
|
||||
case DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED:
|
||||
case DRM_FORMAT_MOD_BROADCOM_SAND64:
|
||||
case DRM_FORMAT_MOD_BROADCOM_SAND128:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
Loading…
Reference in New Issue
Block a user