linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: Trying to get DMA working with IDE alim15x3 controller
@ 2003-07-15 22:58 Bartlomiej Zolnierkiewicz
  2003-07-15 23:12 ` Bartlomiej Zolnierkiewicz
  2003-07-15 23:16 ` Art Haas
  0 siblings, 2 replies; 10+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2003-07-15 22:58 UTC (permalink / raw)
  To: Art Haas; +Cc: linux-kernel


Hi,

Can you try this patch?  It seems

--- alim15x3.c.orig	2003-04-20 04:49:10.000000000 +0200
+++ alim15x3.c	2003-07-16 00:39:15.351639072 +0200
@@ -753,7 +753,8 @@
 		return;
 	}

-	hwif->atapi_dma = 1;
+	if (m5229_revision <= 0x20)
+		hwif->atapi_dma = 1;

 	if (m5229_revision > 0x20)
 		hwif->ultra_mask = 0x3f;


^ permalink raw reply	[flat|nested] 10+ messages in thread
* Trying to get DMA working with IDE alim15x3 controller
@ 2003-07-14 17:31 Art Haas
  0 siblings, 0 replies; 10+ messages in thread
From: Art Haas @ 2003-07-14 17:31 UTC (permalink / raw)
  To: linux-kernel

Hi.

After recent success with getting a Turtle Beach Malibu sound card
working on my machine, I'm looking again at trying to get DMA working.
I've been booting with 'ide=nodma' for a long time now as the boot
sequence gets stuck after probing for the hard drives and partitions.
I should clarify "getting stuck" by saying the machine prints out lots
of "hda: drive not ready" and "hda: lost interrupt" messages but continues 
limp along.  With the release of 2.6.0-test1 (running it now) I tried again
to boot without 'ide=nodma' on the command line and sadly still saw the same
boot problems.

Here's some hdparm output describing the machine ...

$ hdparm /dev/hd?

