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: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Peter Rosin <peda@axentia.se> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20170713162538.22788-9-peda@axentia.se
This commit is contained in:
Родитель
484512df1a
Коммит
9e084a5778
|
@ -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,
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 */
|
||||
|
|
Загрузка…
Ссылка в новой задаче