lkml.org 
[lkml]   [2006]   [Mar]   [15]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateWed, 15 Mar 2006 17:33:56 -0500
FromJeff Garzik <>
SubjectRe: libata/sata_nv latency on NVIDIA CK804 [was Re: AMD64 X2 lost ticks on PM timer]
Ingo Molnar wrote:
> the patch below is a blind shot into the dark: it turns on MMIO for the 
> sata_nv driver. But be careful with it - this turns on a probably 
> totally untested mode in the driver and thus may damage your data. (It 
> might not even work at all because the driver might not be ready for it 
> - Jeff?).  I'd suggest to first boot into single-user mode with all 
> filesystems readonly mounted.
> 
> on the low chance of this patch actually working, the interesting thing 
> would be to check whether the latencies occur in MMIO mode too? (if they 
> do then please send us the new latency traces too.)
> 
> 	Ingo
> 
> ---------
> 
> WARNING: this may damage your data. Be careful ...
> 
>  drivers/scsi/sata_nv.c |    1 +
>  1 files changed, 1 insertion(+)
> 
> Index: linux/drivers/scsi/sata_nv.c
> ===================================================================
> --- linux.orig/drivers/scsi/sata_nv.c
> +++ linux/drivers/scsi/sata_nv.c
> @@ -280,6 +280,7 @@ static struct ata_port_info nv_port_info
>  	.host_flags	= ATA_FLAG_SATA |
>  			  /* ATA_FLAG_SATA_RESET | */
>  			  ATA_FLAG_SRST |
> +			  ATA_FLAG_MMIO |
>  			  ATA_FLAG_NO_LEGACY,

It won't work at all...

You have to stop talking to PCI IDE registers completely (consumes 5 PCI 
BARs), and talk exclusively to the MMIO 6th PCI BAR, at non-standard 
offsets and a using a proprietary DMA descriptor format [all public now 
in that link I just sent].

My main workstation has one:
> 00:08.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev f3) (prog-if 85 [Master SecO PriO])
>         Subsystem: Hewlett-Packard Company: Unknown device 1500
>         Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
>         Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort-
> <MAbort- >SERR- <PERR-
>         Latency: 0 (750ns min, 250ns max)
>         Interrupt: pin A routed to IRQ 201
>         Region 0: I/O ports at 28e0 [size=8]
>         Region 1: I/O ports at 2c00 [size=4]
>         Region 2: I/O ports at 28e8 [size=8]
>         Region 3: I/O ports at 2c04 [size=4]
>         Region 4: I/O ports at 28c0 [size=16]
>         Region 5: Memory at f2103000 (32-bit, non-prefetchable) [size=4K]

Regards,

	Jeff


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-03-15 23:36    [from the cache]
©2003-2008