diff options
Diffstat (limited to 'drivers/gpu/drm/mediatek/mtk_drm_plane.c')
| -rw-r--r-- | drivers/gpu/drm/mediatek/mtk_drm_plane.c | 24 | 
1 files changed, 8 insertions, 16 deletions
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_plane.c b/drivers/gpu/drm/mediatek/mtk_drm_plane.c index d54fbf34b000..31f9420aff6f 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_plane.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_plane.c @@ -19,20 +19,6 @@  #include "mtk_drm_gem.h"  #include "mtk_drm_plane.h" -static const u32 formats[] = { -	DRM_FORMAT_XRGB8888, -	DRM_FORMAT_ARGB8888, -	DRM_FORMAT_BGRX8888, -	DRM_FORMAT_BGRA8888, -	DRM_FORMAT_ABGR8888, -	DRM_FORMAT_XBGR8888, -	DRM_FORMAT_RGB888, -	DRM_FORMAT_BGR888, -	DRM_FORMAT_RGB565, -	DRM_FORMAT_UYVY, -	DRM_FORMAT_YUYV, -}; -  static const u64 modifiers[] = {  	DRM_FORMAT_MOD_LINEAR,  	DRM_FORMAT_MOD_ARM_AFBC(AFBC_FORMAT_MOD_BLOCK_SIZE_32x8 | @@ -315,13 +301,19 @@ static const struct drm_plane_helper_funcs mtk_plane_helper_funcs = {  int mtk_plane_init(struct drm_device *dev, struct drm_plane *plane,  		   unsigned long possible_crtcs, enum drm_plane_type type, -		   unsigned int supported_rotations) +		   unsigned int supported_rotations, const u32 *formats, +		   size_t num_formats)  {  	int err; +	if (!formats || !num_formats) { +		DRM_ERROR("no formats for plane\n"); +		return -EINVAL; +	} +  	err = drm_universal_plane_init(dev, plane, possible_crtcs,  				       &mtk_plane_funcs, formats, -				       ARRAY_SIZE(formats), modifiers, type, NULL); +				       num_formats, modifiers, type, NULL);  	if (err) {  		DRM_ERROR("failed to initialize plane\n");  		return err;  |