2002-09-10 16:54:55

by Zwane Mwaikambo

[permalink] [raw]
Subject: [PATCH]][2.4-ac] opti621 can't do dma

Hi Andre, Alan
afaik the opti621 can't do DMA, also aren't they all addon cards?

ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx
SIS5513: IDE controller at PCI slot 00:00.1
PCI: No IRQ known for interrupt pin A of device 00:00.1. Please try using
pci=biosirq.
SIS5513: chipset revision 208
SIS5513: not 100% native mode: will probe irqs later
SiS620 ATA 66 controller
ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:pio, hdd:pio
OPTI621: IDE controller at PCI slot 00:09.0
PCI: Found IRQ 9 for device 00:09.0
OPTI621: chipset revision 0
OPTI621: 100% native mode on irq 9
OPTI621: dma_base is invalid (0x0000)
ide2: OPTI621 Bus-Master DMA disabled (BIOS)
OPTI621: dma_base is invalid (0x0000)
ide3: OPTI621 Bus-Master DMA disabled (BIOS)
hda: WDC WD75DA-00AWA1, ATA DISK drive
hdb: WDC AC11200L, ATA DISK drive
blk: queue c04ad7c0, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c04ad91c, I/O limit 4095Mb (mask 0xffffffff)
hdd: ATAPI CDROM, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15

Index: linux-2.4.20-pre5-ac4/drivers/ide/pci//opti621.c
===================================================================
RCS file: /build/cvsroot/linux-2.4.20-pre5-ac4/drivers/ide/pci/opti621.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 opti621.c
--- linux-2.4.20-pre5-ac4/drivers/ide/pci//opti621.c 8 Sep 2002 18:05:34 -0000 1.1.1.1
+++ linux-2.4.20-pre5-ac4/drivers/ide/pci//opti621.c 9 Sep 2002 21:00:42 -0000
@@ -330,30 +330,10 @@
*/
static void __init init_hwif_opti621 (ide_hwif_t *hwif)
{
- hwif->autodma = 0;
hwif->drives[0].drive_data = PIO_DONT_KNOW;
hwif->drives[1].drive_data = PIO_DONT_KNOW;
hwif->tuneproc = &opti621_tune_drive;
-
- if (!(hwif->dma_base))
- return;
-
- hwif->atapi_dma = 1;
- hwif->mwdma_mask = 0x07;
- hwif->swdma_mask = 0x07;
-
-#ifdef CONFIG_BLK_DEV_IDEDMA
- if (!noautodma)
- hwif->autodma = 1;
- hwif->drives[0].autodma = hwif->autodma;
- hwif->drives[1].autodma = hwif->autodma;
-#endif /* CONFIG_BLK_DEV_IDEDMA */
-
-}
-
-static void __init init_dma_opti621 (ide_hwif_t *hwif, unsigned long dmabase)
-{
- ide_setup_dma(hwif, dmabase, 8);
+ hwif->dma_base = 0;
}

extern void ide_setup_pci_device(struct pci_dev *, ide_pci_device_t *);
Index: linux-2.4.20-pre5-ac4/drivers/ide/pci//opti621.h
===================================================================
RCS file: /build/cvsroot/linux-2.4.20-pre5-ac4/drivers/ide/pci/opti621.h,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 opti621.h
--- linux-2.4.20-pre5-ac4/drivers/ide/pci//opti621.h 8 Sep 2002 18:05:34 -0000 1.1.1.1
+++ linux-2.4.20-pre5-ac4/drivers/ide/pci//opti621.h 9 Sep 2002 20:56:11 -0000
@@ -18,11 +18,11 @@
init_chipset: NULL,
init_iops: NULL,
init_hwif: init_hwif_opti621,
- init_dma: init_dma_opti621,
+ init_dma: NULL,
channels: 2,
- autodma: AUTODMA,
+ autodma: NODMA,
enablebits: {{0x45,0x80,0x00}, {0x40,0x08,0x00}},
- bootable: ON_BOARD,
+ bootable: OFF_BOARD,
extra: 0,
},{
vendor: PCI_VENDOR_ID_OPTI,
@@ -32,11 +32,11 @@
init_chipset: NULL,
init_iops: NULL,
init_hwif: init_hwif_opti621,
- init_dma: init_dma_opti621,
+ init_dma: NULL,
channels: 2,
- autodma: AUTODMA,
+ autodma: NODMA,
enablebits: {{0x45,0x80,0x00}, {0x40,0x08,0x00}},
- bootable: ON_BOARD,
+ bootable: OFF_BOARD,
extra: 0,
},{
vendor: 0,

--
function.linuxpower.ca


2002-09-10 17:11:38

by Daniela Engert

[permalink] [raw]
Subject: Re: [PATCH]][2.4-ac] opti621 can't do dma

