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>, "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>, 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 05/11] dmr: gma500: remove dead code and pointless local lut storage Date: Tue, 20 Jun 2017 21:25:29 +0200 [thread overview] Message-ID: <1497986735-14418-6-git-send-email-peda@axentia.se> (raw) In-Reply-To: <1497986735-14418-1-git-send-email-peda@axentia.se> The redundant fb helpers .gamma_set and .gamma_get are no longer used. Remove the dead code and hook up the crtc .gamma_set to use the crtc gamma_store directly instead of duplicating that info locally. It is a bit strange that the fb helper .load_lut was not hooked up, so this change may well make the driver work for the C8 mode from the fbdev interface. But that is untested. Signed-off-by: Peter Rosin <peda@axentia.se> --- 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 - 4 files changed, 12 insertions(+), 50 deletions(-) diff --git a/drivers/gpu/drm/gma500/framebuffer.c b/drivers/gpu/drm/gma500/framebuffer.c index 7da70b6..2570c7f 100644 --- a/drivers/gpu/drm/gma500/framebuffer.c +++ b/drivers/gpu/drm/gma500/framebuffer.c @@ -479,26 +479,6 @@ static struct drm_framebuffer *psb_user_framebuffer_create return psb_framebuffer_create(dev, cmd, r); } -static void psbfb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, - u16 blue, int regno) -{ - struct gma_crtc *gma_crtc = to_gma_crtc(crtc); - - gma_crtc->lut_r[regno] = red >> 8; - gma_crtc->lut_g[regno] = green >> 8; - gma_crtc->lut_b[regno] = blue >> 8; -} - -static void psbfb_gamma_get(struct drm_crtc *crtc, u16 *red, - u16 *green, u16 *blue, int regno) -{ - struct gma_crtc *gma_crtc = to_gma_crtc(crtc); - - *red = gma_crtc->lut_r[regno] << 8; - *green = gma_crtc->lut_g[regno] << 8; - *blue = gma_crtc->lut_b[regno] << 8; -} - static int psbfb_probe(struct drm_fb_helper *helper, struct drm_fb_helper_surface_size *sizes) { @@ -525,8 +505,6 @@ static int psbfb_probe(struct drm_fb_helper *helper, } static const struct drm_fb_helper_funcs psb_fb_helper_funcs = { - .gamma_set = psbfb_gamma_set, - .gamma_get = psbfb_gamma_get, .fb_probe = psbfb_probe, }; diff --git a/drivers/gpu/drm/gma500/gma_display.c b/drivers/gpu/drm/gma500/gma_display.c index e7fd356..f3c48a2 100644 --- a/drivers/gpu/drm/gma500/gma_display.c +++ b/drivers/gpu/drm/gma500/gma_display.c @@ -144,33 +144,32 @@ void gma_crtc_load_lut(struct drm_crtc *crtc) struct gma_crtc *gma_crtc = to_gma_crtc(crtc); const struct psb_offset *map = &dev_priv->regmap[gma_crtc->pipe]; int palreg = map->palette; + u16 *r, *g, *b; int i; /* The clocks have to be on to load the palette. */ if (!crtc->enabled) return; + r = crtc->gamma_store; + g = r + crtc->gamma_size; + b = g + crtc->gamma_size; + if (gma_power_begin(dev, false)) { for (i = 0; i < 256; i++) { REG_WRITE(palreg + 4 * i, - ((gma_crtc->lut_r[i] + - gma_crtc->lut_adj[i]) << 16) | - ((gma_crtc->lut_g[i] + - gma_crtc->lut_adj[i]) << 8) | - (gma_crtc->lut_b[i] + - gma_crtc->lut_adj[i])); + (((*r++ >> 8) + gma_crtc->lut_adj[i]) << 16) | + (((*g++ >> 8) + gma_crtc->lut_adj[i]) << 8) | + ((*b++ >> 8) + gma_crtc->lut_adj[i])); } gma_power_end(dev); } else { for (i = 0; i < 256; i++) { /* FIXME: Why pipe[0] and not pipe[..._crtc->pipe]? */ dev_priv->regs.pipe[0].palette[i] = - ((gma_crtc->lut_r[i] + - gma_crtc->lut_adj[i]) << 16) | - ((gma_crtc->lut_g[i] + - gma_crtc->lut_adj[i]) << 8) | - (gma_crtc->lut_b[i] + - gma_crtc->lut_adj[i]); + (((*r++ >> 8) + gma_crtc->lut_adj[i]) << 16) | + (((*g++ >> 8) + gma_crtc->lut_adj[i]) << 8) | + ((*b++ >> 8) + gma_crtc->lut_adj[i]); } } @@ -180,15 +179,6 @@ int gma_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green, u16 *blue, u32 size, struct drm_modeset_acquire_ctx *ctx) { - struct gma_crtc *gma_crtc = to_gma_crtc(crtc); - int i; - - for (i = 0; i < size; i++) { - gma_crtc->lut_r[i] = red[i] >> 8; - gma_crtc->lut_g[i] = green[i] >> 8; - gma_crtc->lut_b[i] = blue[i] >> 8; - } - gma_crtc_load_lut(crtc); return 0; diff --git a/drivers/gpu/drm/gma500/psb_intel_display.c b/drivers/gpu/drm/gma500/psb_intel_display.c index 7b6c849..8762efa 100644 --- a/drivers/gpu/drm/gma500/psb_intel_display.c +++ b/drivers/gpu/drm/gma500/psb_intel_display.c @@ -518,13 +518,8 @@ void psb_intel_crtc_init(struct drm_device *dev, int pipe, gma_crtc->pipe = pipe; gma_crtc->plane = pipe; - for (i = 0; i < 256; i++) { - gma_crtc->lut_r[i] = i; - gma_crtc->lut_g[i] = i; - gma_crtc->lut_b[i] = i; - + for (i = 0; i < 256; i++) gma_crtc->lut_adj[i] = 0; - } gma_crtc->mode_dev = mode_dev; gma_crtc->cursor_addr = 0; diff --git a/drivers/gpu/drm/gma500/psb_intel_drv.h b/drivers/gpu/drm/gma500/psb_intel_drv.h index 6a10215..e8e4ea1 100644 --- a/drivers/gpu/drm/gma500/psb_intel_drv.h +++ b/drivers/gpu/drm/gma500/psb_intel_drv.h @@ -172,7 +172,6 @@ struct gma_crtc { int plane; uint32_t cursor_addr; struct gtt_range *cursor_gt; - u8 lut_r[256], lut_g[256], lut_b[256]; u8 lut_adj[256]; struct psb_intel_framebuffer *fbdev_fb; /* a mode_set for fbdev users on this crtc */ -- 2.1.4
WARNING: multiple messages have this Message-ID (diff)
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>, "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>, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org, intel-gfx@lists.freedesktop.org, nouveau@lis Subject: [PATCH 05/11] dmr: gma500: remove dead code and pointless local lut storage Date: Tue, 20 Jun 2017 21:25:29 +0200 [thread overview] Message-ID: <1497986735-14418-6-git-send-email-peda@axentia.se> (raw) In-Reply-To: <1497986735-14418-1-git-send-email-peda@axentia.se> The redundant fb helpers .gamma_set and .gamma_get are no longer used. Remove the dead code and hook up the crtc .gamma_set to use the crtc gamma_store directly instead of duplicating that info locally. It is a bit strange that the fb helper .load_lut was not hooked up, so this change may well make the driver work for the C8 mode from the fbdev interface. But that is untested. Signed-off-by: Peter Rosin <peda@axentia.se> --- 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 - 4 files changed, 12 insertions(+), 50 deletions(-) diff --git a/drivers/gpu/drm/gma500/framebuffer.c b/drivers/gpu/drm/gma500/framebuffer.c index 7da70b6..2570c7f 100644 --- a/drivers/gpu/drm/gma500/framebuffer.c +++ b/drivers/gpu/drm/gma500/framebuffer.c @@ -479,26 +479,6 @@ static struct drm_framebuffer *psb_user_framebuffer_create return psb_framebuffer_create(dev, cmd, r); } -static void psbfb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, - u16 blue, int regno) -{ - struct gma_crtc *gma_crtc = to_gma_crtc(crtc); - - gma_crtc->lut_r[regno] = red >> 8; - gma_crtc->lut_g[regno] = green >> 8; - gma_crtc->lut_b[regno] = blue >> 8; -} - -static void psbfb_gamma_get(struct drm_crtc *crtc, u16 *red, - u16 *green, u16 *blue, int regno) -{ - struct gma_crtc *gma_crtc = to_gma_crtc(crtc); - - *red = gma_crtc->lut_r[regno] << 8; - *green = gma_crtc->lut_g[regno] << 8; - *blue = gma_crtc->lut_b[regno] << 8; -} - static int psbfb_probe(struct drm_fb_helper *helper, struct drm_fb_helper_surface_size *sizes) { @@ -525,8 +505,6 @@ static int psbfb_probe(struct drm_fb_helper *helper, } static const struct drm_fb_helper_funcs psb_fb_helper_funcs = { - .gamma_set = psbfb_gamma_set, - .gamma_get = psbfb_gamma_get, .fb_probe = psbfb_probe, }; diff --git a/drivers/gpu/drm/gma500/gma_display.c b/drivers/gpu/drm/gma500/gma_display.c index e7fd356..f3c48a2 100644 --- a/drivers/gpu/drm/gma500/gma_display.c +++ b/drivers/gpu/drm/gma500/gma_display.c @@ -144,33 +144,32 @@ void gma_crtc_load_lut(struct drm_crtc *crtc) struct gma_crtc *gma_crtc = to_gma_crtc(crtc); const struct psb_offset *map = &dev_priv->regmap[gma_crtc->pipe]; int palreg = map->palette; + u16 *r, *g, *b; int i; /* The clocks have to be on to load the palette. */ if (!crtc->enabled) return; + r = crtc->gamma_store; + g = r + crtc->gamma_size; + b = g + crtc->gamma_size; + if (gma_power_begin(dev, false)) { for (i = 0; i < 256; i++) { REG_WRITE(palreg + 4 * i, - ((gma_crtc->lut_r[i] + - gma_crtc->lut_adj[i]) << 16) | - ((gma_crtc->lut_g[i] + - gma_crtc->lut_adj[i]) << 8) | - (gma_crtc->lut_b[i] + - gma_crtc->lut_adj[i])); + (((*r++ >> 8) + gma_crtc->lut_adj[i]) << 16) | + (((*g++ >> 8) + gma_crtc->lut_adj[i]) << 8) | + ((*b++ >> 8) + gma_crtc->lut_adj[i])); } gma_power_end(dev); } else { for (i = 0; i < 256; i++) { /* FIXME: Why pipe[0] and not pipe[..._crtc->pipe]? */ dev_priv->regs.pipe[0].palette[i] = - ((gma_crtc->lut_r[i] + - gma_crtc->lut_adj[i]) << 16) | - ((gma_crtc->lut_g[i] + - gma_crtc->lut_adj[i]) << 8) | - (gma_crtc->lut_b[i] + - gma_crtc->lut_adj[i]); + (((*r++ >> 8) + gma_crtc->lut_adj[i]) << 16) | + (((*g++ >> 8) + gma_crtc->lut_adj[i]) << 8) | + ((*b++ >> 8) + gma_crtc->lut_adj[i]); } } @@ -180,15 +179,6 @@ int gma_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green, u16 *blue, u32 size, struct drm_modeset_acquire_ctx *ctx) { - struct gma_crtc *gma_crtc = to_gma_crtc(crtc); - int i; - - for (i = 0; i < size; i++) { - gma_crtc->lut_r[i] = red[i] >> 8; - gma_crtc->lut_g[i] = green[i] >> 8; - gma_crtc->lut_b[i] = blue[i] >> 8; - } - gma_crtc_load_lut(crtc); return 0; diff --git a/drivers/gpu/drm/gma500/psb_intel_display.c b/drivers/gpu/drm/gma500/psb_intel_display.c index 7b6c849..8762efa 100644 --- a/drivers/gpu/drm/gma500/psb_intel_display.c +++ b/drivers/gpu/drm/gma500/psb_intel_display.c @@ -518,13 +518,8 @@ void psb_intel_crtc_init(struct drm_device *dev, int pipe, gma_crtc->pipe = pipe; gma_crtc->plane = pipe; - for (i = 0; i < 256; i++) { - gma_crtc->lut_r[i] = i; - gma_crtc->lut_g[i] = i; - gma_crtc->lut_b[i] = i; - + for (i = 0; i < 256; i++) gma_crtc->lut_adj[i] = 0; - } gma_crtc->mode_dev = mode_dev; gma_crtc->cursor_addr = 0; diff --git a/drivers/gpu/drm/gma500/psb_intel_drv.h b/drivers/gpu/drm/gma500/psb_intel_drv.h index 6a10215..e8e4ea1 100644 --- a/drivers/gpu/drm/gma500/psb_intel_drv.h +++ b/drivers/gpu/drm/gma500/psb_intel_drv.h @@ -172,7 +172,6 @@ struct gma_crtc { int plane; uint32_t cursor_addr; struct gtt_range *cursor_gt; - u8 lut_r[256], lut_g[256], lut_b[256]; u8 lut_adj[256]; struct psb_intel_framebuffer *fbdev_fb; /* a mode_set for fbdev users on this crtc */ -- 2.1.4
next prev parent reply other threads:[~2017-06-20 19:25 UTC|newest] Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-06-20 19:25 [PATCH 00/11] improve the fb_setcmap helper Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` [PATCH 01/11] drm/fb-helper: do a generic fb_setcmap helper in terms of crtc .gamma_set Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-21 7:38 ` Daniel Vetter 2017-06-21 7:38 ` Daniel Vetter 2017-06-21 7:38 ` Daniel Vetter 2017-06-21 7:59 ` Michel Dänzer 2017-06-21 7:59 ` Michel Dänzer 2017-06-21 8:14 ` [Nouveau] " Daniel Vetter 2017-06-21 8:14 ` Daniel Vetter 2017-06-21 8:14 ` Daniel Vetter 2017-06-21 8:36 ` [Nouveau] " Michel Dänzer 2017-06-21 8:36 ` Michel Dänzer 2017-06-21 8:36 ` Michel Dänzer 2017-06-21 8:36 ` [Nouveau] [PATCH 01/11] drm/fb-helper: do a generic fb_setcmap helper in terms of crtc .gamma_se Michel Dänzer 2017-06-21 7:59 ` [PATCH 01/11] drm/fb-helper: do a generic fb_setcmap helper in terms of crtc .gamma_set Michel Dänzer 2017-06-21 9:40 ` Peter Rosin 2017-06-21 9:40 ` Peter Rosin 2017-06-22 6:36 ` Daniel Vetter 2017-06-22 6:36 ` Daniel Vetter 2017-06-22 6:36 ` Daniel Vetter 2017-06-22 8:48 ` Peter Rosin 2017-06-23 8:40 ` Daniel Vetter 2017-06-23 8:40 ` Daniel Vetter 2017-06-23 8:40 ` Daniel Vetter 2017-06-22 8:48 ` Peter Rosin 2017-06-20 19:25 ` [PATCH 02/11] drm: amd: remove dead code and pointless local lut storage Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` [PATCH 03/11] drm: ast: " Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` [PATCH 04/11] drm: cirrus: " Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` [PATCH 05/11] dmr: gma500: " Peter Rosin 2017-06-20 19:25 ` Peter Rosin [this message] 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` [PATCH 06/11] drm: i915: " Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` [PATCH 07/11] drm: mgag200: " Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` [PATCH 08/11] drm: nouveau: " Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-21 10:35 ` Peter Rosin 2017-06-21 10:35 ` Peter Rosin 2017-06-21 10:35 ` Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` [PATCH 09/11] drm: radeon: " Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` [PATCH 10/11] drm: stm: " Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-20 19:25 ` [PATCH 11/11] drm: remove unused and redundant callbacks Peter Rosin 2017-06-20 19:25 ` Peter Rosin 2017-06-21 16:34 ` kbuild test robot 2017-06-21 16:34 ` kbuild test robot 2017-06-22 6:37 ` Daniel Vetter 2017-06-22 6:37 ` Daniel Vetter 2017-06-22 7:13 ` Boris Brezillon 2017-06-22 7:13 ` Boris Brezillon 2017-06-22 7:13 ` Boris Brezillon 2017-06-22 6:37 ` Daniel Vetter 2017-06-21 16:34 ` kbuild test robot 2017-06-20 19:25 ` Peter Rosin 2017-06-21 7:40 ` [PATCH 00/11] improve the fb_setcmap helper Daniel Vetter 2017-06-21 7:40 ` Daniel Vetter 2017-06-21 7:40 ` Daniel Vetter 2017-06-23 11:07 ` ✗ Fi.CI.BAT: failure for improve the fb_setcmap helper (rev4) Patchwork
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=1497986735-14418-6-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=intel-gfx@lists.freedesktop.org \ --cc=jani.nikula@linux.intel.com \ --cc=kraxel@redhat.com \ --cc=linux-kernel@vger.kernel.org \ --cc=nouveau@lists.freedesktop.org \ --cc=patrik.r.jakobsson@gmail.com \ --cc=philippe.cornu@st.com \ --cc=seanpaul@chromium.org \ --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: linkBe 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.