Bug 5929 - DMA not working on ATAPI HL-DT-ST GMA-4080N dvd drive
Summary: DMA not working on ATAPI HL-DT-ST GMA-4080N dvd drive
Status: RESOLVED PATCH_ALREADY_AVAILABLE
Alias: None
Product: IO/Storage
Classification: Unclassified
Component: IDE (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: Bartlomiej Zolnierkiewicz
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-01-20 14:32 UTC by Paul Lauria
Modified: 2006-01-24 00:18 UTC (History)
0 users

See Also:
Kernel Version: 2.6.15
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
dmesg (15.07 KB, text/plain)
2006-01-21 11:33 UTC, Paul Lauria
Details

Description Paul Lauria 2006-01-20 14:32:10 UTC
Most recent kernel where this bug did not occur:doesnt work in any, as far back
as 2.6.12
Distribution:Confirmed on Slackware, Knoppix 4.0.2, various other livecds
Hardware Environment:Acer Travelmate 8104: Intel 915GM chipset, Pentium M, PCI
Express
Software Environment:
Problem Description:DMA doesn't work on this drive, as the summary says. When I
try to use hdparm:

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

I have confirmed this issue on kernel(s) 2.6.15, 2.6.14, and 2.6.12, all with
various configs (custom slackware, standard Knoppix, standard RIP livecd config)

This is the first kernel bug I've ever filed, so please excuse any mistakes or
lacking information. I really'd like to get this resolved so I can watch dvds
without bringing my 2GHz Pentium M to its knees ;) So if you guy(s) or gal(s)
need any more information I'd be more than happy to comply. In fact I'm not
really sure just what info you guys can use, so I'll just give you dmesg and
lspci -v for now.

I have tried using scsi-emulation; this doesn't help.

There is nothing new in my dmesg when I try to set DMA to on with hdparm,
unfortunately.

Steps to reproduce:
1. Buy an Acer with this drive
2. Put in a dvd, play it with xine
3. ????
4. NO profit :(

dmesg | grep hdc
hdc: HL-DT-ST DVDRAM GMA-4080N, ATAPI CD/DVD-ROM drive
hdc: ATAPI 24X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache


lspci -v

00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express
Processor to DRAM Controller (rev 03)
	Subsystem: Acer Incorporated [ALI]: Unknown device 0070
	Flags: bus master, fast devsel, latency 0
	Capabilities: [e0] #09 [2109]

00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI Express Root
Port (rev 03) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 00002000-00002fff
	Memory behind bridge: c8100000-c81fffff
	Prefetchable memory behind bridge: d0000000-d7ffffff
	Capabilities: [88] #0d [0000]
	Capabilities: [80] Power Management version 2
	Capabilities: [90] Message Signalled Interrupts: 64bit- Queue=0/0 Enable-
	Capabilities: [a0] #10 [0141]

00:1b.0 Class 0403: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High
Definition Audio Controller (rev 04)
	Subsystem: Acer Incorporated [ALI]: Unknown device 0070
	Flags: bus master, fast devsel, latency 0, IRQ 10
	Memory at c8000000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [50] Power Management version 2
	Capabilities: [60] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
	Capabilities: [70] #10 [0091]

00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI
Express Port 1 (rev 04) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=09, subordinate=09, sec-latency=0
	Capabilities: [40] #10 [0141]
	Capabilities: [80] Message Signalled Interrupts: 64bit- Queue=0/0 Enable-
	Capabilities: [90] #0d [0000]
	Capabilities: [a0] Power Management version 2

00:1c.1 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI
Express Port 2 (rev 04) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=0a, subordinate=0a, sec-latency=0
	Capabilities: [40] #10 [0141]
	Capabilities: [80] Message Signalled Interrupts: 64bit- Queue=0/0 Enable-
	Capabilities: [90] #0d [0000]
	Capabilities: [a0] Power Management version 2

00:1c.2 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI
Express Port 3 (rev 04) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=02, subordinate=04, sec-latency=0
	Capabilities: [40] #10 [0141]
	Capabilities: [80] Message Signalled Interrupts: 64bit- Queue=0/0 Enable-
	Capabilities: [90] #0d [0000]
	Capabilities: [a0] Power Management version 2

00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family)
USB UHCI #1 (rev 04) (prog-if 00 [UHCI])
	Subsystem: Acer Incorporated [ALI]: Unknown device 0070
	Flags: bus master, medium devsel, latency 0, IRQ 11
	I/O ports at 1800 [size=32]

00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family)
USB UHCI #2 (rev 04) (prog-if 00 [UHCI])
	Subsystem: Acer Incorporated [ALI]: Unknown device 0070
	Flags: bus master, medium devsel, latency 0, IRQ 11
	I/O ports at 1820 [size=32]

