2004-03-26 01:38:18

by Jeff Garzik

[permalink] [raw]
Subject: [sata] Promise PATA port on PDC2037x SATA


Anybody wanna give this a quick test? It doesn't actually _do_ anything
yet, except attempt to detect the PATA port.

Latest libata...

http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.4.25-libata14.patch.bz2

http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.6.5-rc2-bk6-libata1.patch.bz2

BitKeeper repositories:
http://gkernel.bkbits.net/libata-2.[46]

The latter 2.6 patch applies to the current BK tree, will be -bk6 when
that snapshot is generated tonight. It _should_ apply to earlier
2.6.5-rc2, but applying to earlier kernels you -may- need to
s/pci_dma_mapping_error/pci_dma_error/, or completely remove the
pci_dma_[mapping_]error() check.

Jeff





2004-03-26 03:16:58

by Erik Andersen

[permalink] [raw]
Subject: Re: [sata] Promise PATA port on PDC2037x SATA

On Thu Mar 25, 2004 at 08:37:07PM -0500, Jeff Garzik wrote:
>
> Anybody wanna give this a quick test? It doesn't actually _do_ anything
> yet, except attempt to detect the PATA port.

With a Promise SATA150 TX2plus installed and no devices attached:

libata version 1.02 loaded.
sata_promise version 0.91
ata1: SATA max UDMA/133 cmd 0xFC83B200 ctl 0xFC83B238 bmdma 0x0 irq 20
ata2: SATA max UDMA/133 cmd 0xFC83B280 ctl 0xFC83B2B8 bmdma 0x0 irq 20
ata1: no device found (phy stat 00000000)
ata1: thread exiting
ata2: no device found (phy stat 00000000)
ata2: thread exiting
scsi0 : sata_promise
scsi1 : sata_promise

With a Promise SATA150 TX2plus installed, plus 1 PATA drive:

libata version 1.02 loaded.
sata_promise version 0.91
ata1: SATA max UDMA/133 cmd 0xFC83B200 ctl 0xFC83B238 bmdma 0x0 irq 20
ata2: SATA max UDMA/133 cmd 0xFC83B280 ctl 0xFC83B2B8 bmdma 0x0 irq 20
ata1: no device found (phy stat 00000000)
ata1: thread exiting
ata2: no device found (phy stat 00000000)
ata2: thread exiting
scsi0 : sata_promise
scsi1 : sata_promise

With a Promise SATA150 TX2plus installed, plus 1 PATA and 1 SATA drive:

libata version 1.02 loaded.
sata_promise version 0.91
ata1: SATA max UDMA/133 cmd 0xFC83B200 ctl 0xFC83B238 bmdma 0x0 irq 20
ata2: SATA max UDMA/133 cmd 0xFC83B280 ctl 0xFC83B2B8 bmdma 0x0 irq 20
ata1: dev 0 cfg 49:2f00 82:346b 83:7d01 84:4003 85:3469 86:3c01 87:4003 88:207f
ata1: dev 0 ATA, max UDMA/133, 234441648 sectors (lba48)
ata1: dev 0 configured for UDMA/133
ata2: no device found (phy stat 00000000)
ata2: thread exiting
scsi0 : sata_promise
scsi1 : sata_promise
Vendor: ATA Model: ST3120026AS Rev: 1.02
Type: Direct-Access ANSI SCSI revision: 05

-Erik

--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--

2004-03-26 03:41:24

by Jeff Garzik

[permalink] [raw]
Subject: Re: [sata] Promise PATA port on PDC2037x SATA

Thanks for testing.

Is your PCI id listed in this function?

static int pdc_pata_possible(struct pci_dev *pdev)
{
if (pdev->device == 0x3375)
return 1;
return 0;
}

If yes, hrm. :)

If no, just unconditionally return 1 there and see if you get the
message in pdc_host_init():

/* check for PATA port on PDC20375 */
if (pdc_pata_possible(pdev)) {
tmp = readl(mmio + PDC_PCI_CTL);
if (tmp & PDC_HAS_PATA)
printk(KERN_INFO DRV_NAME "(%s): sorry, PATA
port not supported yet\n",
pci_name(pdev));
}


2004-03-26 03:45:42

by Erik Andersen

[permalink] [raw]
Subject: Re: [sata] Promise PATA port on PDC2037x SATA

On Thu Mar 25, 2004 at 10:41:01PM -0500, Jeff Garzik wrote:
> Thanks for testing.
>
> Is your PCI id listed in this function?
>
> static int pdc_pata_possible(struct pci_dev *pdev)
> {
> if (pdev->device == 0x3375)
> return 1;
> return 0;
> }
>
> If yes, hrm. :)

$ lspci -v | grep -A9 Promise
02:0c.0 Unknown mass storage controller: Promise Technology, Inc.: Unknown device 3375 (rev 02)
Subsystem: Promise Technology, Inc.: Unknown device 3375
Flags: bus master, 66Mhz, medium devsel, latency 96, IRQ 20
I/O ports at de80 [size=64]
I/O ports at dfa0 [size=16]
I/O ports at dc00 [size=128]
Memory at feafe000 (32-bit, non-prefetchable) [size=4K]
Memory at feac0000 (32-bit, non-prefetchable) [size=128K]
Expansion ROM at feab0000 [disabled] [size=16K]
Capabilities: [60] Power Management version 2

-Erik

--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--