On Tue, 10 Sep 2002 19:22:41 +0200 (SAST), Zwane Mwaikambo wrote:

> afaik the opti621 can't do DMA, also aren't they all addon cards?

The Compaq Armada 1530 Notebook has a Opti FireStar chipset with an IDE
controller which is Ultra DMA capable (but stable only up to MW-DMA
mode 2). This one *should* be handled by the Linux opti621 driver (I
don't know if it is).

Ciao,
Dani


2002-09-10 18:00:11

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: [PATCH]][2.4-ac] opti621 can't do dma

On Tue, 10 Sep 2002, Daniela Engert wrote:

> The Compaq Armada 1530 Notebook has a Opti FireStar chipset with an IDE
> controller which is Ultra DMA capable (but stable only up to MW-DMA
> mode 2). This one *should* be handled by the Linux opti621 driver (I
> don't know if it is).
>
> Ciao,
> Dani

I'd be interested to see an lspci, I'd be mortified if the opti621
driver really drives that controller ;)

Zwane
--
function.linuxpower.ca

2002-09-11 10:04:25

by Daniela Engert

[permalink] [raw]
Subject: Re: [PATCH]][2.4-ac] opti621 can't do dma

On Tue, 10 Sep 2002 20:28:00 +0200 (SAST), Zwane Mwaikambo wrote:

>> The Compaq Armada 1530 Notebook has a Opti FireStar chipset with an IDE

Actually, it's an 1575D.

>> controller which is Ultra DMA capable (but stable only up to MW-DMA
>> mode 2). This one *should* be handled by the Linux opti621 driver (I
>> don't know if it is).
>
>I'd be interested to see an lspci, I'd be mortified if the opti621
>driver really drives that controller ;)

No Linux on that machine, thus no lspci but something similar:

Vendor 1045h OPTi Inc
Device C701h 82C701 FireStar Plus CPU to PCI Bridge
Subsystem ID 0E1103F4h Compaq Armarda

Vendor 1045h OPTi Inc
Device C700h 82C700 FireStar PCI to ISA Bridge
Subsystem ID 0E1103F4h Compaq Armarda

Vendor 1045h OPTi Inc
Device D568h 82C825 FireBridge II PCI EIDE Controller
Subsystem ID 0E1103F4h Compaq Armada

This should be supported by the opti621 driver.

With these devices

disk :IBM-DKLA-23240 (primary master) running at MWord DMA2/PIO4
cdrom:UJDA120 (primary slave) running at PIO4

the chipset shuld be programmed like this:

PCI BIOS V2.10 detected, 1 PCI bus present.
Found embedded Opti FireStar on 0:20.0
00: 45 10 68 D5 05 00 80 02 30 80 01 01 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 10 00 00 00 00 00 00 00 00 00 00 F4 03 11 0E
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40: 2B 00 16 0A 00 00 00 FA 00 00 00 00 00 00 00 00
BusMaster Registers:
00: 08 00 24 00 00 18 EF 00 00 00 04 00 00 00 00 00

VendorID 1045, DeviceID D568, Subsystem VendorID 03F4, DeviceID 0E11
IOBase 1000h (Len 10h)

Control 0: r0 20, w0 20, r1 20, w1 20, c 95, s EE, m 40
Control 1: r0 FF, w0 FF, r1 FF, w1 FF, c FF, s FF, m FF

South bridge (1045/C700 rev 31) on 0:1.0

If you like to run the disk at ultra DMA mode 0, then it looks like
this:

PCI BIOS V2.10 detected, 1 PCI bus present.
Found embedded Opti FireStar on 0:20.0
00: 45 10 68 D5 05 00 80 02 30 80 01 01 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 10 00 00 00 00 00 00 00 00 00 00 F4 03 11 0E
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40: 2B 00 16 0A 01 00 00 FA 00 00 00 00 00 00 00 00
BusMaster Registers:
00: 08 00 A4 00 00 18 EF 00 00 00 84 00 00 00 00 00

VendorID 1045, DeviceID D568, Subsystem VendorID 03F4, DeviceID 0E11
IOBase 1000h (Len 10h)

Control 0: r0 20, w0 20, r1 20, w1 20, c 95, s EE, m 40
Control 1: r0 FF, w0 FF, r1 FF, w1 FF, c FF, s FF, m FF

South bridge (1045/C700 rev 31) on 0:1.0


Ciao,
Dani

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Daniela Engert, systems engineer at MEDAV GmbH
Gr?fenberger Str. 32-34, 91080 Uttenreuth, Germany
Phone ++49-9131-583-348, Fax ++49-9131-583-11