[PATCH 31/37] drm: Nuke fb->depth

Daniel Vetter daniel at ffwll.ch
Wed Nov 30 16:01:36 UTC 2016


On Fri, Nov 18, 2016 at 09:53:07PM +0200, ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> Replace uses of fb->depth with fb->format->depth. Less duplicate
> information is a good thing.
> 
> @@
> struct drm_framebuffer *fb;
> expression E1, E2;
> @@
>  drm_helper_mode_fill_fb_struct(...) {
> 	...
> -	fb->depth = E1;
> 	...
>  }
> 
> @@
> struct vmw_framebuffer_surface *vfb;
> expression E;
> @@
> - vfb->base.base.depth = E;
> 
> @@
> struct vmw_framebuffer_dmabuf *vfb;
> expression E;
> @@
> - vfb->base.base.depth = E;

If you follow my suggestion for vmwgfx, then the above two spatch hunks
won't be needed. With that:

Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>

> 
> @@
> struct nouveau_framebuffer *fb;
> @@
> - fb->base.depth
> + fb->base.format->depth
> 
> @@
> struct drm_framebuffer fb;
> @@
> - fb.depth
> + fb.format->depth
> 
> @@
> struct drm_framebuffer *fb;
> @@
> - fb->depth
> + fb->format->depth
> 
> @@
> struct drm_framebuffer fb;
> @@
> - (fb.format->depth)
> + fb.format->depth
> 
> @@
> struct drm_framebuffer *fb;
> @@
> - (fb->format->depth)
> + fb->format->depth
> 
> @@
> @@
>  struct drm_framebuffer {
> 	 ...
> -	 unsigned int depth;
> 	 ...
>  };
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c        |  4 ++--
>  drivers/gpu/drm/armada/armada_fbdev.c         |  3 ++-
>  drivers/gpu/drm/ast/ast_fb.c                  |  2 +-
>  drivers/gpu/drm/bochs/bochs_fbdev.c           |  2 +-
>  drivers/gpu/drm/cirrus/cirrus_fbdev.c         |  4 ++--
>  drivers/gpu/drm/drm_fb_cma_helper.c           |  2 +-
>  drivers/gpu/drm/drm_fb_helper.c               |  2 +-
>  drivers/gpu/drm/drm_framebuffer.c             |  2 +-
>  drivers/gpu/drm/drm_modeset_helper.c          |  2 --
>  drivers/gpu/drm/exynos/exynos_drm_fbdev.c     |  2 +-
>  drivers/gpu/drm/gma500/accel_2d.c             |  2 +-
>  drivers/gpu/drm/gma500/framebuffer.c          |  2 +-
>  drivers/gpu/drm/gma500/gma_display.c          |  2 +-
>  drivers/gpu/drm/gma500/mdfld_intel_display.c  |  2 +-
>  drivers/gpu/drm/gma500/oaktrail_crtc.c        |  2 +-
>  drivers/gpu/drm/i915/i915_debugfs.c           |  4 ++--
>  drivers/gpu/drm/i915/intel_fbdev.c            |  2 +-
>  drivers/gpu/drm/mgag200/mgag200_fb.c          |  2 +-
>  drivers/gpu/drm/mgag200/mgag200_mode.c        |  6 +++---
>  drivers/gpu/drm/msm/msm_fbdev.c               |  2 +-
>  drivers/gpu/drm/nouveau/dispnv04/crtc.c       | 12 ++++++------
>  drivers/gpu/drm/nouveau/dispnv04/dfp.c        |  2 +-
>  drivers/gpu/drm/nouveau/nouveau_fbcon.c       |  3 ++-
>  drivers/gpu/drm/omapdrm/omap_fbdev.c          |  2 +-
>  drivers/gpu/drm/qxl/qxl_fb.c                  |  5 +++--
>  drivers/gpu/drm/radeon/radeon_fb.c            |  4 ++--
>  drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c |  5 +++--
>  drivers/gpu/drm/tegra/drm.c                   |  3 ++-
>  drivers/gpu/drm/tegra/fb.c                    |  2 +-
>  drivers/gpu/drm/udl/udl_fb.c                  |  2 +-
>  drivers/gpu/drm/virtio/virtgpu_fb.c           |  2 +-
>  drivers/gpu/drm/vmwgfx/vmwgfx_fb.c            |  7 ++++---
>  drivers/gpu/drm/vmwgfx/vmwgfx_kms.c           |  2 --
>  drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c           |  5 +++--
>  drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c          |  2 +-
>  include/drm/drm_framebuffer.h                 |  6 ------
>  36 files changed, 56 insertions(+), 59 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
> index f1c9e59a7c87..f24c91b699a9 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
> @@ -245,7 +245,7 @@ static int amdgpufb_create(struct drm_fb_helper *helper,
>  
>  	strcpy(info->fix.id, "amdgpudrmfb");
>  
> -	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth);
> +	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth);
>  
>  	info->flags = FBINFO_DEFAULT | FBINFO_CAN_FORCE_OUTPUT;
>  	info->fbops = &amdgpufb_ops;
> @@ -272,7 +272,7 @@ static int amdgpufb_create(struct drm_fb_helper *helper,
>  	DRM_INFO("fb mappable at 0x%lX\n",  info->fix.smem_start);
>  	DRM_INFO("vram apper at 0x%lX\n",  (unsigned long)adev->mc.aper_base);
>  	DRM_INFO("size %lu\n", (unsigned long)amdgpu_bo_size(abo));
> -	DRM_INFO("fb depth is %d\n", fb->depth);
> +	DRM_INFO("fb depth is %d\n", fb->format->depth);
>  	DRM_INFO("   pitch is %d\n", fb->pitches[0]);
>  
>  	vga_switcheroo_client_fb_set(adev->ddev->pdev, info);
> diff --git a/drivers/gpu/drm/armada/armada_fbdev.c b/drivers/gpu/drm/armada/armada_fbdev.c
> index c5dc06a55883..3a58fb600b05 100644
> --- a/drivers/gpu/drm/armada/armada_fbdev.c
> +++ b/drivers/gpu/drm/armada/armada_fbdev.c
> @@ -89,7 +89,8 @@ static int armada_fb_create(struct drm_fb_helper *fbh,
>  	info->screen_base = ptr;
>  	fbh->fb = &dfb->fb;
>  
> -	drm_fb_helper_fill_fix(info, dfb->fb.pitches[0], dfb->fb.depth);
> +	drm_fb_helper_fill_fix(info, dfb->fb.pitches[0],
> +			       dfb->fb.format->depth);
>  	drm_fb_helper_fill_var(info, fbh, sizes->fb_width, sizes->fb_height);
>  
>  	DRM_DEBUG_KMS("allocated %dx%d %dbpp fb: 0x%08llx\n",
> diff --git a/drivers/gpu/drm/ast/ast_fb.c b/drivers/gpu/drm/ast/ast_fb.c
> index d6f5ec64c667..f751792a3c7c 100644
> --- a/drivers/gpu/drm/ast/ast_fb.c
> +++ b/drivers/gpu/drm/ast/ast_fb.c
> @@ -237,7 +237,7 @@ static int astfb_create(struct drm_fb_helper *helper,
>  	info->apertures->ranges[0].base = pci_resource_start(dev->pdev, 0);
>  	info->apertures->ranges[0].size = pci_resource_len(dev->pdev, 0);
>  
> -	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth);
> +	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth);
>  	drm_fb_helper_fill_var(info, &afbdev->helper, sizes->fb_width, sizes->fb_height);
>  
>  	info->screen_base = sysram;
> diff --git a/drivers/gpu/drm/bochs/bochs_fbdev.c b/drivers/gpu/drm/bochs/bochs_fbdev.c
> index da790a1c302a..0317c3df6a22 100644
> --- a/drivers/gpu/drm/bochs/bochs_fbdev.c
> +++ b/drivers/gpu/drm/bochs/bochs_fbdev.c
> @@ -123,7 +123,7 @@ static int bochsfb_create(struct drm_fb_helper *helper,
>  	info->flags = FBINFO_DEFAULT;
>  	info->fbops = &bochsfb_ops;
>  
> -	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth);
> +	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth);
>  	drm_fb_helper_fill_var(info, &bochs->fb.helper, sizes->fb_width,
>  			       sizes->fb_height);
>  
> diff --git a/drivers/gpu/drm/cirrus/cirrus_fbdev.c b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
> index 3a6309d7d8e4..3cac8a03cf4f 100644
> --- a/drivers/gpu/drm/cirrus/cirrus_fbdev.c
> +++ b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
> @@ -218,7 +218,7 @@ static int cirrusfb_create(struct drm_fb_helper *helper,
>  	info->flags = FBINFO_DEFAULT;
>  	info->fbops = &cirrusfb_ops;
>  
> -	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth);
> +	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth);
>  	drm_fb_helper_fill_var(info, &gfbdev->helper, sizes->fb_width,
>  			       sizes->fb_height);
>  
> @@ -238,7 +238,7 @@ static int cirrusfb_create(struct drm_fb_helper *helper,
>  	DRM_INFO("fb mappable at 0x%lX\n", info->fix.smem_start);
>  	DRM_INFO("vram aper at 0x%lX\n", (unsigned long)info->fix.smem_start);
>  	DRM_INFO("size %lu\n", (unsigned long)info->fix.smem_len);
> -	DRM_INFO("fb depth is %d\n", fb->depth);
> +	DRM_INFO("fb depth is %d\n", fb->format->depth);
>  	DRM_INFO("   pitch is %d\n", fb->pitches[0]);
>  
>  	return 0;
> diff --git a/drivers/gpu/drm/drm_fb_cma_helper.c b/drivers/gpu/drm/drm_fb_cma_helper.c
> index 0dc3f5bcbf48..181a9eafe34a 100644
> --- a/drivers/gpu/drm/drm_fb_cma_helper.c
> +++ b/drivers/gpu/drm/drm_fb_cma_helper.c
> @@ -464,7 +464,7 @@ int drm_fbdev_cma_create_with_funcs(struct drm_fb_helper *helper,
>  	fbi->flags = FBINFO_FLAG_DEFAULT;
>  	fbi->fbops = &drm_fbdev_cma_ops;
>  
> -	drm_fb_helper_fill_fix(fbi, fb->pitches[0], fb->depth);
> +	drm_fb_helper_fill_fix(fbi, fb->pitches[0], fb->format->depth);
>  	drm_fb_helper_fill_var(fbi, helper, sizes->fb_width, sizes->fb_height);
>  
>  	offset = fbi->var.xoffset * bytes_per_pixel;
> diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
> index 14547817566d..755e3b6e9710 100644
> --- a/drivers/gpu/drm/drm_fb_helper.c
> +++ b/drivers/gpu/drm/drm_fb_helper.c
> @@ -1663,7 +1663,7 @@ void drm_fb_helper_fill_var(struct fb_info *info, struct drm_fb_helper *fb_helpe
>  	info->var.height = -1;
>  	info->var.width = -1;
>  
> -	switch (fb->depth) {
> +	switch (fb->format->depth) {
>  	case 8:
>  		info->var.red.offset = 0;
>  		info->var.green.offset = 0;
> diff --git a/drivers/gpu/drm/drm_framebuffer.c b/drivers/gpu/drm/drm_framebuffer.c
> index 22071d7e3420..556a92359c96 100644
> --- a/drivers/gpu/drm/drm_framebuffer.c
> +++ b/drivers/gpu/drm/drm_framebuffer.c
> @@ -432,7 +432,7 @@ int drm_mode_getfb(struct drm_device *dev,
>  
>  	r->height = fb->height;
>  	r->width = fb->width;
> -	r->depth = fb->depth;
> +	r->depth = fb->format->depth;
>  	r->bpp = fb->bits_per_pixel;
>  	r->pitch = fb->pitches[0];
>  	if (fb->funcs->create_handle) {
> diff --git a/drivers/gpu/drm/drm_modeset_helper.c b/drivers/gpu/drm/drm_modeset_helper.c
> index 1aa5e3bcc8a1..e5d19e5fc341 100644
> --- a/drivers/gpu/drm/drm_modeset_helper.c
> +++ b/drivers/gpu/drm/drm_modeset_helper.c
> @@ -83,10 +83,8 @@ void drm_helper_mode_fill_fb_struct(struct drm_device *dev,
>  		              drm_get_format_name(mode_cmd->pixel_format,
>  		                                  &format_name));
>  
> -		fb->depth = 0;
>  		fb->bits_per_pixel = 0;
>  	} else {
> -		fb->depth = info->depth;
>  		fb->bits_per_pixel = info->cpp[0] * 8;
>  	}
>  
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
> index 9f35deb56170..e68a46f112f6 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
> @@ -90,7 +90,7 @@ static int exynos_drm_fbdev_update(struct drm_fb_helper *helper,
>  	fbi->flags = FBINFO_FLAG_DEFAULT;
>  	fbi->fbops = &exynos_drm_fb_ops;
>  
> -	drm_fb_helper_fill_fix(fbi, fb->pitches[0], fb->depth);
> +	drm_fb_helper_fill_fix(fbi, fb->pitches[0], fb->format->depth);
>  	drm_fb_helper_fill_var(fbi, helper, sizes->fb_width, sizes->fb_height);
>  
>  	nr_pages = exynos_gem->size >> PAGE_SHIFT;
> diff --git a/drivers/gpu/drm/gma500/accel_2d.c b/drivers/gpu/drm/gma500/accel_2d.c
> index 0d2bb1682508..c51d9259c7a7 100644
> --- a/drivers/gpu/drm/gma500/accel_2d.c
> +++ b/drivers/gpu/drm/gma500/accel_2d.c
> @@ -254,7 +254,7 @@ static void psbfb_copyarea_accel(struct fb_info *info,
>  	offset = psbfb->gtt->offset;
>  	stride = fb->pitches[0];
>  
> -	switch (fb->depth) {
> +	switch (fb->format->depth) {
>  	case 8:
>  		src_format = PSB_2D_SRC_332RGB;
>  		dst_format = PSB_2D_DST_332RGB;
> diff --git a/drivers/gpu/drm/gma500/framebuffer.c b/drivers/gpu/drm/gma500/framebuffer.c
> index 6d89ed760941..a93b59ce6b41 100644
> --- a/drivers/gpu/drm/gma500/framebuffer.c
> +++ b/drivers/gpu/drm/gma500/framebuffer.c
> @@ -407,7 +407,7 @@ static int psbfb_create(struct psb_fbdev *fbdev,
>  
>  	fbdev->psb_fb_helper.fb = fb;
>  
> -	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth);
> +	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth);
>  	strcpy(info->fix.id, "psbdrmfb");
>  
>  	info->flags = FBINFO_DEFAULT;
> diff --git a/drivers/gpu/drm/gma500/gma_display.c b/drivers/gpu/drm/gma500/gma_display.c
> index 05b9a4ceb58d..5b852ad152ae 100644
> --- a/drivers/gpu/drm/gma500/gma_display.c
> +++ b/drivers/gpu/drm/gma500/gma_display.c
> @@ -94,7 +94,7 @@ int gma_pipe_set_base(struct drm_crtc *crtc, int x, int y,
>  		dspcntr |= DISPPLANE_8BPP;
>  		break;
>  	case 16:
> -		if (fb->depth == 15)
> +		if (fb->format->depth == 15)
>  			dspcntr |= DISPPLANE_15_16BPP;
>  		else
>  			dspcntr |= DISPPLANE_16BPP;
> diff --git a/drivers/gpu/drm/gma500/mdfld_intel_display.c b/drivers/gpu/drm/gma500/mdfld_intel_display.c
> index e80895285e94..3be3111825cd 100644
> --- a/drivers/gpu/drm/gma500/mdfld_intel_display.c
> +++ b/drivers/gpu/drm/gma500/mdfld_intel_display.c
> @@ -208,7 +208,7 @@ static int mdfld__intel_pipe_set_base(struct drm_crtc *crtc, int x, int y,
>  		dspcntr |= DISPPLANE_8BPP;
>  		break;
>  	case 16:
> -		if (fb->depth == 15)
> +		if (fb->format->depth == 15)
>  			dspcntr |= DISPPLANE_15_16BPP;
>  		else
>  			dspcntr |= DISPPLANE_16BPP;
> diff --git a/drivers/gpu/drm/gma500/oaktrail_crtc.c b/drivers/gpu/drm/gma500/oaktrail_crtc.c
> index a51896544d91..569810d47786 100644
> --- a/drivers/gpu/drm/gma500/oaktrail_crtc.c
> +++ b/drivers/gpu/drm/gma500/oaktrail_crtc.c
> @@ -630,7 +630,7 @@ static int oaktrail_pipe_set_base(struct drm_crtc *crtc,
>  		dspcntr |= DISPPLANE_8BPP;
>  		break;
>  	case 16:
> -		if (fb->depth == 15)
> +		if (fb->format->depth == 15)
>  			dspcntr |= DISPPLANE_15_16BPP;
>  		else
>  			dspcntr |= DISPPLANE_16BPP;
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index b7f42c448a44..ebcba97616ab 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -1894,7 +1894,7 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>  		seq_printf(m, "fbcon size: %d x %d, depth %d, %d bpp, modifier 0x%llx, refcount %d, obj ",
>  			   fbdev_fb->base.width,
>  			   fbdev_fb->base.height,
> -			   fbdev_fb->base.depth,
> +			   fbdev_fb->base.format->depth,
>  			   fbdev_fb->base.bits_per_pixel,
>  			   fbdev_fb->base.modifier,
>  			   drm_framebuffer_read_refcount(&fbdev_fb->base));
> @@ -1912,7 +1912,7 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>  		seq_printf(m, "user size: %d x %d, depth %d, %d bpp, modifier 0x%llx, refcount %d, obj ",
>  			   fb->base.width,
>  			   fb->base.height,
> -			   fb->base.depth,
> +			   fb->base.format->depth,
>  			   fb->base.bits_per_pixel,
>  			   fb->base.modifier,
>  			   drm_framebuffer_read_refcount(&fb->base));
> diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c
> index beb08982dc0b..b726483a460d 100644
> --- a/drivers/gpu/drm/i915/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/intel_fbdev.c
> @@ -261,7 +261,7 @@ static int intelfb_create(struct drm_fb_helper *helper,
>  	/* This driver doesn't need a VT switch to restore the mode on resume */
>  	info->skip_vt_switch = true;
>  
> -	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth);
> +	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth);
>  	drm_fb_helper_fill_var(info, &ifbdev->helper, sizes->fb_width, sizes->fb_height);
>  
>  	/* If the object is shmemfs backed, it will have given us zeroed pages.
> diff --git a/drivers/gpu/drm/mgag200/mgag200_fb.c b/drivers/gpu/drm/mgag200/mgag200_fb.c
> index 88dd2214114d..19a78b6b5a1a 100644
> --- a/drivers/gpu/drm/mgag200/mgag200_fb.c
> +++ b/drivers/gpu/drm/mgag200/mgag200_fb.c
> @@ -217,7 +217,7 @@ static int mgag200fb_create(struct drm_fb_helper *helper,
>  	info->apertures->ranges[0].base = mdev->dev->mode_config.fb_base;
>  	info->apertures->ranges[0].size = mdev->mc.vram_size;
>  
> -	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth);
> +	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth);
>  	drm_fb_helper_fill_var(info, &mfbdev->helper, sizes->fb_width,
>  			       sizes->fb_height);
>  
> diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/mgag200_mode.c
> index bdac288ab16d..3180db5e81cb 100644
> --- a/drivers/gpu/drm/mgag200/mgag200_mode.c
> +++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
> @@ -39,10 +39,10 @@ static void mga_crtc_load_lut(struct drm_crtc *crtc)
>  	WREG8(DAC_INDEX + MGA1064_INDEX, 0);
>  
>  	if (fb && fb->bits_per_pixel == 16) {
> -		int inc = (fb->depth == 15) ? 8 : 4;
> +		int inc = (fb->format->depth == 15) ? 8 : 4;
>  		u8 r, b;
>  		for (i = 0; i < MGAG200_LUT_SIZE; i += inc) {
> -			if (fb->depth == 16) {
> +			if (fb->format->depth == 16) {
>  				if (i > (MGAG200_LUT_SIZE >> 1)) {
>  					r = b = 0;
>  				} else {
> @@ -947,7 +947,7 @@ static int mga_crtc_mode_set(struct drm_crtc *crtc,
>  		dacvalue[MGA1064_MUL_CTL] = MGA1064_MUL_CTL_8bits;
>  		break;
>  	case 16:
> -		if (fb->depth == 15)
> +		if (fb->format->depth == 15)
>  			dacvalue[MGA1064_MUL_CTL] = MGA1064_MUL_CTL_15bits;
>  		else
>  			dacvalue[MGA1064_MUL_CTL] = MGA1064_MUL_CTL_16bits;
> diff --git a/drivers/gpu/drm/msm/msm_fbdev.c b/drivers/gpu/drm/msm/msm_fbdev.c
> index d29f5e82a410..3af969d8e8db 100644
> --- a/drivers/gpu/drm/msm/msm_fbdev.c
> +++ b/drivers/gpu/drm/msm/msm_fbdev.c
> @@ -148,7 +148,7 @@ static int msm_fbdev_create(struct drm_fb_helper *helper,
>  
>  	strcpy(fbi->fix.id, "msm");
>  
> -	drm_fb_helper_fill_fix(fbi, fb->pitches[0], fb->depth);
> +	drm_fb_helper_fill_fix(fbi, fb->pitches[0], fb->format->depth);
>  	drm_fb_helper_fill_var(fbi, helper, sizes->fb_width, sizes->fb_height);
>  
>  	dev->mode_config.fb_base = paddr;
> diff --git a/drivers/gpu/drm/nouveau/dispnv04/crtc.c b/drivers/gpu/drm/nouveau/dispnv04/crtc.c
> index 8286b8ffe109..480e3ab477fd 100644
> --- a/drivers/gpu/drm/nouveau/dispnv04/crtc.c
> +++ b/drivers/gpu/drm/nouveau/dispnv04/crtc.c
> @@ -570,7 +570,7 @@ nv_crtc_mode_set_regs(struct drm_crtc *crtc, struct drm_display_mode * mode)
>  		regp->CRTC[NV_CIO_CRE_86] = 0x1;
>  	}
>  
> -	regp->CRTC[NV_CIO_CRE_PIXEL_INDEX] = (fb->depth + 1) / 8;
> +	regp->CRTC[NV_CIO_CRE_PIXEL_INDEX] = (fb->format->depth + 1) / 8;
>  	/* Enable slaved mode (called MODE_TV in nv4ref.h) */
>  	if (lvds_output || tmds_output || tv_output)
>  		regp->CRTC[NV_CIO_CRE_PIXEL_INDEX] |= (1 << 7);
> @@ -584,7 +584,7 @@ nv_crtc_mode_set_regs(struct drm_crtc *crtc, struct drm_display_mode * mode)
>  	regp->ramdac_gen_ctrl = NV_PRAMDAC_GENERAL_CONTROL_BPC_8BITS |
>  				NV_PRAMDAC_GENERAL_CONTROL_VGA_STATE_SEL |
>  				NV_PRAMDAC_GENERAL_CONTROL_PIXMIX_ON;
> -	if (fb->depth == 16)
> +	if (fb->format->depth == 16)
>  		regp->ramdac_gen_ctrl |= NV_PRAMDAC_GENERAL_CONTROL_ALT_MODE_SEL;
>  	if (drm->device.info.chipset >= 0x11)
>  		regp->ramdac_gen_ctrl |= NV_PRAMDAC_GENERAL_CONTROL_PIPE_LONG;
> @@ -848,16 +848,16 @@ nv04_crtc_do_mode_set_base(struct drm_crtc *crtc,
>  
>  	nv_crtc->fb.offset = fb->nvbo->bo.offset;
>  
> -	if (nv_crtc->lut.depth != drm_fb->depth) {
> -		nv_crtc->lut.depth = drm_fb->depth;
> +	if (nv_crtc->lut.depth != drm_fb->format->depth) {
> +		nv_crtc->lut.depth = drm_fb->format->depth;
>  		nv_crtc_gamma_load(crtc);
>  	}
>  
>  	/* Update the framebuffer format. */
>  	regp->CRTC[NV_CIO_CRE_PIXEL_INDEX] &= ~3;
> -	regp->CRTC[NV_CIO_CRE_PIXEL_INDEX] |= (drm_fb->depth + 1) / 8;
> +	regp->CRTC[NV_CIO_CRE_PIXEL_INDEX] |= (drm_fb->format->depth + 1) / 8;
>  	regp->ramdac_gen_ctrl &= ~NV_PRAMDAC_GENERAL_CONTROL_ALT_MODE_SEL;
> -	if (drm_fb->depth == 16)
> +	if (drm_fb->format->depth == 16)
>  		regp->ramdac_gen_ctrl |= NV_PRAMDAC_GENERAL_CONTROL_ALT_MODE_SEL;
>  	crtc_wr_cio_state(crtc, regp, NV_CIO_CRE_PIXEL_INDEX);
>  	NVWriteRAMDAC(dev, nv_crtc->index, NV_PRAMDAC_GENERAL_CONTROL,
> diff --git a/drivers/gpu/drm/nouveau/dispnv04/dfp.c b/drivers/gpu/drm/nouveau/dispnv04/dfp.c
> index 945607b3cd41..2e5bb2afda7c 100644
> --- a/drivers/gpu/drm/nouveau/dispnv04/dfp.c
> +++ b/drivers/gpu/drm/nouveau/dispnv04/dfp.c
> @@ -416,7 +416,7 @@ static void nv04_dfp_mode_set(struct drm_encoder *encoder,
>  	/* Output property. */
>  	if ((nv_connector->dithering_mode == DITHERING_MODE_ON) ||
>  	    (nv_connector->dithering_mode == DITHERING_MODE_AUTO &&
> -	     fb->depth > connector->display_info.bpc * 3)) {
> +	     fb->format->depth > connector->display_info.bpc * 3)) {
>  		if (drm->device.info.chipset == 0x11)
>  			regp->dither = savep->dither | 0x00010000;
>  		else {
> diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
> index 2f2a3dcd4ad7..5600f6c64497 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
> @@ -400,7 +400,8 @@ nouveau_fbcon_create(struct drm_fb_helper *helper,
>  	info->screen_base = nvbo_kmap_obj_iovirtual(fb->nvbo);
>  	info->screen_size = fb->nvbo->bo.mem.num_pages << PAGE_SHIFT;
>  
> -	drm_fb_helper_fill_fix(info, fb->base.pitches[0], fb->base.depth);
> +	drm_fb_helper_fill_fix(info, fb->base.pitches[0],
> +			       fb->base.format->depth);
>  	drm_fb_helper_fill_var(info, &fbcon->helper, sizes->fb_width, sizes->fb_height);
>  
>  	/* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */
> diff --git a/drivers/gpu/drm/omapdrm/omap_fbdev.c b/drivers/gpu/drm/omapdrm/omap_fbdev.c
> index 8d8ac173f55d..aed99a0fc44b 100644
> --- a/drivers/gpu/drm/omapdrm/omap_fbdev.c
> +++ b/drivers/gpu/drm/omapdrm/omap_fbdev.c
> @@ -190,7 +190,7 @@ static int omap_fbdev_create(struct drm_fb_helper *helper,
>  
>  	strcpy(fbi->fix.id, MODULE_NAME);
>  
> -	drm_fb_helper_fill_fix(fbi, fb->pitches[0], fb->depth);
> +	drm_fb_helper_fill_fix(fbi, fb->pitches[0], fb->format->depth);
>  	drm_fb_helper_fill_var(fbi, helper, sizes->fb_width, sizes->fb_height);
>  
>  	dev->mode_config.fb_base = paddr;
> diff --git a/drivers/gpu/drm/qxl/qxl_fb.c b/drivers/gpu/drm/qxl/qxl_fb.c
> index 7e305d8a4146..e41b3322f433 100644
> --- a/drivers/gpu/drm/qxl/qxl_fb.c
> +++ b/drivers/gpu/drm/qxl/qxl_fb.c
> @@ -279,7 +279,7 @@ static int qxlfb_create(struct qxl_fbdev *qfbdev,
>  	qfbdev->shadow = shadow;
>  	strcpy(info->fix.id, "qxldrmfb");
>  
> -	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth);
> +	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth);
>  
>  	info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_COPYAREA | FBINFO_HWACCEL_FILLRECT;
>  	info->fbops = &qxlfb_ops;
> @@ -316,7 +316,8 @@ static int qxlfb_create(struct qxl_fbdev *qfbdev,
>  	qdev->fbdev_info = info;
>  	qdev->fbdev_qfb = &qfbdev->qfb;
>  	DRM_INFO("fb mappable at 0x%lX, size %lu\n",  info->fix.smem_start, (unsigned long)info->screen_size);
> -	DRM_INFO("fb: depth %d, pitch %d, width %d, height %d\n", fb->depth, fb->pitches[0], fb->width, fb->height);
> +	DRM_INFO("fb: depth %d, pitch %d, width %d, height %d\n",
> +		 fb->format->depth, fb->pitches[0], fb->width, fb->height);
>  	return 0;
>  
>  out_destroy_fbi:
> diff --git a/drivers/gpu/drm/radeon/radeon_fb.c b/drivers/gpu/drm/radeon/radeon_fb.c
> index 899b6a1644bd..6c10a83f3362 100644
> --- a/drivers/gpu/drm/radeon/radeon_fb.c
> +++ b/drivers/gpu/drm/radeon/radeon_fb.c
> @@ -263,7 +263,7 @@ static int radeonfb_create(struct drm_fb_helper *helper,
>  
>  	strcpy(info->fix.id, "radeondrmfb");
>  
> -	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth);
> +	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth);
>  
>  	info->flags = FBINFO_DEFAULT | FBINFO_CAN_FORCE_OUTPUT;
>  	info->fbops = &radeonfb_ops;
> @@ -290,7 +290,7 @@ static int radeonfb_create(struct drm_fb_helper *helper,
>  	DRM_INFO("fb mappable at 0x%lX\n",  info->fix.smem_start);
>  	DRM_INFO("vram apper at 0x%lX\n",  (unsigned long)rdev->mc.aper_base);
>  	DRM_INFO("size %lu\n", (unsigned long)radeon_bo_size(rbo));
> -	DRM_INFO("fb depth is %d\n", fb->depth);
> +	DRM_INFO("fb depth is %d\n", fb->format->depth);
>  	DRM_INFO("   pitch is %d\n", fb->pitches[0]);
>  
>  	vga_switcheroo_client_fb_set(rdev->ddev->pdev, info);
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c b/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c
> index 8f639c8597a5..52d1fdf9f9da 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c
> @@ -94,7 +94,7 @@ static int rockchip_drm_fbdev_create(struct drm_fb_helper *helper,
>  	fbi->fbops = &rockchip_drm_fbdev_ops;
>  
>  	fb = helper->fb;
> -	drm_fb_helper_fill_fix(fbi, fb->pitches[0], fb->depth);
> +	drm_fb_helper_fill_fix(fbi, fb->pitches[0], fb->format->depth);
>  	drm_fb_helper_fill_var(fbi, helper, sizes->fb_width, sizes->fb_height);
>  
>  	offset = fbi->var.xoffset * bytes_per_pixel;
> @@ -106,7 +106,8 @@ static int rockchip_drm_fbdev_create(struct drm_fb_helper *helper,
>  	fbi->fix.smem_len = rk_obj->base.size;
>  
>  	DRM_DEBUG_KMS("FB [%dx%d]-%d kvaddr=%p offset=%ld size=%zu\n",
> -		      fb->width, fb->height, fb->depth, rk_obj->kvaddr,
> +		      fb->width, fb->height, fb->format->depth,
> +		      rk_obj->kvaddr,
>  		      offset, size);
>  
>  	fbi->skip_vt_switch = true;
> diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
> index b8be3ee4d3b8..d2893f65341a 100644
> --- a/drivers/gpu/drm/tegra/drm.c
> +++ b/drivers/gpu/drm/tegra/drm.c
> @@ -875,7 +875,8 @@ static int tegra_debugfs_framebuffers(struct seq_file *s, void *data)
>  
>  	list_for_each_entry(fb, &drm->mode_config.fb_list, head) {
>  		seq_printf(s, "%3d: user size: %d x %d, depth %d, %d bpp, refcount %d\n",
> -			   fb->base.id, fb->width, fb->height, fb->depth,
> +			   fb->base.id, fb->width, fb->height,
> +			   fb->format->depth,
>  			   fb->bits_per_pixel,
>  			   drm_framebuffer_read_refcount(fb));
>  	}
> diff --git a/drivers/gpu/drm/tegra/fb.c b/drivers/gpu/drm/tegra/fb.c
> index 8a4aea211e94..8df7783cecc2 100644
> --- a/drivers/gpu/drm/tegra/fb.c
> +++ b/drivers/gpu/drm/tegra/fb.c
> @@ -246,7 +246,7 @@ static int tegra_fbdev_probe(struct drm_fb_helper *helper,
>  	info->flags = FBINFO_FLAG_DEFAULT;
>  	info->fbops = &tegra_fb_ops;
>  
> -	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth);
> +	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth);
>  	drm_fb_helper_fill_var(info, helper, fb->width, fb->height);
>  
>  	offset = info->var.xoffset * bytes_per_pixel +
> diff --git a/drivers/gpu/drm/udl/udl_fb.c b/drivers/gpu/drm/udl/udl_fb.c
> index fefd87f422ec..e21a3ed3ab2b 100644
> --- a/drivers/gpu/drm/udl/udl_fb.c
> +++ b/drivers/gpu/drm/udl/udl_fb.c
> @@ -395,7 +395,7 @@ static int udlfb_create(struct drm_fb_helper *helper,
>  
>  	info->flags = FBINFO_DEFAULT | FBINFO_CAN_FORCE_OUTPUT;
>  	info->fbops = &udlfb_ops;
> -	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth);
> +	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth);
>  	drm_fb_helper_fill_var(info, &ufbdev->helper, sizes->fb_width, sizes->fb_height);
>  
>  	DRM_DEBUG_KMS("allocated %dx%d vmal %p\n",
> diff --git a/drivers/gpu/drm/virtio/virtgpu_fb.c b/drivers/gpu/drm/virtio/virtgpu_fb.c
> index dd21f950e129..9d0da42cc420 100644
> --- a/drivers/gpu/drm/virtio/virtgpu_fb.c
> +++ b/drivers/gpu/drm/virtio/virtgpu_fb.c
> @@ -333,7 +333,7 @@ static int virtio_gpufb_create(struct drm_fb_helper *helper,
>  
>  	info->screen_base = obj->vmap;
>  	info->screen_size = obj->gem_base.size;
> -	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth);
> +	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth);
>  	drm_fb_helper_fill_var(info, &vfbdev->helper,
>  			       sizes->fb_width, sizes->fb_height);
>  
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
> index d2d93959b119..b6e4add09f44 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
> @@ -83,7 +83,7 @@ static int vmw_fb_setcolreg(unsigned regno, unsigned red, unsigned green,
>  		return 1;
>  	}
>  
> -	switch (par->set_fb->depth) {
> +	switch (par->set_fb->format->depth) {
>  	case 24:
>  	case 32:
>  		pal[regno] = ((red & 0xff00) << 8) |
> @@ -91,7 +91,8 @@ static int vmw_fb_setcolreg(unsigned regno, unsigned red, unsigned green,
>  			     ((blue  & 0xff00) >> 8);
>  		break;
>  	default:
> -		DRM_ERROR("Bad depth %u, bpp %u.\n", par->set_fb->depth,
> +		DRM_ERROR("Bad depth %u, bpp %u.\n",
> +			  par->set_fb->format->depth,
>  			  par->set_fb->bits_per_pixel);
>  		return 1;
>  	}
> @@ -486,7 +487,7 @@ static int vmw_fb_kms_framebuffer(struct fb_info *info)
>  	if (cur_fb && cur_fb->width == mode_cmd.width &&
>  	    cur_fb->height == mode_cmd.height &&
>  	    cur_fb->bits_per_pixel == mode_cmd.bpp &&
> -	    cur_fb->depth == mode_cmd.depth &&
> +	    cur_fb->format->depth == mode_cmd.depth &&
>  	    cur_fb->pitches[0] == mode_cmd.pitch)
>  		return 0;
>  
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> index 77f936e3056e..2ce4743701f1 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> @@ -593,7 +593,6 @@ static int vmw_kms_new_framebuffer_surface(struct vmw_private *dev_priv,
>  	vfbs->base.base.pixel_format = pixel_format;
>  	vfbs->base.base.bits_per_pixel = mode_cmd->bpp;
>  	vfbs->base.base.pitches[0] = mode_cmd->pitch;
> -	vfbs->base.base.depth = mode_cmd->depth;
>  	vfbs->base.base.width = mode_cmd->width;
>  	vfbs->base.base.height = mode_cmd->height;
>  	vfbs->surface = vmw_surface_reference(surface);
> @@ -902,7 +901,6 @@ static int vmw_kms_new_framebuffer_dmabuf(struct vmw_private *dev_priv,
>  	vfbd->base.base.pixel_format = pixel_format;
>  	vfbd->base.base.bits_per_pixel = mode_cmd->bpp;
>  	vfbd->base.base.pitches[0] = mode_cmd->pitch;
> -	vfbd->base.base.depth = mode_cmd->depth;
>  	vfbd->base.base.width = mode_cmd->width;
>  	vfbd->base.base.height = mode_cmd->height;
>  	vfbd->base.dmabuf = true;
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
> index 23ec673d5e16..a3a839a3d441 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
> @@ -97,7 +97,8 @@ static int vmw_ldu_commit_list(struct vmw_private *dev_priv)
>  		fb = entry->base.crtc.primary->fb;
>  
>  		return vmw_kms_write_svga(dev_priv, w, h, fb->pitches[0],
> -					  fb->bits_per_pixel, fb->depth);
> +					  fb->bits_per_pixel,
> +					  fb->format->depth);
>  	}
>  
>  	if (!list_empty(&lds->active)) {
> @@ -105,7 +106,7 @@ static int vmw_ldu_commit_list(struct vmw_private *dev_priv)
>  		fb = entry->base.crtc.primary->fb;
>  
>  		vmw_kms_write_svga(dev_priv, fb->width, fb->height, fb->pitches[0],
> -				   fb->bits_per_pixel, fb->depth);
> +				   fb->bits_per_pixel, fb->format->depth);
>  	}
>  
>  	/* Make sure we always show something. */
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
> index f42359084adc..38d7b8a2b78e 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
> @@ -598,7 +598,7 @@ static int do_dmabuf_define_gmrfb(struct vmw_private *dev_priv,
>  	struct vmw_dma_buffer *buf =
>  		container_of(framebuffer, struct vmw_framebuffer_dmabuf,
>  			     base)->buffer;
> -	int depth = framebuffer->base.depth;
> +	int depth = framebuffer->base.format->depth;
>  	struct {
>  		uint32_t header;
>  		SVGAFifoCmdDefineGMRFB body;
> diff --git a/include/drm/drm_framebuffer.h b/include/drm/drm_framebuffer.h
> index cdcfb86b3f74..9b9772998db6 100644
> --- a/include/drm/drm_framebuffer.h
> +++ b/include/drm/drm_framebuffer.h
> @@ -170,12 +170,6 @@ struct drm_framebuffer {
>  	 */
>  	unsigned int height;
>  	/**
> -	 * @depth: Depth in bits per pixel for RGB formats. 0 for everything
> -	 * else. Legacy information derived from @pixel_format, it's suggested to use
> -	 * the DRM FOURCC codes and helper functions directly instead.
> -	 */
> -	unsigned int depth;
> -	/**
>  	 * @bits_per_pixel: Storage used bits per pixel for RGB formats. 0 for
>  	 * everything else. Legacy information derived from @pixel_format, it's
>  	 * suggested to use the DRM FOURCC codes and helper functions directly
> -- 
> 2.7.4
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list