All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/32] drm: Deduplicate fb format information
@ 2016-11-17 16:13 ville.syrjala
  2016-11-17 16:14 ` [PATCH 01/32] drm/i915: Add local 'fb' variables ville.syrjala
                   ` (31 more replies)
  0 siblings, 32 replies; 52+ messages in thread
From: ville.syrjala @ 2016-11-17 16:13 UTC (permalink / raw)
  To: dri-devel
  Cc: Thomas Hellstrom, Gerd Hoffmann, Paulo Zanoni, Liviu Dudau,
	intel-gfx, Alexey Brodkin, linux-graphics-maintainer,
	Laurent Pinchart, Mali DP Maintainers, Alex Deucher, Dave Airlie,
	Christian König, Ben Skeggs

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

This series aims to remove the duplicated format information stored under
drm_framebuffer (depth,bits_per_pixel,pixel_format), and instead we just
use the drm_format_info structure. And we store a pointer to the approriate
drm_format_info under drm_framebuffer so that we don't have to do expensive
linear searches through the big array.

Quite of bit of this was cocci magic, and I've tried to keep the cocci
patches pure of manual tinkering in case someone needs to rerun them.
I had some issues with cocci behaving like an idiot, so I've included
a bunch of hand rolled patches up front to make life easier for it.

I've smoke tested this on i915, and compile tested on everything else
(I hope).

Entire series available here:
git://github.com/vsyrjala/linux.git fb_format_dedup

Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Brian Starkey <brian.starkey@arm.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: intel-gfx@lists.freedesktop.org
Cc: linux-graphics-maintainer@vmware.com
Cc: Liviu Dudau <liviu.dudau@arm.com>
Cc: Mali DP Maintainers <malidp@foss.arm.com>
Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Sinclair Yeh <syeh@vmware.com>
Cc: Thomas Hellstrom <thellstrom@vmware.com>

