On 01/27/2012 05:47 AM, Jingoo Han wrote: > This patch adds alpha value width setting according to > transparency value of each window format, using BLENDCON > register. When alpha value is 8 bits, BLENDCON will set > alpha value width as 8 bits. > > Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Applied both patches of this series. Thanks, Florian Tobias Schandinat > --- > arch/arm/plat-samsung/include/plat/regs-fb.h | 6 ++++++ > drivers/video/s3c-fb.c | 18 ++++++++++++++++++ > 2 files changed, 24 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/plat-samsung/include/plat/regs-fb.h b/arch/arm/plat-samsung/include/plat/regs-fb.h > index 8f39aa5..6bf68ed 100644 > --- a/arch/arm/plat-samsung/include/plat/regs-fb.h > +++ b/arch/arm/plat-samsung/include/plat/regs-fb.h > @@ -384,3 +384,9 @@ > #define WPALCON_W0PAL_16BPP_A555 (0x5 << 0) > #define WPALCON_W0PAL_16BPP_565 (0x6 << 0) > > +/* Blending equation control */ > +#define BLENDCON (0x260) > +#define BLENDCON_NEW_MASK (1 << 0) > +#define BLENDCON_NEW_8BIT_ALPHA_VALUE (1 << 0) > +#define BLENDCON_NEW_4BIT_ALPHA_VALUE (0 << 0) > + > diff --git a/drivers/video/s3c-fb.c b/drivers/video/s3c-fb.c > index 0c63b69..e92be55 100644 > --- a/drivers/video/s3c-fb.c > +++ b/drivers/video/s3c-fb.c > @@ -81,6 +81,7 @@ struct s3c_fb; > * @palette: Address of palette memory, or 0 if none. > * @has_prtcon: Set if has PRTCON register. > * @has_shadowcon: Set if has SHADOWCON register. > + * @has_blendcon: Set if has BLENDCON register. > * @has_clksel: Set if VIDCON0 register has CLKSEL bit. > */ > struct s3c_fb_variant { > @@ -99,6 +100,7 @@ struct s3c_fb_variant { > > unsigned int has_prtcon:1; > unsigned int has_shadowcon:1; > + unsigned int has_blendcon:1; > unsigned int has_clksel:1; > }; > > @@ -692,6 +694,17 @@ static int s3c_fb_set_par(struct fb_info *info) > writel(data, regs + sfb->variant.wincon + (win_no * 4)); > writel(0x0, regs + sfb->variant.winmap + (win_no * 4)); > > + /* Set alpha value width */ > + if (sfb->variant.has_blendcon) { > + data = readl(sfb->regs + BLENDCON); > + data &= ~BLENDCON_NEW_MASK; > + if (var->transp.length > 4) > + data |= BLENDCON_NEW_8BIT_ALPHA_VALUE; > + else > + data |= BLENDCON_NEW_4BIT_ALPHA_VALUE; > + writel(data, sfb->regs + BLENDCON); > + } > + > shadow_protect_win(win, 0); > > pm_runtime_put_sync(sfb->dev); > @@ -1819,6 +1832,7 @@ static struct s3c_fb_driverdata s3c_fb_data_s5pc100 = { > }, > > .has_prtcon = 1, > + .has_blendcon = 1, > .has_clksel = 1, > }, > .win[0] = &s3c_fb_data_s5p_wins[0], > @@ -1850,6 +1864,7 @@ static struct s3c_fb_driverdata s3c_fb_data_s5pv210 = { > }, > > .has_shadowcon = 1, > + .has_blendcon = 1, > .has_clksel = 1, > }, > .win[0] = &s3c_fb_data_s5p_wins[0], > @@ -1881,6 +1896,7 @@ static struct s3c_fb_driverdata s3c_fb_data_exynos4 = { > }, > > .has_shadowcon = 1, > + .has_blendcon = 1, > }, > .win[0] = &s3c_fb_data_s5p_wins[0], > .win[1] = &s3c_fb_data_s5p_wins[1], > @@ -1944,6 +1960,8 @@ static struct s3c_fb_driverdata s3c_fb_data_s5p64x0 = { > [1] = 0x2800, > [2] = 0x2c00, > }, > + > + .has_blendcon = 1, > }, > .win[0] = &s3c_fb_data_s5p_wins[0], > .win[1] = &s3c_fb_data_s5p_wins[1], -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html