
mmokrejs at ribosome
May 1, 2008, 10:28 AM
Post #1 of 14
(1904 views)
Permalink
|
|
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.
|