@@ -500,13 +500,9 @@ EXPORT_SYMBOL(drm_gem_fb_end_cpu_access);
500
500
// TODO Drop this function and replace by drm_format_info_bpp() once all
501
501
// DRM_FORMAT_* provide proper block info in drivers/gpu/drm/drm_fourcc.c
502
502
static __u32 drm_gem_afbc_get_bpp (struct drm_device * dev ,
503
+ const struct drm_format_info * info ,
503
504
const struct drm_mode_fb_cmd2 * mode_cmd )
504
505
{
505
- const struct drm_format_info * info ;
506
-
507
- info = drm_get_format_info (dev , mode_cmd -> pixel_format ,
508
- mode_cmd -> modifier [0 ]);
509
-
510
506
switch (info -> format ) {
511
507
case DRM_FORMAT_YUV420_8BIT :
512
508
return 12 ;
@@ -520,6 +516,7 @@ static __u32 drm_gem_afbc_get_bpp(struct drm_device *dev,
520
516
}
521
517
522
518
static int drm_gem_afbc_min_size (struct drm_device * dev ,
519
+ const struct drm_format_info * info ,
523
520
const struct drm_mode_fb_cmd2 * mode_cmd ,
524
521
struct drm_afbc_framebuffer * afbc_fb )
525
522
{
@@ -560,7 +557,7 @@ static int drm_gem_afbc_min_size(struct drm_device *dev,
560
557
afbc_fb -> aligned_height = ALIGN (mode_cmd -> height , h_alignment );
561
558
afbc_fb -> offset = mode_cmd -> offsets [0 ];
562
559
563
- bpp = drm_gem_afbc_get_bpp (dev , mode_cmd );
560
+ bpp = drm_gem_afbc_get_bpp (dev , info , mode_cmd );
564
561
if (!bpp ) {
565
562
drm_dbg_kms (dev , "Invalid AFBC bpp value: %d\n" , bpp );
566
563
return - EINVAL ;
@@ -582,6 +579,7 @@ static int drm_gem_afbc_min_size(struct drm_device *dev,
582
579
*
583
580
* @dev: DRM device
584
581
* @afbc_fb: afbc-specific framebuffer
582
+ * @info: pixel format information
585
583
* @mode_cmd: Metadata from the userspace framebuffer creation request
586
584
* @afbc_fb: afbc framebuffer
587
585
*
@@ -595,20 +593,16 @@ static int drm_gem_afbc_min_size(struct drm_device *dev,
595
593
* Zero on success or a negative error value on failure.
596
594
*/
597
595
int drm_gem_fb_afbc_init (struct drm_device * dev ,
596
+ const struct drm_format_info * info ,
598
597
const struct drm_mode_fb_cmd2 * mode_cmd ,
599
598
struct drm_afbc_framebuffer * afbc_fb )
600
599
{
601
- const struct drm_format_info * info ;
602
600
struct drm_gem_object * * objs ;
603
601
int ret ;
604
602
605
603
objs = afbc_fb -> base .obj ;
606
- info = drm_get_format_info (dev , mode_cmd -> pixel_format ,
607
- mode_cmd -> modifier [0 ]);
608
- if (!info )
609
- return - EINVAL ;
610
604
611
- ret = drm_gem_afbc_min_size (dev , mode_cmd , afbc_fb );
605
+ ret = drm_gem_afbc_min_size (dev , info , mode_cmd , afbc_fb );
612
606
if (ret < 0 )
613
607
return ret ;
614
608
0 commit comments