viafb: fix acceleration for some chips
Fix a regression in hardware acceleration which made the accelerated framebuffer unusable on some chips. These need extra initialization and an extra flag which is no longer needed/available on current chips. Signed-off-by: Erik-Jan Post <ej.lfs@xs4all.nl> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: Scott Fang <ScottFang@viatech.com.cn> Cc: Joseph Chan <JosephChan@via.com.tw> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
8a3a95c32f
commit
97922b5462
1 changed files with 4 additions and 1 deletions
|
@ -137,7 +137,7 @@ static int hw_bitblt_1(void __iomem *engine, u8 op, u32 width, u32 height,
|
|||
tmp, dst_pitch);
|
||||
return -EINVAL;
|
||||
}
|
||||
tmp = (tmp >> 3) | (dst_pitch << (16 - 3));
|
||||
tmp = VIA_PITCH_ENABLE | (tmp >> 3) | (dst_pitch << (16 - 3));
|
||||
writel(tmp, engine + 0x38);
|
||||
|
||||
if (op == VIA_BITBLT_FILL)
|
||||
|
@ -352,6 +352,9 @@ int viafb_init_engine(struct fb_info *info)
|
|||
viapar->shared->vq_vram_addr = viapar->fbmem_free;
|
||||
viapar->fbmem_used += VQ_SIZE;
|
||||
|
||||
/* Init 2D engine reg to reset 2D engine */
|
||||
writel(0x0, engine + VIA_REG_KEYCONTROL);
|
||||
|
||||
/* Init AGP and VQ regs */
|
||||
switch (chip_name) {
|
||||
case UNICHROME_K8M890:
|
||||
|
|
Loading…
Reference in a new issue