Commit 9e084a57 authored by Peter Rosin's avatar Peter Rosin Committed by Daniel Vetter

drm: gma500: remove dead code and pointless local lut storage

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.
Acked-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: default avatarPeter Rosin <peda@axentia.se>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20170713162538.22788-9-peda@axentia.se
parent 484512df
...@@ -479,26 +479,6 @@ static struct drm_framebuffer *psb_user_framebuffer_create ...@@ -479,26 +479,6 @@ static struct drm_framebuffer *psb_user_framebuffer_create
return psb_framebuffer_create(dev, cmd, r); 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, static int psbfb_probe(struct drm_fb_helper *helper,
struct drm_fb_helper_surface_size *sizes) struct drm_fb_helper_surface_size *sizes)
{ {
...@@ -525,8 +505,6 @@ static int psbfb_probe(struct drm_fb_helper *helper, ...@@ -525,8 +505,6 @@ static int psbfb_probe(struct drm_fb_helper *helper,
} }
static const struct drm_fb_helper_funcs psb_fb_helper_funcs = { 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, .fb_probe = psbfb_probe,
}; };
......
...@@ -144,33 +144,32 @@ void gma_crtc_load_lut(struct drm_crtc *crtc) ...@@ -144,33 +144,32 @@ void gma_crtc_load_lut(struct drm_crtc *crtc)
struct gma_crtc *gma_crtc = to_gma_crtc(crtc); struct gma_crtc *gma_crtc = to_gma_crtc(crtc);
const struct psb_offset *map = &dev_priv->regmap[gma_crtc->pipe]; const struct psb_offset *map = &dev_priv->regmap[gma_crtc->pipe];
int palreg = map->palette; int palreg = map->palette;
u16 *r, *g, *b;
int i; int i;
/* The clocks have to be on to load the palette. */ /* The clocks have to be on to load the palette. */
if (!crtc->enabled) if (!crtc->enabled)
return; return;
r = crtc->gamma_store;
g = r + crtc->gamma_size;
b = g + crtc->gamma_size;
if (gma_power_begin(dev, false)) { if (gma_power_begin(dev, false)) {
for (i = 0; i < 256; i++) { for (i = 0; i < 256; i++) {
REG_WRITE(palreg + 4 * i, REG_WRITE(palreg + 4 * i,
((gma_crtc->lut_r[i] + (((*r++ >> 8) + gma_crtc->lut_adj[i]) << 16) |
gma_crtc->lut_adj[i]) << 16) | (((*g++ >> 8) + gma_crtc->lut_adj[i]) << 8) |
((gma_crtc->lut_g[i] + ((*b++ >> 8) + gma_crtc->lut_adj[i]));
gma_crtc->lut_adj[i]) << 8) |
(gma_crtc->lut_b[i] +
gma_crtc->lut_adj[i]));
} }
gma_power_end(dev); gma_power_end(dev);
} else { } else {
for (i = 0; i < 256; i++) { for (i = 0; i < 256; i++) {
/* FIXME: Why pipe[0] and not pipe[..._crtc->pipe]? */ /* FIXME: Why pipe[0] and not pipe[..._crtc->pipe]? */
dev_priv->regs.pipe[0].palette[i] = dev_priv->regs.pipe[0].palette[i] =
((gma_crtc->lut_r[i] + (((*r++ >> 8) + gma_crtc->lut_adj[i]) << 16) |
gma_crtc->lut_adj[i]) << 16) | (((*g++ >> 8) + gma_crtc->lut_adj[i]) << 8) |
((gma_crtc->lut_g[i] + ((*b++ >> 8) + gma_crtc->lut_adj[i]);
gma_crtc->lut_adj[i]) << 8) |
(gma_crtc->lut_b[i] +
gma_crtc->lut_adj[i]);
} }
} }
...@@ -180,15 +179,6 @@ int gma_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green, u16 *blue, ...@@ -180,15 +179,6 @@ int gma_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green, u16 *blue,
u32 size, u32 size,
struct drm_modeset_acquire_ctx *ctx) 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); gma_crtc_load_lut(crtc);
return 0; return 0;
......
...@@ -518,13 +518,8 @@ void psb_intel_crtc_init(struct drm_device *dev, int pipe, ...@@ -518,13 +518,8 @@ void psb_intel_crtc_init(struct drm_device *dev, int pipe,
gma_crtc->pipe = pipe; gma_crtc->pipe = pipe;
gma_crtc->plane = pipe; gma_crtc->plane = pipe;
for (i = 0; i < 256; i++) { for (i = 0; i < 256; i++)
gma_crtc->lut_r[i] = i;
gma_crtc->lut_g[i] = i;
gma_crtc->lut_b[i] = i;
gma_crtc->lut_adj[i] = 0; gma_crtc->lut_adj[i] = 0;
}
gma_crtc->mode_dev = mode_dev; gma_crtc->mode_dev = mode_dev;
gma_crtc->cursor_addr = 0; gma_crtc->cursor_addr = 0;
......
...@@ -172,7 +172,6 @@ struct gma_crtc { ...@@ -172,7 +172,6 @@ struct gma_crtc {
int plane; int plane;
uint32_t cursor_addr; uint32_t cursor_addr;
struct gtt_range *cursor_gt; struct gtt_range *cursor_gt;
u8 lut_r[256], lut_g[256], lut_b[256];
u8 lut_adj[256]; u8 lut_adj[256];
struct psb_intel_framebuffer *fbdev_fb; struct psb_intel_framebuffer *fbdev_fb;
/* a mode_set for fbdev users on this crtc */ /* a mode_set for fbdev users on this crtc */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment