Commit 3bffd962 authored by Peter Rosin's avatar Peter Rosin Committed by Daniel Vetter

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

The redundant fb helpers .load_lut, .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-7-peda@axentia.se
parent 3bec23b2
...@@ -245,7 +245,6 @@ struct ast_connector { ...@@ -245,7 +245,6 @@ struct ast_connector {
struct ast_crtc { struct ast_crtc {
struct drm_crtc base; struct drm_crtc base;
u8 lut_r[256], lut_g[256], lut_b[256];
struct drm_gem_object *cursor_bo; struct drm_gem_object *cursor_bo;
uint64_t cursor_addr; uint64_t cursor_addr;
int cursor_width, cursor_height; int cursor_width, cursor_height;
......
...@@ -254,27 +254,7 @@ static int astfb_create(struct drm_fb_helper *helper, ...@@ -254,27 +254,7 @@ static int astfb_create(struct drm_fb_helper *helper,
return ret; return ret;
} }
static void ast_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green,
u16 blue, int regno)
{
struct ast_crtc *ast_crtc = to_ast_crtc(crtc);
ast_crtc->lut_r[regno] = red >> 8;
ast_crtc->lut_g[regno] = green >> 8;
ast_crtc->lut_b[regno] = blue >> 8;
}
static void ast_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green,
u16 *blue, int regno)
{
struct ast_crtc *ast_crtc = to_ast_crtc(crtc);
*red = ast_crtc->lut_r[regno] << 8;
*green = ast_crtc->lut_g[regno] << 8;
*blue = ast_crtc->lut_b[regno] << 8;
}
static const struct drm_fb_helper_funcs ast_fb_helper_funcs = { static const struct drm_fb_helper_funcs ast_fb_helper_funcs = {
.gamma_set = ast_fb_gamma_set,
.gamma_get = ast_fb_gamma_get,
.fb_probe = astfb_create, .fb_probe = astfb_create,
}; };
......
...@@ -63,15 +63,18 @@ static inline void ast_load_palette_index(struct ast_private *ast, ...@@ -63,15 +63,18 @@ static inline void ast_load_palette_index(struct ast_private *ast,
static void ast_crtc_load_lut(struct drm_crtc *crtc) static void ast_crtc_load_lut(struct drm_crtc *crtc)
{ {
struct ast_private *ast = crtc->dev->dev_private; struct ast_private *ast = crtc->dev->dev_private;
struct ast_crtc *ast_crtc = to_ast_crtc(crtc); u16 *r, *g, *b;
int i; int i;
if (!crtc->enabled) if (!crtc->enabled)
return; return;
r = crtc->gamma_store;
g = r + crtc->gamma_size;
b = g + crtc->gamma_size;
for (i = 0; i < 256; i++) for (i = 0; i < 256; i++)
ast_load_palette_index(ast, i, ast_crtc->lut_r[i], ast_load_palette_index(ast, i, *r++ >> 8, *g++ >> 8, *b++ >> 8);
ast_crtc->lut_g[i], ast_crtc->lut_b[i]);
} }
static bool ast_get_vbios_mode_info(struct drm_crtc *crtc, struct drm_display_mode *mode, static bool ast_get_vbios_mode_info(struct drm_crtc *crtc, struct drm_display_mode *mode,
...@@ -633,7 +636,6 @@ static const struct drm_crtc_helper_funcs ast_crtc_helper_funcs = { ...@@ -633,7 +636,6 @@ static const struct drm_crtc_helper_funcs ast_crtc_helper_funcs = {
.mode_set = ast_crtc_mode_set, .mode_set = ast_crtc_mode_set,
.mode_set_base = ast_crtc_mode_set_base, .mode_set_base = ast_crtc_mode_set_base,
.disable = ast_crtc_disable, .disable = ast_crtc_disable,
.load_lut = ast_crtc_load_lut,
.prepare = ast_crtc_prepare, .prepare = ast_crtc_prepare,
.commit = ast_crtc_commit, .commit = ast_crtc_commit,
...@@ -648,15 +650,6 @@ static int ast_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green, ...@@ -648,15 +650,6 @@ static int ast_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
u16 *blue, uint32_t size, u16 *blue, uint32_t size,
struct drm_modeset_acquire_ctx *ctx) struct drm_modeset_acquire_ctx *ctx)
{ {
struct ast_crtc *ast_crtc = to_ast_crtc(crtc);
int i;
/* userspace palettes are always correct as is */
for (i = 0; i < size; i++) {
ast_crtc->lut_r[i] = red[i] >> 8;
ast_crtc->lut_g[i] = green[i] >> 8;
ast_crtc->lut_b[i] = blue[i] >> 8;
}
ast_crtc_load_lut(crtc); ast_crtc_load_lut(crtc);
return 0; return 0;
...@@ -681,7 +674,6 @@ static const struct drm_crtc_funcs ast_crtc_funcs = { ...@@ -681,7 +674,6 @@ static const struct drm_crtc_funcs ast_crtc_funcs = {
static int ast_crtc_init(struct drm_device *dev) static int ast_crtc_init(struct drm_device *dev)
{ {
struct ast_crtc *crtc; struct ast_crtc *crtc;
int i;
crtc = kzalloc(sizeof(struct ast_crtc), GFP_KERNEL); crtc = kzalloc(sizeof(struct ast_crtc), GFP_KERNEL);
if (!crtc) if (!crtc)
...@@ -690,12 +682,6 @@ static int ast_crtc_init(struct drm_device *dev) ...@@ -690,12 +682,6 @@ static int ast_crtc_init(struct drm_device *dev)
drm_crtc_init(dev, &crtc->base, &ast_crtc_funcs); drm_crtc_init(dev, &crtc->base, &ast_crtc_funcs);
drm_mode_crtc_set_gamma_size(&crtc->base, 256); drm_mode_crtc_set_gamma_size(&crtc->base, 256);
drm_crtc_helper_add(&crtc->base, &ast_crtc_helper_funcs); drm_crtc_helper_add(&crtc->base, &ast_crtc_helper_funcs);
for (i = 0; i < 256; i++) {
crtc->lut_r[i] = i;
crtc->lut_g[i] = i;
crtc->lut_b[i] = i;
}
return 0; return 0;
} }
......
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