Bug 50661

Summary: sata_via VT8237 incompatibility with new WD drives
Product: IO/Storage Reporter: BunkoBugsy (vasarhelyizsolt)
Component: Serial ATAAssignee: Jeff Garzik (jgarzik)
Status: RESOLVED DUPLICATE    
Severity: normal    
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.9-103 Subsystem:
Regression: No Bisected commit-id:

Description BunkoBugsy 2012-11-16 09:01:13 UTC
As per https://bugzilla.kernel.org/show_bug.cgi?id=15173 I'm confident that the same (slightly modified) patch could be applied to fix FIFO problems with VT8237

As per last post from http://forum.sources.ru/index.php?showtopic=328955&hl 

VT8237R
Offset 52 – Transport Miscellaneous Control (00h).......RW
...
 2 SATA Flow Control Water Flag
    0 Based on FIFO threshold value (Rx43)..default
    1 32DW
...

VT6421A
Offset 52 – Transport Miscellaneous Control (00h) ......RW
...
 2 S-ATA Flow Control Water Flag
    1 FFF0 threshold (the value is based on RX43)
    0 32DW.....................................................default
...

a patch could be created to fix the speed down requests on high rate requests.

Any chance this fix could make it to the 2.6 branch as I'm running the EOL Centos 4 based contribs.org SME Server, or do I need to apply a fix myself?
Comment 1 BunkoBugsy 2012-11-16 20:34:45 UTC
lspci -xxx on Asus A7V880 configured for non-RAID mode gives following values
52=0x07 (Transport Miscellaneous Control) and 43=0x05 (FIFO Threshold Control)

Based on http://www.yuiop.co.uk/epia/stuff/South%20%20Bridge/Data%20Sheet%20VT8237R%20South%20Bridge%20(Revision%202.06)(Lead-Free).pdf Flow Control Water Flag is configured for 32DW, opposed to the documented defaults.

Libata module sata_via communicates with 00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE

Would trying to run setpci -s 00:0f.1 43=44 and setpci -s 00:0f.1 52=0 in rc.local worth a shot or am I reading the above linked data sheet wrong?

I'd appreciate any help.
Comment 2 BunkoBugsy 2012-11-16 21:38:01 UTC
Ok, misread dmesg, sata_via actually running on 00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80)

I realize that kernel 2.6.32.7 won't ever make it to Centos 4.9 so I'll try to work this around by adding setpci -s 00:0f.0 52=4 to rc.local.

*** This bug has been marked as a duplicate of bug 15173 ***