Ville Syrjälä (32):
  drm/i915: Add local 'fb' variables
  drm/radeon: Add local 'fb' variables
  drm/radeon: Use DIV_ROUND_UP()
  drm/mgag200: Add local 'fb' variable
  drm/ast: Add local 'fb' variables
  drm/gma500: Add some local 'fb' variables
  drm/cirrus: Add some local 'fb' variables
  drm/arcpgu: Add local 'fb' variables
  drm/arm: Add local 'fb' variables
  drm/nouveau: Fix crtc->primary->fb vs. drm_fb fail
  drm/nouveau: Add local 'fb' variables
  drm/vmwgfx: Populate fb->dev before drm_framebuffer_init()
  drm: Pass 'dev' to drm_helper_mode_fill_fb_struct()
  drm/vmwgfx: Populate fb->pixel_format
  drm/qxl: Call drm_helper_mode_fill_fb_struct() before
    drm_framebuffer_init()
  drm/virtio: Call drm_helper_mode_fill_fb_struct() before
    drm_framebuffer_init()
  drm/i915: Set fb->dev early on for inherited fbs
  drm: Populate fb->dev from drm_helper_mode_fill_fb_struct()
  drm: Store a pointer to drm_format_info under drm_framebuffer
  drm/vmwgfx: Populate fb->format correctly
  drm/i915: Populate fb->format early for inherited fbs
  drm/atomic: Replace drm_format_num_planes() with
    fb->format->num_planes
  drm/fb_cma_helper: Replace drm_format_info() with fb->format
  drm/nouveau: Use fb->format rather than drm_format_info()
  drm/i915: Store a pointer to the pixel format info for fbc
  drm/i915: Replace drm_format_plane_cpp() with fb->format->cpp[]
  drm/i915: Replace drm_format_num_planes() with fb->format->num_planes
  drm: Add drm_framebuffer_plane_{width,height}()
  drm/i915: Use drm_framebuffer_plane_{width,height}() where possible
  drm: Nuke fb->depth
  drm: Nuke fb->bits_per_pixel
  drm: Nuke fb->pixel_format

 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c     |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c          |  4 +-
 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c          |  6 +-
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c          |  6 +-
 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c           |  6 +-
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c           |  6 +-
 drivers/gpu/drm/arc/arcpgu_crtc.c               |  3 +-
 drivers/gpu/drm/arm/hdlcd_crtc.c                | 18 +++---
 drivers/gpu/drm/arm/malidp_planes.c             | 10 ++--
 drivers/gpu/drm/armada/armada_crtc.c            |  6 +-
 drivers/gpu/drm/armada/armada_fb.c              |  2 +-
 drivers/gpu/drm/armada/armada_fbdev.c           |  5 +-
 drivers/gpu/drm/armada/armada_overlay.c         |  2 +-
 drivers/gpu/drm/ast/ast_fb.c                    |  4 +-
 drivers/gpu/drm/ast/ast_main.c                  |  2 +-
 drivers/gpu/drm/ast/ast_mode.c                  | 16 +++--
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.c |  2 +-
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 22 +++----
 drivers/gpu/drm/bochs/bochs_fbdev.c             |  2 +-
 drivers/gpu/drm/bochs/bochs_mm.c                |  2 +-
 drivers/gpu/drm/cirrus/cirrus_fbdev.c           |  6 +-
 drivers/gpu/drm/cirrus/cirrus_main.c            |  2 +-
 drivers/gpu/drm/cirrus/cirrus_mode.c            |  9 +--
 drivers/gpu/drm/drm_atomic.c                    |  8 +--
 drivers/gpu/drm/drm_crtc.c                      |  4 +-
 drivers/gpu/drm/drm_crtc_helper.c               |  4 +-
 drivers/gpu/drm/drm_fb_cma_helper.c             | 11 ++--
 drivers/gpu/drm/drm_fb_helper.c                 | 10 ++--
 drivers/gpu/drm/drm_framebuffer.c               | 53 ++++++++++++++++-
 drivers/gpu/drm/drm_modeset_helper.c            | 11 ++--
 drivers/gpu/drm/drm_plane.c                     |  6 +-
 drivers/gpu/drm/exynos/exynos5433_drm_decon.c   |  6 +-
 drivers/gpu/drm/exynos/exynos7_drm_decon.c      |  8 +--
 drivers/gpu/drm/exynos/exynos_drm_fb.c          |  2 +-
 drivers/gpu/drm/exynos/exynos_drm_fbdev.c       |  6 +-
 drivers/gpu/drm/exynos/exynos_drm_fimd.c        |  4 +-
 drivers/gpu/drm/exynos/exynos_mixer.c           | 12 ++--
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c     |  4 +-
 drivers/gpu/drm/gma500/accel_2d.c               |  2 +-
 drivers/gpu/drm/gma500/framebuffer.c            |  6 +-
 drivers/gpu/drm/gma500/gma_display.c            | 13 +++--
 drivers/gpu/drm/gma500/mdfld_intel_display.c    | 17 +++---
 drivers/gpu/drm/gma500/oaktrail_crtc.c          | 13 +++--
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c |  6 +-
 drivers/gpu/drm/i915/i915_debugfs.c             | 11 ++--
 drivers/gpu/drm/i915/i915_drv.h                 |  4 +-
 drivers/gpu/drm/i915/intel_atomic_plane.c       |  4 +-
 drivers/gpu/drm/i915/intel_display.c            | 78 +++++++++++++------------
 drivers/gpu/drm/i915/intel_fbc.c                | 14 ++---
 drivers/gpu/drm/i915/intel_fbdev.c              | 10 ++--
 drivers/gpu/drm/i915/intel_overlay.c            | 26 ++++-----
 drivers/gpu/drm/i915/intel_pm.c                 | 52 ++++++++---------
 drivers/gpu/drm/i915/intel_sprite.c             | 14 ++---
 drivers/gpu/drm/imx/ipuv3-plane.c               | 40 ++++++-------
 drivers/gpu/drm/mediatek/mtk_drm_fb.c           |  2 +-
 drivers/gpu/drm/mediatek/mtk_drm_plane.c        |  2 +-
 drivers/gpu/drm/mgag200/mgag200_fb.c            |  4 +-
 drivers/gpu/drm/mgag200/mgag200_main.c          |  2 +-
 drivers/gpu/drm/mgag200/mgag200_mode.c          | 23 ++++----
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c       |  2 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c       |  4 +-
 drivers/gpu/drm/msm/msm_fb.c                    | 12 ++--
 drivers/gpu/drm/msm/msm_fbdev.c                 |  2 +-
 drivers/gpu/drm/nouveau/dispnv04/crtc.c         | 17 +++---
 drivers/gpu/drm/nouveau/dispnv04/dfp.c          |  3 +-
 drivers/gpu/drm/nouveau/dispnv04/overlay.c      |  8 +--
 drivers/gpu/drm/nouveau/nouveau_display.c       |  4 +-
 drivers/gpu/drm/nouveau/nouveau_fbcon.c         |  3 +-
 drivers/gpu/drm/nouveau/nv50_display.c          | 14 ++---
 drivers/gpu/drm/omapdrm/omap_fb.c               | 12 ++--
 drivers/gpu/drm/omapdrm/omap_fbdev.c            |  2 +-
 drivers/gpu/drm/qxl/qxl_display.c               |  2 +-
 drivers/gpu/drm/qxl/qxl_draw.c                  |  2 +-
 drivers/gpu/drm/qxl/qxl_fb.c                    |  5 +-
 drivers/gpu/drm/radeon/atombios_crtc.c          | 19 +++---
 drivers/gpu/drm/radeon/r100.c                   | 10 +++-
 drivers/gpu/drm/radeon/radeon_display.c         |  8 +--
 drivers/gpu/drm/radeon/radeon_fb.c              |  4 +-
 drivers/gpu/drm/radeon/radeon_legacy_crtc.c     | 16 ++---
 drivers/gpu/drm/rcar-du/rcar_du_plane.c         |  4 +-
 drivers/gpu/drm/rcar-du/rcar_du_vsp.c           |  4 +-
 drivers/gpu/drm/rockchip/rockchip_drm_fb.c      |  2 +-
 drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c   |  5 +-
 drivers/gpu/drm/rockchip/rockchip_drm_vop.c     | 22 +++----
 drivers/gpu/drm/shmobile/shmob_drm_crtc.c       |  6 +-
 drivers/gpu/drm/shmobile/shmob_drm_plane.c      |  4 +-
 drivers/gpu/drm/sti/sti_gdp.c                   | 10 ++--
 drivers/gpu/drm/sti/sti_hqvdp.c                 |  2 +-
 drivers/gpu/drm/sun4i/sun4i_backend.c           |  5 +-
 drivers/gpu/drm/tegra/dc.c                      |  8 +--
 drivers/gpu/drm/tegra/drm.c                     |  5 +-
 drivers/gpu/drm/tegra/fb.c                      |  6 +-
 drivers/gpu/drm/tilcdc/tilcdc_crtc.c            |  4 +-
 drivers/gpu/drm/tilcdc/tilcdc_plane.c           |  4 +-
 drivers/gpu/drm/udl/udl_fb.c                    |  6 +-
 drivers/gpu/drm/vc4/vc4_plane.c                 |  6 +-
 drivers/gpu/drm/virtio/virtgpu_display.c        |  3 +-
 drivers/gpu/drm/virtio/virtgpu_fb.c             |  4 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_fb.c              | 13 +++--
 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c             | 29 +++++++--
 drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c             |  5 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c            |  4 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c            |  2 +-
 drivers/gpu/drm/zte/zx_plane.c                  |  2 +-
 include/drm/drm_framebuffer.h                   | 27 ++++-----
 include/drm/drm_modeset_helper.h                |  3 +-
 106 files changed, 532 insertions(+), 447 deletions(-)

