Skip to content

Commit

Permalink
tridentfb: register should be left in non-locked state
Browse files Browse the repository at this point in the history
Remove locking registers after they are unlocked during switch to/from MMIO
mode.  This fixes regression on the Blade3D (Trident 9880) caused by the
previous patch (probe fixes).

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Krzysztof Helt authored and Linus Torvalds committed Mar 11, 2008
1 parent e84290d commit 3acd9d4
Showing 1 changed file with 0 additions and 12 deletions.
12 changes: 0 additions & 12 deletions drivers/video/tridentfb.c
Original file line number Diff line number Diff line change
Expand Up @@ -566,44 +566,32 @@ static inline void write3CE(int reg, unsigned char val)

static void enable_mmio(void)
{
unsigned char tmp;

/* Goto New Mode */
outb(0x0B, 0x3C4);
inb(0x3C5);

/* Unprotect registers */
outb(NewMode1, 0x3C4);
tmp = inb(0x3C5);
outb(0x80, 0x3C5);

/* Enable MMIO */
outb(PCIReg, 0x3D4);
outb(inb(0x3D5) | 0x01, 0x3D5);

t_outb(NewMode1, 0x3C4);
t_outb(tmp, 0x3C5);
}

static void disable_mmio(void)
{
unsigned char tmp;

/* Goto New Mode */
t_outb(0x0B, 0x3C4);
t_inb(0x3C5);

/* Unprotect registers */
t_outb(NewMode1, 0x3C4);
tmp = t_inb(0x3C5);
t_outb(0x80, 0x3C5);

/* Disable MMIO */
t_outb(PCIReg, 0x3D4);
t_outb(t_inb(0x3D5) & ~0x01, 0x3D5);

outb(NewMode1, 0x3C4);
outb(tmp, 0x3C5);
}

#define crtc_unlock() write3X4(CRTVSyncEnd, read3X4(CRTVSyncEnd) & 0x7F)
Expand Down

0 comments on commit 3acd9d4

Please sign in to comment.