linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/14] improve the fb_setcmap helper
@ 2017-06-22  6:06 Peter Rosin
  2017-06-22  6:06 ` [PATCH v2 01/14] drm/fb-helper: keep the .gamma_store updated in drm_fb_helper_setcmap Peter Rosin
                   ` (14 more replies)
  0 siblings, 15 replies; 28+ messages in thread
From: Peter Rosin @ 2017-06-22  6:06 UTC (permalink / raw)
  To: linux-kernel
  Cc: Peter Rosin, Alex Deucher, Christian König, David Airlie,
	Russell King, Dave Airlie, Gerd Hoffmann, Daniel Vetter,
	Jani Nikula, Sean Paul, Patrik Jakobsson, Ben Skeggs,
	Yannick Fertre, Philippe Cornu, Benjamin Gaignard,
	Vincent Abriou, amd-gfx, dri-devel, virtualization, intel-gfx,
	nouveau, Boris Brezillon

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 and 3 are enough to make the atmel-hlcdc driver
do what I need (when patched to support CLUT modes). 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 in this mostly mechanical change...

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 (14):
  drm/fb-helper: keep the .gamma_store updated in drm_fb_helper_setcmap
  drm/fb-helper: remove drm_fb_helper_save_lut_atomic
  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      |  27 ++---
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c      |  27 ++---
 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c       |  27 ++---
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c       |  27 ++---
 drivers/gpu/drm/amd/amdgpu/dce_virtual.c    |  23 ----
 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              |  26 +----
 drivers/gpu/drm/cirrus/cirrus_drv.h         |   8 --
 drivers/gpu/drm/cirrus/cirrus_fbdev.c       |   2 -
 drivers/gpu/drm/cirrus/cirrus_mode.c        |  71 +++---------
 drivers/gpu/drm/drm_fb_helper.c             | 164 +++++++++++++---------------
 drivers/gpu/drm/gma500/framebuffer.c        |  22 ----
 drivers/gpu/drm/gma500/gma_display.c        |  32 ++----
 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      |  62 +++--------
 drivers/gpu/drm/nouveau/dispnv04/crtc.c     |  26 ++---
 drivers/gpu/drm/nouveau/nouveau_crtc.h      |   3 -
 drivers/gpu/drm/nouveau/nouveau_fbcon.c     |  22 ----
 drivers/gpu/drm/nouveau/nv50_display.c      |  40 +++----
 drivers/gpu/drm/radeon/atombios_crtc.c      |   1 -
 drivers/gpu/drm/radeon/radeon_connectors.c  |   7 +-
 drivers/gpu/drm/radeon/radeon_display.c     |  71 +++++-------
 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 -
 include/drm/drm_fb_helper.h                 |  32 ------
 include/drm/drm_modeset_helper_vtables.h    |  16 ---
 40 files changed, 205 insertions(+), 658 deletions(-)

-- 
2.1.4

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

end of thread, other threads:[~2017-06-27  7:20 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-22  6:06 [PATCH v2 00/14] improve the fb_setcmap helper Peter Rosin
2017-06-22  6:06 ` [PATCH v2 01/14] drm/fb-helper: keep the .gamma_store updated in drm_fb_helper_setcmap Peter Rosin
2017-06-22 10:17   ` Peter Rosin
2017-06-26  9:27   ` Daniel Vetter
2017-06-22  6:06 ` [PATCH v2 02/14] drm/fb-helper: remove drm_fb_helper_save_lut_atomic Peter Rosin
2017-06-26  9:18   ` Daniel Vetter
2017-06-22  6:06 ` [PATCH v2 03/14] drm/fb-helper: do a generic fb_setcmap helper in terms of crtc .gamma_set Peter Rosin
2017-06-22 10:22   ` Peter Rosin
2017-06-26  9:30     ` Daniel Vetter
2017-06-26  9:23   ` Daniel Vetter
2017-06-22  6:06 ` [PATCH v2 04/14] drm: amd: remove dead code and pointless local lut storage Peter Rosin
2017-06-22  6:06 ` [PATCH v2 05/14] drm: armada: remove dead empty functions Peter Rosin
2017-06-22  6:06 ` [PATCH v2 06/14] drm: ast: remove dead code and pointless local lut storage Peter Rosin
2017-06-22  6:06 ` [PATCH v2 07/14] drm: cirrus: " Peter Rosin
2017-06-22  6:06 ` [PATCH v2 08/14] drm: gma500: " Peter Rosin
2017-06-22  6:06 ` [PATCH v2 09/14] drm: i915: " Peter Rosin
2017-06-22  6:06 ` [PATCH v2 10/14] drm: mgag200: " Peter Rosin
2017-06-22  6:06 ` [PATCH v2 11/14] drm: nouveau: " Peter Rosin
2017-06-22  6:06 ` [PATCH v2 12/14] drm: radeon: " Peter Rosin
2017-06-22  6:06 ` [PATCH v2 13/14] drm: stm: " Peter Rosin
2017-06-22 11:49   ` Philippe CORNU
2017-06-23  5:29     ` Peter Rosin
2017-06-23  9:35     ` [Intel-gfx] " Daniel Vetter
2017-06-22  6:06 ` [PATCH v2 14/14] drm: remove unused and redundant callbacks Peter Rosin
2017-06-26  9:35 ` [PATCH v2 00/14] improve the fb_setcmap helper Daniel Vetter
2017-06-26 19:13   ` Peter Rosin
2017-06-26 19:50     ` Dave Airlie
2017-06-27  7:19       ` [Nouveau] " Daniel Vetter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).