From: ville.syrjala@linux.intel.com
To: dri-devel@lists.freedesktop.org
Cc: "Thomas Hellstrom" <thellstrom@vmware.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Paulo Zanoni" <paulo.r.zanoni@intel.com>,
"Liviu Dudau" <liviu.dudau@arm.com>,
intel-gfx@lists.freedesktop.org,
"Alexey Brodkin" <abrodkin@synopsys.com>,
linux-graphics-maintainer@vmware.com,
"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
"Mali DP Maintainers" <malidp@foss.arm.com>,
"Alex Deucher" <alexander.deucher@amd.com>,
"Dave Airlie" <airlied@redhat.com>,
"Christian König" <christian.koenig@amd.com>,
"Ben Skeggs" <bskeggs@redhat.com>
Subject: [PATCH 00/32] drm: Deduplicate fb format information
Date: Thu, 17 Nov 2016 18:13:59 +0200 [thread overview]
Message-ID: <1479399271-31991-1-git-send-email-ville.syrjala@linux.intel.com> (raw)
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
next reply other threads:[~2016-11-17 16:13 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-17 16:13 ville.syrjala [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1479399271-31991-1-git-send-email-ville.syrjala@linux.intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=abrodkin@synopsys.com \
--cc=airlied@redhat.com \
--cc=alexander.deucher@amd.com \
--cc=bskeggs@redhat.com \
--cc=christian.koenig@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=kraxel@redhat.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-graphics-maintainer@vmware.com \
--cc=liviu.dudau@arm.com \
--cc=malidp@foss.arm.com \
--cc=paulo.r.zanoni@intel.com \
--cc=thellstrom@vmware.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.