From: Peter Rosin <peda@axentia.se>
To: linux-kernel@vger.kernel.org
Cc: "Peter Rosin" <peda@axentia.se>,
"Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"David Airlie" <airlied@linux.ie>,
"Russell King" <linux@armlinux.org.uk>,
"Dave Airlie" <airlied@redhat.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Daniel Vetter" <daniel.vetter@intel.com>,
"Jani Nikula" <jani.nikula@linux.intel.com>,
"Sean Paul" <seanpaul@chromium.org>,
"Patrik Jakobsson" <patrik.r.jakobsson@gmail.com>,
"Ben Skeggs" <bskeggs@redhat.com>,
"Yannick Fertre" <yannick.fertre@st.com>,
"Philippe Cornu" <philippe.cornu@st.com>,
"Benjamin Gaignard" <benjamin.gaignard@linaro.org>,
"Vincent Abriou" <vincent.abriou@st.com>,
"Eric Anholt" <eric@anholt.net>,
"VMware Graphics" <linux-graphics-maintainer@vmware.com>,
"Sinclair Yeh" <syeh@vmware.com>,
"Thomas Hellstrom" <thellstrom@vmware.com>,
amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
virtualization@lists.linux-foundation.org,
intel-gfx@lists.freedesktop.org, nouveau@lists.freedesktop.org,
"Boris Brezillon" <boris.brezillon@free-electrons.com>
Subject: [PATCH v3 00/16] improve the fb_setcmap helper
Date: Tue, 4 Jul 2017 12:36:56 +0200 [thread overview]
Message-ID: <1499164632-5582-1-git-send-email-peda@axentia.se> (raw)
Hi!
While trying to get CLUT support for the atmel_hlcdc driver, and
specifically for the emulated fbdev interface, I received some
push-back that my feeble in-driver attempts should be solved
by the core. This is my attempt to do it right.
I have obviously not tested all of this with more than a compile,
but patches 1 through 5 are enough to make the atmel-hlcdc driver
do what I need. The rest is just lots of removals and cleanup made
possible by the improved core.
Please test, I would not be surprised if I have fouled up some
bit-manipulation somewhere, or if I have misunderstood something
about atomics...
Changes since v2:
- Added patch 1/16 which factors out pseudo-palette handling.
- Removed the if (cmap->start + cmap->len < cmap->start)
sanity check on the assumption that the fbdev core handles it.
- Added patch 4/16 which factors out atomic state and commit
handling from drm_atomic_helper_legacy_gamma_set to
drm_mode_gamma_set_ioctl.
- Do one atomic commit for all affected crtc.
- Removed a now obsolete note in include/drm/drm_crtc.h (ammended
the last patch).
- Cc list is getting long, so I have redused the list for the
individual patches. If you would like to get the full series
(or nothing at all) for the next round (if that is needed) just
say so.
Changes since v1:
- Rebased to next-20170621
- Split 1/11 into a preparatory patch, a cleanup patch and then
the meat in 3/14.
- Handle pseudo-palette for FB_VISUAL_TRUECOLOR.
- Removed the empty .gamma_get/.gamma_set fb helpers from the
armada driver that I had somehow managed to ignore but which
0day found real quick.
- Be less judgemental on drivers only providing .gamma_get and
.gamma_set, but no .load_lut. That's actually a valid thing
to do if you only need pseudo-palette for FB_VISUAL_TRUECOLOR.
- Add a comment about colliding bitfields in the nouveau driver.
- Remove gamma_set/gamma_get declarations from the radeon driver
(the definitions were removed in v1).
Cheers,
peda
Peter Rosin (16):
drm/fb-helper: factor out pseudo-palette
drm/fb-helper: keep the .gamma_store updated in drm_fb_helper_setcmap
drm/fb-helper: remove drm_fb_helper_save_lut_atomic
drm/color-mgmt: move atomic state/commit out from .gamma_set
drm/fb-helper: do a generic fb_setcmap helper in terms of crtc
.gamma_set
drm: amd: remove dead code and pointless local lut storage
drm: armada: remove dead empty functions
drm: ast: remove dead code and pointless local lut storage
drm: cirrus: remove dead code and pointless local lut storage
drm: gma500: remove dead code and pointless local lut storage
drm: i915: remove dead code and pointless local lut storage
drm: mgag200: remove dead code and pointless local lut storage
drm: nouveau: remove dead code and pointless local lut storage
drm: radeon: remove dead code and pointless local lut storage
drm: stm: remove dead code and pointless local lut storage
drm: remove unused and redundant callbacks
drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 24 ----
drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 1 -
drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 29 ++---
drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 29 ++---
drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 29 ++---
drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 29 ++---
drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 25 +---
drivers/gpu/drm/armada/armada_crtc.c | 10 --
drivers/gpu/drm/armada/armada_crtc.h | 2 -
drivers/gpu/drm/armada/armada_fbdev.c | 2 -
drivers/gpu/drm/ast/ast_drv.h | 1 -
drivers/gpu/drm/ast/ast_fb.c | 20 ---
drivers/gpu/drm/ast/ast_mode.c | 28 +---
drivers/gpu/drm/cirrus/cirrus_drv.h | 8 --
drivers/gpu/drm/cirrus/cirrus_fbdev.c | 2 -
drivers/gpu/drm/cirrus/cirrus_mode.c | 73 +++--------
drivers/gpu/drm/drm_atomic_helper.c | 37 ++----
drivers/gpu/drm/drm_color_mgmt.c | 27 +++-
drivers/gpu/drm/drm_fb_helper.c | 195 +++++++++++++++++-----------
drivers/gpu/drm/gma500/framebuffer.c | 22 ----
drivers/gpu/drm/gma500/gma_display.c | 34 ++---
drivers/gpu/drm/gma500/gma_display.h | 2 +-
drivers/gpu/drm/gma500/psb_intel_display.c | 7 +-
drivers/gpu/drm/gma500/psb_intel_drv.h | 1 -
drivers/gpu/drm/i915/intel_drv.h | 1 -
drivers/gpu/drm/i915/intel_fbdev.c | 31 -----
drivers/gpu/drm/mgag200/mgag200_drv.h | 5 -
drivers/gpu/drm/mgag200/mgag200_fb.c | 2 -
drivers/gpu/drm/mgag200/mgag200_mode.c | 64 +++------
drivers/gpu/drm/nouveau/dispnv04/crtc.c | 28 ++--
drivers/gpu/drm/nouveau/nouveau_crtc.h | 3 -
drivers/gpu/drm/nouveau/nouveau_fbcon.c | 22 ----
drivers/gpu/drm/nouveau/nv50_display.c | 42 ++----
drivers/gpu/drm/radeon/atombios_crtc.c | 1 -
drivers/gpu/drm/radeon/radeon_connectors.c | 7 +-
drivers/gpu/drm/radeon/radeon_display.c | 73 +++++------
drivers/gpu/drm/radeon/radeon_fb.c | 2 -
drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 1 -
drivers/gpu/drm/radeon/radeon_mode.h | 4 -
drivers/gpu/drm/stm/ltdc.c | 12 --
drivers/gpu/drm/stm/ltdc.h | 1 -
drivers/gpu/drm/vc4/vc4_crtc.c | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_kms.h | 2 +-
include/drm/drm_atomic_helper.h | 2 +-
include/drm/drm_crtc.h | 11 +-
include/drm/drm_fb_helper.h | 32 -----
include/drm/drm_modeset_helper_vtables.h | 16 ---
48 files changed, 301 insertions(+), 702 deletions(-)
--
2.1.4
next reply other threads:[~2017-07-04 10:40 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-04 10:36 Peter Rosin [this message]
2017-07-04 10:36 ` [PATCH v3 01/16] drm/fb-helper: factor out pseudo-palette Peter Rosin
2017-07-04 10:40 ` Peter Rosin
2017-07-05 6:03 ` Daniel Vetter
2017-07-04 10:36 ` [PATCH v3 02/16] drm/fb-helper: keep the .gamma_store updated in drm_fb_helper_setcmap Peter Rosin
2017-07-04 10:36 ` [PATCH v3 03/16] drm/fb-helper: remove drm_fb_helper_save_lut_atomic Peter Rosin
2017-07-06 8:37 ` Daniel Vetter
2017-07-04 10:37 ` [PATCH v3 04/16] drm/color-mgmt: move atomic state/commit out from .gamma_set Peter Rosin
2017-07-04 10:37 ` [PATCH v3 05/16] drm/fb-helper: do a generic fb_setcmap helper in terms of crtc .gamma_set Peter Rosin
2017-07-05 6:21 ` Daniel Vetter
2017-07-05 17:50 ` Peter Rosin
2017-07-06 5:55 ` Daniel Vetter
2017-07-06 6:18 ` Peter Rosin
2017-07-06 8:34 ` Daniel Vetter
2017-07-04 10:37 ` [PATCH v3 06/16] drm: amd: remove dead code and pointless local lut storage Peter Rosin
2017-07-04 10:37 ` [PATCH v3 07/16] drm: armada: remove dead empty functions Peter Rosin
2017-07-04 10:37 ` [PATCH v3 08/16] drm: ast: remove dead code and pointless local lut storage Peter Rosin
2017-07-04 10:37 ` [PATCH v3 09/16] drm: cirrus: " Peter Rosin
2017-07-04 10:37 ` [PATCH v3 10/16] drm: gma500: " Peter Rosin
2017-07-04 10:37 ` [PATCH v3 11/16] drm: i915: " Peter Rosin
2017-07-04 10:37 ` [PATCH v3 12/16] drm: mgag200: " Peter Rosin
2017-07-04 10:37 ` [PATCH v3 13/16] drm: nouveau: " Peter Rosin
2017-07-04 10:37 ` [PATCH v3 14/16] drm: radeon: " Peter Rosin
2017-07-04 10:37 ` [PATCH v3 15/16] drm: stm: " Peter Rosin
2017-07-04 10:37 ` [PATCH v3 16/16] drm: remove unused and redundant callbacks Peter Rosin
2017-07-05 6:08 ` [Intel-gfx] [PATCH v3 00/16] improve the fb_setcmap helper Daniel Vetter
2017-07-05 8:09 ` Peter Rosin
2017-07-05 20:19 ` Daniel Vetter
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=1499164632-5582-1-git-send-email-peda@axentia.se \
--to=peda@axentia.se \
--cc=airlied@linux.ie \
--cc=airlied@redhat.com \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=benjamin.gaignard@linaro.org \
--cc=boris.brezillon@free-electrons.com \
--cc=bskeggs@redhat.com \
--cc=christian.koenig@amd.com \
--cc=daniel.vetter@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=eric@anholt.net \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
--cc=kraxel@redhat.com \
--cc=linux-graphics-maintainer@vmware.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=nouveau@lists.freedesktop.org \
--cc=patrik.r.jakobsson@gmail.com \
--cc=philippe.cornu@st.com \
--cc=seanpaul@chromium.org \
--cc=syeh@vmware.com \
--cc=thellstrom@vmware.com \
--cc=vincent.abriou@st.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=yannick.fertre@st.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®