Bug 9744

Summary: no NCQ on SATA nvidia
Product: IO/Storage Reporter: Luis Diaz (diazluis+kernel)
Component: Serial ATAAssignee: Tejun Heo (htejun)
Status: REJECTED WILL_NOT_FIX    
Severity: normal CC: hancockrwd, mbligh
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.23 Subsystem:
Regression: No Bisected commit-id:

Description Luis Diaz 2008-01-13 14:30:33 UTC
Latest working kernel version: -
Earliest failing kernel version: 2.6.20
Distribution: Ubuntu / Gentoo
Hardware Environment: athlon xp 3500 64 bits MCP61 controller
Software Environment: -
Problem Description: cant enable NCQ by doing echo 31 > /sys/block/sdX/device/queue_depth
it says "permission denied" 
i also tryed other options...only read allowed, same probem on same hardware under Kubuntu... google does not have an answer but has been asked....

as you can see by the line LBA48 NCQ (depth 0/32) NCQ is supported but disabled...on windows its enabled.


Hard:
00:08.0 IDE interface: nVidia Corporation MCP61 SATA Controller (rev a2)
mother asrock am2nf6g-vsta



messages (dmesg):

Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
sata_nv 0000:00:08.0: version 3.5
ACPI: PCI Interrupt Link [LSA0] enabled at IRQ 23
ACPI: PCI Interrupt 0000:00:08.0[A] -> Link [LSA0] -> GSI 23 (level, low) -> IRQ 23
PCI: Setting latency timer of device 0000:00:08.0 to 64
scsi0 : sata_nv
scsi1 : sata_nv
ata1: SATA max UDMA/133 cmd 0x0000000000010e00 ctl 0x0000000000010e22 bmdma 0x000000000001d880 irq 23
ata2: SATA max UDMA/133 cmd 0x0000000000010e40 ctl 0x0000000000010e62 bmdma 0x000000000001d888 irq 23
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata1.00: ATA-7: HDT722516DLA380, V43OA96A, max UDMA/133
ata1.00: 321672960 sectors, multi 16: LBA48 NCQ (depth 0/32)
ata1.00: configured for UDMA/133
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata2.00: ATA-7: SAMSUNG HD161HJ, JF100-19, max UDMA7
ata2.00: 312581808 sectors, multi 16: LBA48 NCQ (depth 0/32)
ata2.00: configured for UDMA/133
scsi 0:0:0:0: Direct-Access     ATA      HDT722516DLA380  V43O PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 321672960 512-byte hardware sectors (164697 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 0:0:0:0: [sda] 321672960 512-byte hardware sectors (164697 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sda: sda1 sda2 sda3 < sda5 sda6 sda7 sda8 >
sd 0:0:0:0: [sda] Attached SCSI disk
scsi 1:0:0:0: Direct-Access     ATA      SAMSUNG HD161HJ  JF10 PQ: 0 ANSI: 5
sd 1:0:0:0: [sdb] 312581808 512-byte hardware sectors (160042 MB)
sd 1:0:0:0: [sdb] Write Protect is off
sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 1:0:0:0: [sdb] 312581808 512-byte hardware sectors (160042 MB)
sd 1:0:0:0: [sdb] Write Protect is off
sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sdb: sdb1 sdb2 sdb3
sd 1:0:0:0: [sdb] Attached SCSI disk




thanks!
Comment 1 Tejun Heo 2008-01-13 16:29:27 UTC
No doc available about the hardware (not even under NDA) and not enough help from the vendor.  I don't think we'll support NCQ on that chipset.  I'm rejecting the bug.  If anyone disagrees, feel free to re-open.  Thanks.
Comment 2 Robert Hancock 2008-01-13 18:33:23 UTC
The MCP61 hardware apparently does support the SWNCQ interface like the MCP51/MCP55 chipsets, which is supported in sata_nv (though not enabled by default). However NVIDIA disabled SWNCQ on that chipset since it's apparently buggy:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2e031eb09760c36099ac127eeb175e06d257aef

So it looks like there is a hardware limitation that prevents support.
Comment 3 Robert Hancock 2008-01-14 17:35:52 UTC
According to NVIDIA, there's a hardware bug with NCQ support on MCP61 and it's not supported in the Windows driver either. So it doesn't look like it will be possible.