drm/sun4i: Rework DE2 register defines
Most, if not all, registers found in DE2 still exists in DE3. However, units are on different base addresses. To prepare for addition of DE3 support, registers macros are reworked so they take base address as parameter. Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net> [rebased] Signed-off-by: Icenowy Zheng <icenowy@aosc.io> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Link: https://patchwork.freedesktop.org/patch/msgid/20181104182705.18047-10-jernej.skrabec@siol.net
Šī revīzija ir iekļauta:

revīziju iesūtīja
Maxime Ripard

vecāks
fb3ef54246
revīzija
4b09c07383
@@ -368,6 +368,7 @@ static int sun8i_mixer_bind(struct device *dev, struct device *master,
|
||||
struct sun8i_mixer *mixer;
|
||||
struct resource *res;
|
||||
void __iomem *regs;
|
||||
unsigned int base;
|
||||
int plane_cnt;
|
||||
int i, ret;
|
||||
|
||||
@@ -456,6 +457,8 @@ static int sun8i_mixer_bind(struct device *dev, struct device *master,
|
||||
|
||||
list_add_tail(&mixer->engine.list, &drv->engine_list);
|
||||
|
||||
base = sun8i_blender_base(mixer);
|
||||
|
||||
/* Reset the registers */
|
||||
for (i = 0x0; i < 0x20000; i += 4)
|
||||
regmap_write(mixer->engine.regs, i, 0);
|
||||
@@ -465,24 +468,25 @@ static int sun8i_mixer_bind(struct device *dev, struct device *master,
|
||||
SUN8I_MIXER_GLOBAL_CTL_RT_EN);
|
||||
|
||||
/* Set background color to black */
|
||||
regmap_write(mixer->engine.regs, SUN8I_MIXER_BLEND_BKCOLOR,
|
||||
regmap_write(mixer->engine.regs, SUN8I_MIXER_BLEND_BKCOLOR(base),
|
||||
SUN8I_MIXER_BLEND_COLOR_BLACK);
|
||||
|
||||
/*
|
||||
* Set fill color of bottom plane to black. Generally not needed
|
||||
* except when VI plane is at bottom (zpos = 0) and enabled.
|
||||
*/
|
||||
regmap_write(mixer->engine.regs, SUN8I_MIXER_BLEND_PIPE_CTL,
|
||||
regmap_write(mixer->engine.regs, SUN8I_MIXER_BLEND_PIPE_CTL(base),
|
||||
SUN8I_MIXER_BLEND_PIPE_CTL_FC_EN(0));
|
||||
regmap_write(mixer->engine.regs, SUN8I_MIXER_BLEND_ATTR_FCOLOR(0),
|
||||
regmap_write(mixer->engine.regs, SUN8I_MIXER_BLEND_ATTR_FCOLOR(base, 0),
|
||||
SUN8I_MIXER_BLEND_COLOR_BLACK);
|
||||
|
||||
plane_cnt = mixer->cfg->vi_num + mixer->cfg->ui_num;
|
||||
for (i = 0; i < plane_cnt; i++)
|
||||
regmap_write(mixer->engine.regs, SUN8I_MIXER_BLEND_MODE(i),
|
||||
regmap_write(mixer->engine.regs,
|
||||
SUN8I_MIXER_BLEND_MODE(base, i),
|
||||
SUN8I_MIXER_BLEND_MODE_DEF);
|
||||
|
||||
regmap_update_bits(mixer->engine.regs, SUN8I_MIXER_BLEND_PIPE_CTL,
|
||||
regmap_update_bits(mixer->engine.regs, SUN8I_MIXER_BLEND_PIPE_CTL(base),
|
||||
SUN8I_MIXER_BLEND_PIPE_CTL_EN_MSK, 0);
|
||||
|
||||
return 0;
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user