-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 52+ messages in thread

end of thread, other threads:[~2016-11-17 19:27 UTC | newest]

Thread overview: 52+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-17 16:13 [PATCH 00/32] drm: Deduplicate fb format information ville.syrjala
2016-11-17 16:14 ` [PATCH 01/32] drm/i915: Add local 'fb' variables ville.syrjala
2016-11-17 16:14 ` [PATCH 02/32] drm/radeon: " ville.syrjala
2016-11-17 17:21   ` Alex Deucher
2016-11-17 16:14 ` [PATCH 03/32] drm/radeon: Use DIV_ROUND_UP() ville.syrjala
2016-11-17 17:22   ` Alex Deucher
2016-11-17 16:14 ` [PATCH 04/32] drm/mgag200: Add local 'fb' variable ville.syrjala
2016-11-17 16:14 ` [PATCH 05/32] drm/ast: Add local 'fb' variables ville.syrjala
2016-11-17 16:14 ` [PATCH 06/32] drm/gma500: Add some " ville.syrjala
2016-11-17 16:14 ` [PATCH 07/32] drm/cirrus: " ville.syrjala
2016-11-17 16:14 ` [PATCH 08/32] drm/arcpgu: Add " ville.syrjala
2016-11-17 16:14 ` [PATCH 09/32] drm/arm: " ville.syrjala
2016-11-17 16:14 ` [PATCH 10/32] drm/nouveau: Fix crtc->primary->fb vs. drm_fb fail ville.syrjala
2016-11-17 16:14 ` [PATCH 11/32] drm/nouveau: Add local 'fb' variables ville.syrjala
2016-11-17 16:14 ` [PATCH 12/32] drm/vmwgfx: Populate fb->dev before drm_framebuffer_init() ville.syrjala
2016-11-17 16:14 ` [PATCH 13/32] drm: Pass 'dev' to drm_helper_mode_fill_fb_struct() ville.syrjala
2016-11-17 17:41   ` Laurent Pinchart
2016-11-17 16:14 ` [PATCH 14/32] drm/vmwgfx: Populate fb->pixel_format ville.syrjala
2016-11-17 17:52   ` Laurent Pinchart
2016-11-17 19:27     ` Ville Syrjälä
2016-11-17 16:14 ` [PATCH 15/32] drm/qxl: Call drm_helper_mode_fill_fb_struct() before drm_framebuffer_init() ville.syrjala
2016-11-17 16:14 ` [PATCH 16/32] drm/virtio: " ville.syrjala
2016-11-17 16:14 ` [PATCH 17/32] drm/i915: Set fb->dev early on for inherited fbs ville.syrjala
2016-11-17 16:14 ` [PATCH 18/32] drm: Populate fb->dev from drm_helper_mode_fill_fb_struct() ville.syrjala
2016-11-17 17:43   ` Laurent Pinchart
2016-11-17 16:14 ` [PATCH 19/32] drm: Store a pointer to drm_format_info under drm_framebuffer ville.syrjala
2016-11-17 17:57   ` Laurent Pinchart
2016-11-17 18:06     ` Ville Syrjälä
2016-11-17 18:13       ` Ville Syrjälä
2016-11-17 18:16         ` Laurent Pinchart
2016-11-17 16:14 ` [PATCH 20/32] drm/vmwgfx: Populate fb->format correctly ville.syrjala
2016-11-17 16:14 ` [PATCH 21/32] drm/i915: Populate fb->format early for inherited fbs ville.syrjala
2016-11-17 16:14 ` [PATCH 22/32] drm/atomic: Replace drm_format_num_planes() with fb->format->num_planes ville.syrjala
2016-11-17 17:58   ` Laurent Pinchart
2016-11-17 16:14 ` [PATCH 23/32] drm/fb_cma_helper: Replace drm_format_info() with fb->format ville.syrjala
2016-11-17 17:58   ` Laurent Pinchart
2016-11-17 16:14 ` [PATCH 24/32] drm/nouveau: Use fb->format rather than drm_format_info() ville.syrjala
2016-11-17 16:14 ` [PATCH 25/32] drm/i915: Store a pointer to the pixel format info for fbc ville.syrjala
2016-11-17 16:14 ` [PATCH 26/32] drm/i915: Replace drm_format_plane_cpp() with fb->format->cpp[] ville.syrjala
2016-11-17 16:14 ` [PATCH 27/32] drm/i915: Replace drm_format_num_planes() with fb->format->num_planes ville.syrjala
2016-11-17 16:14 ` [PATCH 28/32] drm: Add drm_framebuffer_plane_{width,height}() ville.syrjala
2016-11-17 16:14 ` [PATCH 29/32] drm/i915: Use drm_framebuffer_plane_{width, height}() where possible ville.syrjala
2016-11-17 16:14 ` [PATCH 30/32] drm: Nuke fb->depth ville.syrjala
2016-11-17 18:03   ` Laurent Pinchart
2016-11-17 16:14 ` [PATCH 31/32] drm: Nuke fb->bits_per_pixel ville.syrjala
2016-11-17 18:14   ` Laurent Pinchart
2016-11-17 18:35     ` Ville Syrjälä
2016-11-17 18:41       ` Laurent Pinchart
2016-11-17 19:18   ` [PATCH v2 " ville.syrjala
2016-11-17 16:14 ` [PATCH 32/32] drm: Nuke fb->pixel_format ville.syrjala
2016-11-17 17:37   ` Alex Deucher
2016-11-17 18:39   ` Laurent Pinchart

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.