/dev/hda:

 Model=ST33232A, FwRev=3.02, SerialNo=GH593339
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=6253/16/63, TrkSize=0, SectSize=0, ECCbytes=4
 BuffType=unknown, BuffSize=128kB, MaxMultSect=16, MultSect=off
 CurCHS=6253/16/63, CurSects=6303024, LBA=yes, LBAsects=6303024
 IORDY=on/off, tPIO={min:383,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 *udma2 
 AdvancedPM=no
 Drive conforms to: unknown:  0 1 2


/dev/hdb:

 Model=ATAPI CDROM, FwRev=V1.80, SerialNo=
 Config={ Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
 RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=unknown, BuffSize=16384kB, MaxMultSect=0
 (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
 IORDY=yes, tPIO={min:227,w/IORDY:180}, tDMA={min:150,rec:150}
 PIO modes:  pio0 pio1 pio2 pio4 
 DMA modes:  sdma0 sdma1 *sdma2 mdma0 mdma1 
 AdvancedPM=no


/dev/hdc:

 Model=FUJITSU MPD3084AT, FwRev=DD-03-47, SerialNo=05043987
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
 BuffType=unknown, BuffSize=512kB, MaxMultSect=16, MultSect=off
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=16514064
 IORDY=yes, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 *udma2 udma3 udma4 
 AdvancedPM=yes: disabled (255) WriteCache=enabled
 Drive conforms to: device does not report version:  1 2 3 4

Here's the IDE config bits for my 2.6.0-test1 kernel. I _do_ have the
alim15x3 driver compiled in ...

....
#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y

#
# IDE, ATA and ATAPI Block devices
#
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_IDE is not set
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
# CONFIG_IDEDISK_STROKE is not set
CONFIG_BLK_DEV_IDECD=m
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_IDE_TASK_IOCTL is not set
CONFIG_IDE_TASKFILE_IO=y

#
# IDE chipset support/bugfixes
#
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_IDEPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDE_TCQ is not set
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_PCI_WIP is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
CONFIG_BLK_DEV_ALI15X3=y
# CONFIG_WDC_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_RZ1000 is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_BLK_DEV_IDE_MODES=y
...

BTW, the IDE taskfile stuff seems to work here without a problem.

When I boot with the 'ide=nodma' argument the kernel prints out the
following:

...
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx
ALI15X3: IDE controller at PCI slot 0000:00:0b.0
ALI15X3: chipset revision 32
ALI15X3: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:pio, hdb:pio
    ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:pio, hdd:pio
hda: ST33232A, ATA DISK drive
hdb: ATAPI CDROM, ATAPI CD/DVD-ROM drive
anticipatory scheduling elevator
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hdc: FUJITSU MPD3084AT, ATA DISK drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
hda: task_no_data_intr: error=0x04 { DriveStatusError }
hda: 6303024 sectors (3227 MB) w/128KiB Cache, CHS=6253/16/63
 hda: hda1 hda2 < hda5 hda6 hda7 >
hdc: max request size: 128KiB
hdc: 16514064 sectors (8455 MB) w/512KiB Cache, CHS=16383/16/63
 hdc: hdc1 hdc2 < hdc5 hdc6 > hdc3
....

I noticed when booting up my new kernel without the 'nodma' argument
that the /dev/hdc drive seemed to present no problem at all when it was
being examined. The partition stuff was found quickly, and there was a
"(U)DMA" at the end of the line giving the sector count, cache size, and
CHS breakdown of the drive, so it looks like the problem is just
something regarding the hard drive and cdrom on the ide0 controller.
Looking at the 'ide.c' file for clues or bootup arguments I don't see a
way to specify activating DMA on only hda while not on hdb. Maybe it is
there and I'm missing something.

Perhaps the problem I'm seeing is a bug in the alim15x3 driver? Maybe
some configuration flag I've missed, or a combination of options given
in the ide.c file? Something else?

Suggestions welcomed, and any info that I can provide I will.

Thanks in advance.

Art Haas

-- 
Man once surrendering his reason, has no remaining guard against absurdities
the most monstrous, and like a ship without rudder, is the sport of every wind.

-Thomas Jefferson to James Smith, 1822

^ permalink raw reply	[flat|nested] 10+ messages in thread
* Linux v2.6.0-test1
@ 2003-07-14  7:26 Peter
  2003-07-14 17:59 ` Trying to get DMA working with IDE alim15x3 controller Peter
  0 siblings, 1 reply; 10+ messages in thread
From: Peter @ 2003-07-14  7:26 UTC (permalink / raw)
  To: linux-kernel


The kernel compiled with no errors. On booting, I got this:

ACPI: Subsystem revision 20030619
ACPI breakpoint: Executed AML Breakpoint opcode

If I just wanted to boot, which option should I disable?

This is a vpr matrix 200a5 laptop with an ALi M1671 chipset and various 
ACPI options enabled, including CONFIG_X86_P4_CLOCKMOD=m. Details below.

2.5.69 has been running fine for a long time now, but there are some new 
ACPI options. 

Cheers,
Peter


System:

00:00.0 Host bridge: ALi Corporation M1671 Super P4 Northbridge [AGP4X,PCI and SDR/DDR] (rev 02)
00:01.0 PCI bridge: ALi Corporation PCI to AGP Controller
00:06.0 Multimedia audio controller: ALi Corporation M5451 PCI AC-Link Controller Audio Device (rev 02)
00:07.0 ISA bridge: ALi Corporation M1533 PCI to ISA Bridge [Aladdin IV]
00:09.0 Network controller: Harris Semiconductor Prism 2.5 Wavelan chipset (rev 01)
00:0a.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller (rev 02)
00:0b.0 USB Controller: VIA Technologies, Inc. USB (rev 50)
00:0b.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51)
00:0c.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)
00:10.0 IDE interface: ALi Corporation M5229 IDE (rev c4)
00:11.0 Bridge: ALi Corporation M7101 PMU
00:12.0 Ethernet controller: National Semiconductor Corporation DP83815 (MacPhyter) Ethernet Controller
01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 420 Go 32M] (rev a3)


Configuration:

#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
CONFIG_SOFTWARE_SUSPEND=y

#
# ACPI Support
#
CONFIG_ACPI=y
# CONFIG_ACPI_HT_ONLY is not set
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_BUS=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y
# CONFIG_APM is not set

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
# CONFIG_CPU_FREQ_PROC_INTF is not set
CONFIG_CPU_FREQ_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_24_API is not set
CONFIG_CPU_FREQ_TABLE=y

#
# CPUFreq processor drivers
#
# CONFIG_X86_ACPI_CPUFREQ is not set
# CONFIG_X86_POWERNOW_K6 is not set
# CONFIG_X86_POWERNOW_K7 is not set
# CONFIG_X86_GX_SUSPMOD is not set
# CONFIG_X86_SPEEDSTEP_ICH is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_P4_CLOCKMOD=m
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_LONGHAUL is not set




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

end of thread, other threads:[~2003-07-16 17:24 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-15 22:58 Trying to get DMA working with IDE alim15x3 controller Bartlomiej Zolnierkiewicz
2003-07-15 23:12 ` Bartlomiej Zolnierkiewicz
2003-07-15 23:32   ` Art Haas
2003-07-16 11:34     ` Ivan Kokshaysky
2003-07-16 13:09     ` Alan Cox
     [not found]     ` <Pine.SOL.4.30.0307160212040.27735-100000@mion.elka.pw.edu.pl>
2003-07-16 13:40       ` Art Haas
2003-07-16 17:36       ` Art Haas
2003-07-15 23:16 ` Art Haas
  -- strict thread matches above, loose matches on Subject: below --
2003-07-14 17:31 Art Haas
2003-07-14  7:26 Linux v2.6.0-test1 Peter
2003-07-14 17:59 ` Trying to get DMA working with IDE alim15x3 controller Peter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).