http://bugzilla.kernel.org/show_bug.cgi?id=15445 Summary: pata_jmicron incorrectly downgrades CompactFlash to UDMA/33 Product: IO/Storage Version: 2.5 Kernel Version: 2.6.32.9 Platform: All OS/Version: Linux Tree: Fedora Status: NEW Severity: normal Priority: P1 Component: IDE AssignedTo: io_ide@xxxxxxxxxxxxxxxxxxxx ReportedBy: pizza@xxxxxxxxxxxx Regression: No This is with the Fedora 2.6.39-67.x86_64 kernel on an Asus G51Vt laptop. I picked up an SIIG "ExpressCard/54 CF RW" adapter as its native PCIe design makes it much faster than a USB reader, at least in theory. Under WinVista, the card sustains ~40MB/s transfers. Under Linux (2.6.32.9), I'm lucky to get ~25MB/s, not much faster than a good USB reader. The CF card advertises itself capable of UDMA/100, but the PATA layer downgrades it to UDMA/33. hurting performance. partial dmesg showing the hot-insertion: pciehp 0000:00:1c.2:pcie04: Card present on Slot(0) pci 0000:04:00.0: reg 10 io port: [0x00-0x07] pci 0000:04:00.0: reg 14 io port: [0x00-0x03] pci 0000:04:00.0: reg 18 io port: [0x00-0x07] pci 0000:04:00.0: reg 1c io port: [0x00-0x03] pci 0000:04:00.0: reg 20 io port: [0x00-0x0f] pci 0000:04:00.0: reg 30 32bit mmio pref: [0x000000-0x00ffff] pci 0000:04:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force' pata_jmicron 0000:04:00.0: enabling device (0100 -> 0101) pata_jmicron 0000:04:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18 pata_jmicron 0000:04:00.0: setting latency timer to 64 scsi8 : pata_jmicron scsi9 : pata_jmicron ata9: PATA max UDMA/100 cmd 0xc010 ctl 0xc020 bmdma 0xc000 irq 18 ata10: PATA max UDMA/100 cmd 0xc018 ctl 0xc024 bmdma 0xc008 irq 18 ata9.00: CFA: TRANSCEND, 20081024, max UDMA/100 ata9.00: 15924384 sectors, multi 0: LBA ata9.00: limited to UDMA/33 due to 40-wire cable ata9.00: configured for UDMA/33 scsi 8:0:0:0: Direct-Access ATA TRANSCEND 2008 PQ: 0 ANSI: 5 sd 8:0:0:0: Attached scsi generic sg2 type 0 sd 8:0:0:0: [sdb] 15924384 512-byte logical blocks: (8.15 GB/7.59 GiB) sd 8:0:0:0: [sdb] Write Protect is off sd 8:0:0:0: [sdb] Mode Sense: 00 3a 00 00 sd 8:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA sdb: sdb1 sd 8:0:0:0: [sdb] Attached SCSI disk And then the 'lspci -v' output including the IDE controller: 04:00.0 IDE interface: JMicron Technologies, Inc. JMB368 IDE controller (prog-if 85 [Master SecO PriO]) Subsystem: JMicron Technologies, Inc. JMB368 IDE controller Physical Slot: 0 Flags: bus master, fast devsel, latency 0, IRQ 18 I/O ports at c010 [size=8] I/O ports at c020 [size=4] I/O ports at c018 [size=8] I/O ports at c024 [size=4] I/O ports at c000 [size=16] [virtual] Expansion ROM at f6000000 [disabled] [size=64K] Capabilities: [68] Power Management version 2 Capabilities: [50] Express Legacy Endpoint, MSI 01 Capabilities: [70] MSI: Enable- Count=1/1 Maskable- 64bit- Kernel driver in use: pata_jmicron Kernel modules: ata_generic, pata_acpi, pata_jmicron I can understand the reasoning behind 40/80 wire detection/downgrading, but this is a compactflash card in a PCIe card reader so there's effectively no cable to detect, so forcing the cable type to ATA_CBL_PATA40_SHORT when this particular PCIe CF reader is detected should just work. Unfortunately, I suspect the reported PCI sys/subsys IDs are not unique to this particular card (197b:2368 for both) so I don't know how to go about adding this exception in a sane manner. Thoughts? -- Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug. -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html