[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <4819FDAF.7050005@ribosome.natur.cuni.cz>
Date: Thu, 01 May 2008 19:28:15 +0200
From: Martin MOKREJŠ <mmokrejs@...osome.natur.cuni.cz>
To: LKML <linux-kernel@...r.kernel.org>
Subject: 2.6.23.17 & 2.6.24.5 and maybe earlier: pata_marvell: need to disable
DMA to get rid of '(ATA bus error)', 'ata7.00: status: { DRDY ERR }', 'ata7.00:
error: { ICRC ABRT }'
Hi,
the pata_marvell drivers attempts to use UDMA mode to provide
access to my CompactFlash device attached to its IDE port.
I have MSI P35Neo2 motherboard with Marvell 88SE6111 chip providing
2 IDE ports and Intel ICH9R chip providing 6 SATA ports
(IDE/RAID/AHCI modes). During POST, Marvel controller reports
the CF disk is in UDMA-2 mode (and I cannot change it).
Linux kernel 2.6.24.5 reports during boot:
ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:03:00.0 to 64
scsi6 : pata_marvell
scsi7 : pata_marvell
ata7: PATA max UDMA/100 cmd 0xcc00 ctl 0xc880 bmdma 0xc400 irq 16
ata8: PATA max UDMA/133 cmd 0xc800 ctl 0xc480 bmdma 0xc408 irq 16
BAR5:00:02 01:7F 02:22 03:CA 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:07 0D:00 0E:00 0F:00
ata7.00: ATA-0: Delock 54111 512MB, Ver1.27, max UDMA/33
ata7.00: 1006992 sectors, multi 0: LBA
ata7.01: ATAPI: ATAPI DVD D DH16D2P, HP57, max UDMA/33
ata7.00: configured for UDMA/33
ata7.01: configured for UDMA/33
ata7.00: configured for UDMA/33
ata7.01: configured for UDMA/33
ata7: EH complete
BAR5:00:02 01:7F 02:22 03:CA 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:07 0D:00 0E:00 0F:00
scsi 6:0:0:0: Direct-Access ATA Delock 54111 512 Ver1 PQ: 0 ANSI: 5
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sde: sde1
sd 6:0:0:0: [sde] Attached SCSI disk
sd 6:0:0:0: Attached scsi generic sg4 type 0
scsi 6:0:1:0: CD-ROM ATAPI DVD D DH16D2P HP57 PQ: 0 ANSI: 5
sr0: scsi3-mmc drive: 48x/48x cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
sr 6:0:1:0: Attached scsi CD-ROM sr0
sr 6:0:1:0: Attached scsi generic sg5 type 5
Unfortunately, the disk in a while gives:
ata7.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata7.00: BMDMA stat 0x64
ata7.00: cmd ca/00:02:41:00:00/00:00:00:00:00/e0 tag 0 dma 1024 out
res 51/84:00:41:00:00/00:00:00:00:00/e0 Emask 0x10 (ATA bus error)
ata7.00: status: { DRDY ERR }
ata7.00: error: { ICRC ABRT }
BAR5:00:02 01:7F 02:22 03:CA 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:07 0D:00 0E:00 0F:00
ata7: soft resetting link
ata7.00: configured for UDMA/33
ata7.01: configured for UDMA/33
ata7.00: configured for UDMA/33
ata7.01: configured for UDMA/33
ata7: EH complete
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
ata7.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata7.00: BMDMA stat 0x64
ata7.00: cmd ca/00:02:51:b4:07/00:00:00:00:00/e0 tag 0 dma 1024 out
res 51/84:00:51:b4:07/00:00:00:00:00/e0 Emask 0x10 (ATA bus error)
ata7.00: status: { DRDY ERR }
ata7.00: error: { ICRC ABRT }
BAR5:00:02 01:7F 02:22 03:CA 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:07 0D:00 0E:00 0F:00
ata7: soft resetting link
ata7.00: configured for UDMA/33
ata7.01: configured for UDMA/33
ata7.00: configured for UDMA/33
ata7.01: configured for UDMA/33
ata7: EH complete
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
ata7.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata7.00: BMDMA stat 0x64
ata7.00: cmd ca/00:02:13:35:03/00:00:00:00:00/e0 tag 0 dma 1024 out
res 51/84:00:13:35:03/00:00:00:00:00/e0 Emask 0x10 (ATA bus error)
ata7.00: status: { DRDY ERR }
ata7.00: error: { ICRC ABRT }
BAR5:00:02 01:7F 02:22 03:CA 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:07 0D:00 0E:00 0F:00
ata7: soft resetting link
ata7.00: configured for UDMA/33
ata7.01: configured for UDMA/33
ata7.00: configured for UDMA/33
ata7.01: configured for UDMA/33
ata7: EH complete
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
ata7.00: limiting speed to UDMA/25:PIO4
ata7.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata7.00: BMDMA stat 0x64
ata7.00: cmd ca/00:02:69:80:0a/00:00:00:00:00/e0 tag 0 dma 1024 out
res 51/84:00:69:80:0a/00:00:00:00:00/e0 Emask 0x10 (ATA bus error)
ata7.00: status: { DRDY ERR }
ata7.00: error: { ICRC ABRT }
BAR5:00:02 01:7F 02:22 03:CA 04:00 05:00 06:00 07:00 08:00 09:00 0A:00 0B:00 0C:07 0D:00 0E:00 0F:00
ata7: soft resetting link
ata7.00: configured for UDMA/25
ata7.01: configured for UDMA/33
ata7.00: configured for UDMA/25
ata7.01: configured for UDMA/33
ata7: EH complete
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 6:0:0:0: [sde] 1006992 512-byte hardware sectors (516 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
To get rid of the errors, I can use libata.dma=0 kernel
command-line parameter. Unfortunately, this sets all libata
devices to PIO4 mode. How can I set just this one? I tried
'libata.force=7.00:pio4' but it did not help.
'libata.force=1.00:pio4' does not set it immediately into PIO4
but at least leaves the SATA drives in UDMA mode and after
resets of the CompactFlash IDE disk it gets from UDMA/33 or 25
to PIO4.
Where are the flags documented? linux/Documentation/ directory
contains almost nothing about pata_marvell. :(
00:1f.2 SATA controller: Intel Corporation 6 port SATA AHCI Controller (rev 02) (prog-if 01 [AHCI 1.0])
Subsystem: Micro-Star International Co., Ltd. Unknown device 7345
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 378
I/O ports at b000 [size=8]
I/O ports at ac00 [size=4]
I/O ports at a880 [size=8]
I/O ports at a800 [size=4]
I/O ports at a480 [size=32]
Memory at fbfff000 (32-bit, non-prefetchable) [size=2K]
Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/4 Enable+
Capabilities: [70] Power Management version 3
Capabilities: [a8] SATA HBA <?>
Capabilities: [b0] Vendor Specific Information <?>
Kernel driver in use: ahci
03:00.0 IDE interface: Marvell Technology Group Ltd. Unknown device 6121 (rev b1) (prog-if 8f [Master SecP SecO PriP PriO])
Subsystem: Marvell Technology Group Ltd. Unknown device 6121
Flags: bus master, fast devsel, latency 0, IRQ 16
I/O ports at cc00 [size=8]
I/O ports at c880 [size=4]
I/O ports at c800 [size=8]
I/O ports at c480 [size=4]
I/O ports at c400 [size=16]
Memory at fe9ffc00 (32-bit, non-prefetchable) [size=1K]
Capabilities: [48] Power Management version 2
Capabilities: [50] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Capabilities: [e0] Express Legacy Endpoint, MSI 00
Kernel driver in use: pata_marvell
BTW: Using the generic IDE drivers and forcing 'ide-all-generic=1'
in the kernel command-line makes the CompactFlash and DVD-ROM get
recognized as hda and hdb but I used to see similar drive errors.
Actually, these were even worse because I could not finish mkfs.ext3
for example.
View attachment "dmesg-2.6.24.5-default-nodma" of type "text/plain" (26800 bytes)
View attachment "dmesg-2.6.24.5-default-pio4" of type "text/plain" (39080 bytes)
Powered by blists - more mailing lists