mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* HPT366 problems continued
@ 2001-10-26  6:31 Janne Liimatainen
  2001-10-27 21:42 ` Francois Romieu
  0 siblings, 1 reply; 4+ messages in thread
From: Janne Liimatainen @ 2001-10-26  6:31 UTC (permalink / raw)
  To: linux-kernel

Hello all,

I have a dual P2 with 82441FX Natoma chipset and I have problems with getting 
DMA on with a HPT366 controller. Autodma etc is on and I have tried different 
PCI slots. Kernel is 2.4.9. Ideas? Thanks!

This is what I get now:

Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz PCI bus speed for PIO modes; override with idebus=xx
HPT366: IDE controller on PCI bus 00 dev 70
HPT366: chipset revision 1
HPT366: not 100% native mode: will probe irqs later
HPT366: simplex device:  DMA disabled
ide0: HPT366 Bus-Master DMA disabled (BIOS)
HPT366: IDE controller on PCI bus 00 dev 71
HPT366: chipset revision 1
HPT366: not 100% native mode: will probe irqs later
HPT366: simplex device:  DMA disabled
ide1: HPT366 Bus-Master DMA disabled (BIOS)
hda: Maxtor 4D080H4, ATA DISK drive
hdc: Maxtor 4D080H4, ATA DISK drive
ide0 at 0xf0d0-0xf0d7,0xf0de on irq 9
ide1 at 0xf0c8-0xf0cf,0xf0da on irq 9
hda: 160086528 sectors (81964 MB) w/2048KiB Cache, CHS=158816/16/63
hdc: 160086528 sectors (81964 MB) w/2048KiB Cache, CHS=158816/16/63

and

00:0e.0 Unknown mass storage controller: HighPoint Technologies, Inc. 
HPT366/370 UltraDMA 66/100 IDE Controller (rev 01)
        Flags: bus master, medium devsel, latency 120, IRQ 9
        I/O ports at f0d0 [size=8]
        I/O ports at f0dc [size=4]
        I/O ports at e800 [size=256]
        Expansion ROM at <unassigned> [disabled] [size=128K]

00:0e.1 Unknown mass storage controller: HighPoint Technologies, Inc. 
HPT366/370 UltraDMA 66/100 IDE Controller (rev 01)
        Flags: bus master, medium devsel, latency 120, IRQ 9
        I/O ports at f0c8 [size=8]
        I/O ports at f0d8 [size=4]
        I/O ports at e400 [size=256]

and

# /sbin/hdparm -d1 /dev/hda

/dev/hda:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 using_dma    =  0 (off)


--
  -Janne

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: HPT366 problems continued
  2001-10-26  6:31 HPT366 problems continued Janne Liimatainen
@ 2001-10-27 21:42 ` Francois Romieu
  2001-10-28  3:06   ` Andre Hedrick
  0 siblings, 1 reply; 4+ messages in thread
From: Francois Romieu @ 2001-10-27 21:42 UTC (permalink / raw)
  To: Janne Liimatainen; +Cc: linux-kernel, andre

Janne Liimatainen <jannel@iki.fi> :
[...]
> Uniform Multi-Platform E-IDE driver Revision: 6.31
> ide: Assuming 33MHz PCI bus speed for PIO modes; override with idebus=xx
> HPT366: IDE controller on PCI bus 00 dev 70
> HPT366: chipset revision 1
> HPT366: not 100% native mode: will probe irqs later
> HPT366: simplex device:  DMA disabled
> ide0: HPT366 Bus-Master DMA disabled (BIOS)
> HPT366: IDE controller on PCI bus 00 dev 71
> HPT366: chipset revision 1
> HPT366: not 100% native mode: will probe irqs later
> HPT366: simplex device:  DMA disabled
> ide1: HPT366 Bus-Master DMA disabled (BIOS)
> hda: Maxtor 4D080H4, ATA DISK drive
> hdc: Maxtor 4D080H4, ATA DISK drive

drivers/ide/ide-dma.c::ide_get_or_set_dma_base
741     if (hwif->mate && hwif->mate->dma_base) {
742             dma_base = hwif->mate->dma_base - (hwif->channel ? 0 : 8);
        } else {
                dma_base = pci_resource_start(dev, 4);
                -> We take this branch first (or I've missed where
                   mate->dma_base is set)
[...]
	if ((inb(dma_base+2) & 0x80)) { /* simplex device? */
793	        if ((!hwif->drives[0].present && !hwif->drives[1].present) ||
                -> do_identify is called later, we pass this test
794		    (hwif->mate && hwif->mate->dma_base)) {
                    -> + we can't succeed this one or it means we would have
                    -> passed through the other branch (742). It would imply 
		    -> at least one mate accepts to enable DMA.
			printk("%s: simplex device:  DMA disabled\n", name);
			dma_base = 0;

I'd say either mate->dma_base is set too soon for both mate (and they're both
guaranteed to generate dma_base = 0 as soon as they reach 794) or do_identify
is called too late (and dma_base = 0 because of 793).
I haven't found a lot of dma_base field setting and they seem to happen late.

M. Hedrick ?

-- 
Ueimor

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: HPT366 problems continued
  2001-10-27 21:42 ` Francois Romieu
