2003-07-20 05:29:49

by Kris Karas

[permalink] [raw]
Subject: Radeon in LK 2.4.21pre7

Ben, Ani, et al,

Just tried Linux kernels 2.4.21pre6 and pre7 with my Radeon 8500LEE and
have had some dreadful corruption problems related to pixel clearing
during scroll and ypan. This is probably old news to you; so <aol>me
too</aol>. I first noticed this in the -ac kernels, but a variant is
now in mainline -pre.

Problem #1: When scrolling, radeonfb fails to erase the portion of the
screen at the bottom, leaving all sorts of random pixels in the bottom
line. Further scrolling propagates these pixels upwards.
See http://enterprise.bidmc.harvard.edu/~ktk/temp/radeonfb/screen-1.jpg
(Sorry for camera-shake; hand-held in dim room...)

Problem #2: When one VC has scrolled up some number of lines, causing
it to display somewhere in the middle of its virtual Y buffer, and you
switch consoles to one that is still displaying from some other Y-start
value, the screen tends to redraw itself in an odd location (not at the
bottom) thus leaving large portions as they were from the previous VC.
See: http://enterprise.bidmc.harvard.edu/~ktk/temp/radeonfb/screen-2.jpg

Problem #3: Possibly a side-effect of problem #2, when switching VCs
via Alt-<F1...Fn> the new VC often fails to appear. The cursor
disappears, but the screen remains as it was. Hitting <Enter> to scroll
the screen has no effect. Interestingly, pressing <Alt>-<SysRQ>-? to
get a magic-sysrq help line restores the screen to operation, and it
displays all further output normally. This occurs perhaps 50% of the
time.

Workaround #1: Setting vyres == yres causes the aforementioned issues
to go away. However, it also takes accelerated scrolling with it.
# fbset -vyres 10240
# time locate xine
[lots of screen output]

real 0m0.935s
# fbset -vyres 1024
# time locate xine
[lots of screen output]

real 0m2.548s
#

Problem #4: I think this was already reported. But when running X,
switching to a text console (with <Ctrl>-<Alt>-<F1...Fn>) results in
complete corruption of the output.

HTH,
Kris Karas

P.S. Hardware is an ATI brand Radeon 8500 LEE:
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon QL (prog-if 00 [VGA])
Subsystem: ATI Technologies Inc Radeon 8500
Flags: bus master, stepping, 66Mhz, medium devsel, latency 255, IRQ 11
Memory at e0000000 (32-bit, prefetchable) [size=128M]
I/O ports at c000 [size=256]
Memory at ed000000 (32-bit, non-prefetchable) [size=64K]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: [58] AGP version 2.0
Capabilities: [50] Power Management version 2



2003-07-20 20:13:58

by Lars Ehrhardt

[permalink] [raw]
Subject: Re: Radeon in LK 2.4.21pre7

Hi,

Kristofer T. Karas wrote:

> (...)
> Problem #4: I think this was already reported. But when running X,
> switching to a text console (with <Ctrl>-<Alt>-<F1...Fn>) results in
> complete corruption of the output.

Yes, I can confirm that this problem is still present in 2.4.21-bk14.
See http://www.cs.helsinki.fi/linux/linux-kernel/2003-28/0165.html
for the details of my hardware.

Will this be fixed before 2.4.22 comes out?

bye lars

2003-07-22 12:40:28

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: Radeon in LK 2.4.21pre7

On Sun, 2003-07-20 at 07:43, Kristofer T. Karas wrote:
> Ben, Ani, et al,
>
> Just tried Linux kernels 2.4.21pre6 and pre7 with my Radeon 8500LEE and
> have had some dreadful corruption problems related to pixel clearing
> during scroll and ypan. This is probably old news to you; so <aol>me
> too</aol>. I first noticed this in the -ac kernels, but a variant is
> now in mainline -pre.
>
> Problem #1: When scrolling, radeonfb fails to erase the portion of the
> screen at the bottom, leaving all sorts of random pixels in the bottom
> line. Further scrolling propagates these pixels upwards.
> See http://enterprise.bidmc.harvard.edu/~ktk/temp/radeonfb/screen-1.jpg
> (Sorry for camera-shake; hand-held in dim room...)

This looks like erase not working properly... This usually happens
after switching back from X as X tends to leave some garbage in some
engine registers, and is usually cured by switching to another console
(this is why I tend to force-reinit the accel engine on console switch).

Since your problem seem to not depend on XFree, I suspect something
else hairy is going on with the engine, I don't know what yet though,
I'll try to find some clue.

In the meantime, can you send me a dmesg output ?

Thanks,
Ben.

2003-07-25 01:49:16

by Kris Karas

[permalink] [raw]
Subject: Re: Radeon in LK 2.4.21pre7