00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family)
USB UHCI #3 (rev 04) (prog-if 00 [UHCI])
	Subsystem: Acer Incorporated [ALI]: Unknown device 0070
	Flags: bus master, medium devsel, latency 0, IRQ 10
	I/O ports at 1840 [size=32]

00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family)
USB UHCI #4 (rev 04) (prog-if 00 [UHCI])
	Subsystem: Acer Incorporated [ALI]: Unknown device 0070
	Flags: bus master, medium devsel, latency 0, IRQ 10
	I/O ports at 1860 [size=32]

00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family)
USB2 EHCI Controller (rev 04) (prog-if 20 [EHCI])
	Subsystem: Acer Incorporated [ALI]: Unknown device 0070
	Flags: bus master, medium devsel, latency 0, IRQ 11
	Memory at c8004000 (32-bit, non-prefetchable) [size=1K]
	Capabilities: [50] Power Management version 2
	Capabilities: [58] #0a [20a0]

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d4) (prog-if
01 [Subtractive decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=06, subordinate=08, sec-latency=32
	I/O behind bridge: 00003000-00003fff
	Memory behind bridge: c8200000-c82fffff
	Prefetchable memory behind bridge: 0000000050000000-0000000051f00000
	Capabilities: [50] #0d [0000]

00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 04)
	Subsystem: Acer Incorporated [ALI]: Unknown device 0070
	Flags: bus master, medium devsel, latency 0

00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Controller (rev
04) (prog-if 80 [Master])
	Subsystem: Acer Incorporated [ALI]: Unknown device 0070
	Flags: bus master, 66Mhz, medium devsel, latency 0, IRQ 11
	I/O ports at <unassigned>
	I/O ports at <unassigned>
	I/O ports at <unassigned>
	I/O ports at <unassigned>
	I/O ports at 18a0 [size=16]
	Capabilities: [70] Power Management version 2

00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus
Controller (rev 04)
	Subsystem: Acer Incorporated [ALI]: Unknown device 0070
	Flags: medium devsel, IRQ 11
	I/O ports at 18e0 [size=32]

01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X700
(PCIE) (prog-if 00 [VGA])
	Subsystem: Acer Incorporated [ALI]: Unknown device 0070
	Flags: bus master, fast devsel, latency 0, IRQ 10
	Memory at d0000000 (32-bit, prefetchable) [size=128M]
	I/O ports at 2000 [size=256]
	Memory at c8100000 (32-bit, non-prefetchable) [size=64K]
	Expansion ROM at c8120000 [disabled] [size=128K]
	Capabilities: [50] Power Management version 2
	Capabilities: [58] #10 [0001]
	Capabilities: [80] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-

06:03.0 Network controller: Intel Corporation PRO/Wireless 2915ABG MiniPCI
Adapter (rev 05)
	Subsystem: Intel Corporation: Unknown device 1000
	Flags: bus master, medium devsel, latency 32, IRQ 11
	Memory at c8214000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [dc] Power Management version 2

06:06.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5788 Gigabit
Ethernet (rev 03)
	Subsystem: Acer Incorporated [ALI]: Unknown device 0070
	Flags: bus master, 66Mhz, medium devsel, latency 32, IRQ 10
	Memory at c8200000 (32-bit, non-prefetchable) [size=64K]
	Capabilities: [48] Power Management version 2
	Capabilities: [50] Vital Product Data
	Capabilities: [58] Message Signalled Interrupts: 64bit+ Queue=0/3 Enable-

06:07.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21 IEEE-1394a-2000
Controller (PHY/Link) (prog-if 10 [OHCI])
	Subsystem: Acer Incorporated [ALI]: Unknown device 0070
	Flags: medium devsel, IRQ 11
	Memory at c8215000 (32-bit, non-prefetchable) [size=2K]
	Memory at c8210000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: [44] Power Management version 2

06:09.0 CardBus bridge: O2 Micro, Inc. OZ711M3/MC3 4-in-1 MemoryCardBus Controller
	Subsystem: Acer Incorporated [ALI]: Unknown device 0070
	Flags: bus master, slow devsel, latency 64, IRQ 10
	Memory at c8216000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=06, secondary=07, subordinate=08, sec-latency=176
	Memory window 0: 50000000-51fff000 (prefetchable)
	Memory window 1: 52000000-53fff000
	I/O window 0: 00003000-000030ff
	I/O window 1: 00003400-000034ff
	16-bit legacy interface ports at 0001

06:09.1 CardBus bridge: O2 Micro, Inc. OZ711M3/MC3 4-in-1 MemoryCardBus Controller
	Subsystem: Acer Incorporated [ALI]: Unknown device 0070
	Flags: bus master, slow devsel, latency 33, IRQ 10
	Memory at c8217000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=06, secondary=08, subordinate=08, sec-latency=36
	I/O window 1: 00000000-00000003
	16-bit legacy interface ports at 0001

06:09.2 System peripheral: O2 Micro, Inc. OZ711Mx 4-in-1 MemoryCardBus Accelerator
	Subsystem: Acer Incorporated [ALI]: Unknown device 0070
	Flags: slow devsel, IRQ 10
	Memory at c8218000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [a0] Power Management version 2

06:09.3 CardBus bridge: O2 Micro, Inc. OZ711M3/MC3 4-in-1 MemoryCardBus Controller
	Subsystem: Acer Incorporated [ALI]: Unknown device 0070
	Flags: bus master, stepping, slow devsel, latency 0, IRQ 10
	Memory at c8219000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=00, subordinate=00, sec-latency=0
	I/O window 0: 00000000-00000003
	I/O window 1: 00000000-00000003
	16-bit legacy interface ports at 0001
Comment 1 Paul Lauria 2006-01-20 16:16:53 UTC
Oh, silly me. Here is the output of hdparm -i and -I



/dev/hdc:

 Model=HL-DT-ST DVDRAM GMA-4080N, FwRev=0H35, SerialNo=K01575B5949
 Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
 RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=unknown, BuffSize=0kB, MaxMultSect=0
 (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 *udma2 
 AdvancedPM=no
 Drive conforms to: ATA/ATAPI-5 T13 1321D revision 3: 

 * signifies the current active mode


ATAPI CD-ROM, with removable media
	Model Number:       HL-DT-ST DVDRAM GMA-4080N               
	Serial Number:      K01575B5949         
	Firmware Revision:  0H35    
Standards:
	Likely used CD-ROM ATAPI-1
Configuration:
	DRQ response: 50us.
	Packet size: 12 bytes
Capabilities:
	LBA, IORDY(can be disabled)
	DMA: mdma0 mdma1 *mdma2 udma0 udma1 udma2 
	     Cycle time: min=120ns recommended=120ns
	PIO: pio0 pio1 pio2 pio3 pio4 
	     Cycle time: no flow control=120ns  IORDY flow control=120ns
HW reset results:
	CBLID- below Vih
	Device num = 0
Comment 2 Paul Lauria 2006-01-20 16:18:57 UTC
Also : hdparm /dev/hdc

 unmaskirq    =  0 (/dev/hdc:
 IO_support   =  0 (default 16-bit)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)


Need any more info just ask..
Comment 3 Bartlomiej Zolnierkiewicz 2006-01-21 06:27:39 UTC
please send dmesg output (it is the most useful data)
Comment 4 Paul Lauria 2006-01-21 11:33:34 UTC
Created attachment 7087 [details]
dmesg 

Ignore the "ipw2200 not found", as I had just recompiled the kernel and hadn't
yet recompiled the wireless driver
Comment 5 Bartlomiej Zolnierkiewicz 2006-01-23 03:05:11 UTC
> Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
> ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> ide0: I/O resource 0x1F0-0x1F7 not free.
> ide0: ports already in use, skipping probe
> Probing IDE interface ide1...
> hdc: HL-DT-ST DVDRAM GMA-4080N, ATAPI CD/DVD-ROM drive
> ide1 at 0x170-0x177,0x376 on irq 15

You don't seem to be using IDE piix driver et all (=> no DMA).

You may also need to use "combined_mode=" kernel parameter
(see Documentation/kernel-parameters.txt).

Please let me know if this helps.
Comment 6 Paul Lauria 2006-01-23 17:27:24 UTC
I have that and "Use Multimode by default" compiled in the kernel (not as
modules. though I dont think this'll make a difference)

I tried setting /dev/hdc -X mdma2 before changing to DMA, but no dice.
Comment 7 Paul Lauria 2006-01-23 17:28:41 UTC
The same behavior is also exhibited on Knoppix, which has compiled pretty much
everything as a module.
Comment 8 Paul Lauria 2006-01-23 17:58:52 UTC
Actually, I was incorrect -- I mistook combined mode  for "multimode"...(it's
been a long day)...

Adding 

combined_mode=libata and 
libata.atapi_enabled=1 

from

http://lkml.org/lkml/2005/11/29/186

to my kernel grub line fixes things!! Apparently this is very new...it's in
2.6.16-rc1 but I'm a little wary of the rc test kernels (further I doubt fglrx
could handle it...) Where might I find this patch split out? Or is it even split
out somewhere?

Thank you so very much "Bart" (I won't even try to pronounce your name :P I hav
a hard enough time in my spanish class! )! I dont think I'd of got this fixed
without your help!
Comment 9 Paul Lauria 2006-01-23 18:04:50 UTC
> Where might I find this patch split out? Or is it even split
> out somewhere?

Um, didn't I just link to the patch?

Geeze...time to lie down for a while...sorry for the bugzilla spam :P
Comment 10 Bartlomiej Zolnierkiewicz 2006-01-24 00:18:05 UTC
Thanks for reporting that it fixes the problem.

Note You need to log in before you can comment on or make changes to this bug.