@ 2001-10-28  3:06   ` Andre Hedrick
  2001-10-28 18:35     ` Janne Liimatainen
  0 siblings, 1 reply; 4+ messages in thread
From: Andre Hedrick @ 2001-10-28  3:06 UTC (permalink / raw)
  To: Francois Romieu; +Cc: Janne Liimatainen, linux-kernel

On Sat, 27 Oct 2001, Francois Romieu wrote:

> Janne Liimatainen <jannel@iki.fi> :
> [...]
> > Uniform Multi-Platform E-IDE driver Revision: 6.31
> > ide: Assuming 33MHz PCI bus speed for PIO modes; override with idebus=xx
> > HPT366: IDE controller on PCI bus 00 dev 70
> > HPT366: chipset revision 1
> > HPT366: not 100% native mode: will probe irqs later
> > HPT366: simplex device:  DMA disabled
> > ide0: HPT366 Bus-Master DMA disabled (BIOS)
> > HPT366: IDE controller on PCI bus 00 dev 71
> > HPT366: chipset revision 1
> > HPT366: not 100% native mode: will probe irqs later
> > HPT366: simplex device:  DMA disabled
> > ide1: HPT366 Bus-Master DMA disabled (BIOS)
> > hda: Maxtor 4D080H4, ATA DISK drive
> > hdc: Maxtor 4D080H4, ATA DISK drive
> 
> drivers/ide/ide-dma.c::ide_get_or_set_dma_base
> 741     if (hwif->mate && hwif->mate->dma_base) {
> 742             dma_base = hwif->mate->dma_base - (hwif->channel ? 0 : 8);
>         } else {
>                 dma_base = pci_resource_start(dev, 4);
>                 -> We take this branch first (or I've missed where
>                    mate->dma_base is set)
> [...]
> 	if ((inb(dma_base+2) & 0x80)) { /* simplex device? */
> 793	        if ((!hwif->drives[0].present && !hwif->drives[1].present) ||
>                 -> do_identify is called later, we pass this test
> 794		    (hwif->mate && hwif->mate->dma_base)) {
>                     -> + we can't succeed this one or it means we would have
>                     -> passed through the other branch (742). It would imply 
> 		    -> at least one mate accepts to enable DMA.
> 			printk("%s: simplex device:  DMA disabled\n", name);
> 			dma_base = 0;
> 
> I'd say either mate->dma_base is set too soon for both mate (and they're both
> guaranteed to generate dma_base = 0 as soon as they reach 794) or do_identify
> is called too late (and dma_base = 0 because of 793).
> I haven't found a lot of dma_base field setting and they seem to happen late.

Ueimor,

If the BIOS does not configure the PCI space or if it is not listed to be
setup in the ./arch/*/kernel/pci-quirks.... then the driver ignores the
HOST.  So in short you are wrong, and the driver is doing its job
correctly.  The real problem is happening long before I ever get to touch
the chipset.

Let me guess, you are using one of the soft-raid modes of that host.

Regards,

Andre Hedrick
Linux Disk Certification Project		Linux ATA Development


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: HPT366 problems continued
  2001-10-28  3:06   ` Andre Hedrick
@ 2001-10-28 18:35     ` Janne Liimatainen
  0 siblings, 0 replies; 4+ messages in thread
From: Janne Liimatainen @ 2001-10-28 18:35 UTC (permalink / raw)
  To: Andre Hedrick; +Cc: Francois Romieu, Janne Liimatainen, linux-kernel

On Sat, 27 Oct 2001, Andre Hedrick wrote:

> > I'd say either mate->dma_base is set too soon for both mate (and they're both
> > guaranteed to generate dma_base = 0 as soon as they reach 794) or do_identify
> > is called too late (and dma_base = 0 because of 793).
> > I haven't found a lot of dma_base field setting and they seem to happen late.
> 
> Ueimor,
> 
> If the BIOS does not configure the PCI space or if it is not listed to be
> setup in the ./arch/*/kernel/pci-quirks.... then the driver ignores the
> HOST.  So in short you are wrong, and the driver is doing its job
> correctly.  The real problem is happening long before I ever get to touch
> the chipset.
> 
> Let me guess, you are using one of the soft-raid modes of that host.

Nope, seems to be the fault of the bios, as it works fine with another 
motherboard. Need to look at the quirks then...

/Janne



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2001-10-28 18:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-10-26  6:31 HPT366 problems continued Janne Liimatainen
2001-10-27 21:42 ` Francois Romieu
2001-10-28  3:06   ` Andre Hedrick
2001-10-28 18:35     ` Janne Liimatainen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®