Linux version 2.4.22-pre7 (root@ktkhome) (gcc version 2.95.3 20010315 (release)) #1 Sat Jul 19 22:13:46 EDT 2003
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000001fff0000 (usable)
BIOS-e820: 000000001fff0000 - 000000001fff3000 (ACPI NVS)
BIOS-e820: 000000001fff3000 - 0000000020000000 (ACPI data)
BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
511MB LOWMEM available.
ACPI: have wakeup address 0xc0001000
On node 0 totalpages: 131056
zone(0): 4096 pages.
zone(1): 126960 pages.
zone(2): 0 pages.
ACPI: RSDP (v000 VIA694 ) @ 0x000f67c0
ACPI: RSDT (v001 VIA694 AWRDACPI 16944.11825) @ 0x1fff3000
ACPI: FADT (v001 VIA694 AWRDACPI 16944.11825) @ 0x1fff3040
ACPI: DSDT (v001 VIA694 AWRDACPI 00000.04096) @ 0x00000000
ACPI: BIOS passes blacklist
ACPI: MADT not present
Kernel command line: BOOT_IMAGE=N22p7 ro root=301 reboot=warm hdc=ide-scsi video=radeonfb:1280x1024-8@85
ide_setup: hdc=ide-scsi
Local APIC disabled by BIOS -- reenabling.
Found and enabled local APIC!
Initializing CPU#0
Detected 1477.531 MHz processor.
Console: colour VGA+ 80x50
Calibrating delay loop... 2949.12 BogoMIPS
Memory: 515656k/524224k available (1551k kernel code, 8180k reserved, 594k data, 108k init, 0k highmem)
Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)
Inode cache hash table entries: 32768 (order: 6, 262144 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 32768 (order: 5, 131072 bytes)
Page-cache hash table entries: 131072 (order: 7, 524288 bytes)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 256K (64 bytes/line)
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: After generic, caps: 0383fbff c1cbfbff 00000000 00000000
CPU: Common caps: 0383fbff c1cbfbff 00000000 00000000
CPU: AMD Athlon(tm) XP 1700+ stepping 02
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 1477.4883 MHz.
..... host bus clock speed is 268.6340 MHz.
cpu: 0, clocks: 2686340, slice: 1343170
CPU0<T0:2686336,T1:1343152,D:14,S:1343170,C:2686340>
mtrr: v1.40 (20010327) Richard Gooch ([email protected])
mtrr: detected mtrr type: Intel
ACPI: Subsystem revision 20030619
PCI: PCI BIOS revision 2.10 entry at 0xfb260, last bus=1
PCI: Using configuration type 1
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: System [ACPI] (supports S0 S1 S4 S5)
ACPI: PCI Root Bridge [PCI0] (00:00)
PCI: Probing PCI hardware (bus 00)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 7 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 *5 6 7 10 11 12 14 15)
PCI: Probing PCI hardware
PCI: Using ACPI for IRQ routing
PCI: if you experience problems, try using option 'pci=noacpi' or even 'acpi=off'
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
Journalled Block Device driver loaded
devfs: v1.12c (20020818) Richard Gooch ([email protected])
devfs: boot_options: 0x1
radeonfb: ref_clk=2700, ref_div=12, xclk=23000 from BIOS
Console: switching to colour frame buffer device 53x21
radeonfb: ATI Radeon 8500 QL DDR SGRAM 64 MB
radeonfb: DVI port no monitor connected
radeonfb: CRT port CRT monitor connected
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
Real Time Clock Driver v1.10e
Non-volatile memory driver v1.2
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
8139too Fast Ethernet driver 0.9.26
eth0: RealTek RTL8139 Fast Ethernet at 0xe4819000, 00:c0:26:6f:2a:34, IRQ 5
eth0: Identified 8139 chip type 'RTL-8139C'
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 439M
agpgart: Detected Via Apollo Pro KT266 chipset
agpgart: AGP aperture is 64M @ 0xe8000000
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: IDE controller at PCI slot 00:11.1
VP_IDE: chipset revision 6
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA vt8233 (rev 00) IDE UDMA100 controller on pci00:11.1
ide0: BM-DMA at 0xd400-0xd407, BIOS settings: hda:DMA, hdb:DMA
ide1: BM-DMA at 0xd408-0xd40f, BIOS settings: hdc:pio, hdd:pio
hda: IC35L120AVV207-1, ATA DISK drive
hdb: CD-W524E, ATAPI CD/DVD-ROM drive
blk: queue c0363f40, I/O limit 4095Mb (mask 0xffffffff)
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: attached ide-disk driver.
hda: host protected area => 1
hda: 241254720 sectors (123522 MB) w/7965KiB Cache, CHS=15017/255/63, UDMA(100)
hdb: attached ide-cdrom driver.
hdb: ATAPI 40X CD-ROM CD-R/RW drive, 1404kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.12
Partition check:
/dev/ide/host0/bus0/target0/lun0: p1 p2 p3 p4 < p5 p6 p7 p8 >
SCSI subsystem driver Revision: 1.00
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
ehci_hcd 00:09.2: NEC Corporation USB 2.0
ehci_hcd 00:09.2: irq 5, pci mem e4835000
usb.c: new USB bus registered, assigned bus number 1
PCI: 00:09.2 PCI cache line size set incorrectly (32 bytes) by BIOS/FW.
PCI: 00:09.2 PCI cache line size corrected to 64.
ehci_hcd 00:09.2: USB 2.0 enabled, EHCI 0.95, driver 2003-Jun-19/2.4
hub.c: USB hub found
hub.c: 5 ports detected
host/usb-uhci.c: $Revision: 1.275 $ time 22:15:54 Jul 19 2003
host/usb-uhci.c: High bandwidth mode enabled
host/usb-uhci.c: USB UHCI at I/O 0xd800, IRQ 5
host/usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found
hub.c: 2 ports detected
host/usb-uhci.c: USB UHCI at I/O 0xdc00, IRQ 5
host/usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 3
hub.c: USB hub found
hub.c: 2 ports detected
host/usb-uhci.c: USB UHCI at I/O 0xe000, IRQ 5
host/usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 4
hub.c: USB hub found
hub.c: 2 ports detected
host/usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
host/usb-ohci.c: USB OHCI at membase 0xe4837000, IRQ 11
host/usb-ohci.c: usb-00:09.0, NEC Corporation USB
usb.c: new USB bus registered, assigned bus number 5
hub.c: USB hub found
hub.c: 3 ports detected
host/usb-ohci.c: USB OHCI at membase 0xe4839000, IRQ 11
host/usb-ohci.c: usb-00:09.1, NEC Corporation USB (#2)
usb.c: new USB bus registered, assigned bus number 6
hub.c: USB hub found
hub.c: 2 ports detected
hub.c: new USB device 00:09.2-5, assigned address 2
hub.c: USB hub found
usb.c: registered new driver hiddev
usb.c: registered new driver hid
hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <[email protected]>
hid-core.c: USB HID support drivers
usb.c: registered new driver usblp
printer.c: v0.11: USB Printer Device Class driver
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
Initializing Cryptographic API
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 4096 buckets, 32Kbytes
TCP: Hash tables configured (established 32768 bind 32768)
ip_conntrack version 2.1 (4095 buckets, 32760 max) - 292 bytes per conntrack
ip_tables: (C) 2000-2002 Netfilter core team
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
hub.c: 4 ports detected
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 108k freed
hub.c: new USB device 00:09.0-1, assigned address 2
printer.c: usblp0: USB Bidirectional printer dev 2 if 0 alt 1 proto 2 vid 0x03F0 pid 0x1004
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,1), internal journal
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,2), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,5), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,6), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Adding Swap: 2008084k swap-space (priority -1)
Adding Swap: 2008084k swap-space (priority -2)
eth0: Setting 100mbps full-duplex based on auto-negotiated partner ability 45e1.
PCI: Setting latency timer of device 00:11.5 to 64
[fglrx] Maximum main memory to use for locked dma buffers: 431 MBytes.
[fglrx] module loaded - fglrx 2.5.1 [Nov 27 2002] on minor 0
hub.c: new USB device 00:09.2-5.4, assigned address 3
scsi1 : SCSI emulation for USB Mass Storage devices
Vendor: Maxtor 4 Model: G160J8 Rev: GAK8
Type: Direct-Access ANSI SCSI revision: 02
Attached scsi disk sda at scsi1, channel 0, id 0, lun 0
SCSI device sda: 268435455 512-byte hdwr sectors (137439 MB)
/dev/scsi/host1/bus0/target0/lun0: p1 p2
WARNING: USB Mass Storage data integrity not assured
USB Mass Storage device found at 3
spurious 8259A interrupt: IRQ7.
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.19, 19 August 2002 on sd(8,1), internal journal
EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with ordered data mode.


Attachments:
dmesg.txt (9.96 kB)

2003-08-01 10:47:10

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: Radeon in LK 2.4.21pre7

On Sun, 2003-07-20 at 07:43, Kristofer T. Karas wrote:
> Ben, Ani, et al,
>
> Just tried Linux kernels 2.4.21pre6 and pre7 with my Radeon 8500LEE and
> have had some dreadful corruption problems related to pixel clearing
> during scroll and ypan. This is probably old news to you; so <aol>me
> too</aol>. I first noticed this in the -ac kernels, but a variant is
> now in mainline -pre.

Ok, your problem is weird and doesn't seem related to others I've been
reported, I suspect some engine initialization issue. Do you have a
pointer to a specific -ac patch that caused it with earlier versions
of the driver ? That would help tracking down what change actually
introduced it.

Ben.