[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Can't enable DMA



Shyamal Prasad wrote:
>     "Andrew" == Andrew McGuinness <andrew@arobeia.co.uk> writes:
>
>     Andrew> Aaron wrote:
>     >>
>     >> I've been having this same problem, but apparently my VIA
>     >> version doesn't match 82CXXX, so I'm completely dead in the
>     >> water for DMA (I know, VIA is bad). I want to buy a PCI IDE
>
>     Andrew> You need a newer kernel.  Stock 2.4.18 wasn't up-to-date
>     Andrew> with VIA agp chipsets -- Red Hat always patch their
>     Andrew> kernels with driver updates, which is why your Red Hat
>     Andrew> system worked.
>
> While this is true I'd be interested in what AGP has to do with DMA. I
> have a KT266A based motherboard (Soyo K7V Dragon+), and I run Debian's
> 2.4.18-k7, and DMA works great for me....???
>
> Perhaps it is because I do not load the agpgart module. I don't use
> AGP because I use a $20 Mach64 card to throw a lot of pixels on to my
> 21 inch monitor for emacs and xterms. No fancy graphics and stuff. Is
> it the act of turning on AGP that causes the 2.4.18 kernel to make DMA
> unavailable?
>

You're right; the AGP stuff is irrelevant.  It's the PCI ids and the ide
driver that matter for this stuff, I was mistaken about the AGP.

If you look at the pci_ids.h for 2.4.18, you can see that there is an id
for the VT8233, which it seems you have with the KT266, but not for the
VT8235, which Aaron has with is KT266A and I have with my KM266.

http://lxr.linux.no/source/include/linux/pci_ids.h?v=2.4.18#L961

I notice that the via82cxxx.c driver in 2.4.18 actually does have code
for the 8235, but it's ifdef'ed out unless "FUTURE_BRIDGES" is defined,
and it isn't, anywhere. It looks like the code was added but not enabled
at that point.

The support was added by 2.4.20, so there is every reason to suppose
that Aaron's DMA will work with 2.4.20 or 21.

http://lxr.linux.no/source/drivers/ide/via82cxxx.c#L73


> shyamal@rattler:~$ dmesg | grep agp
> shyamal@rattler:~$ dmesg | grep KT
> shyamal@rattler:~$ /sbin/lsmod | grep agp
> shyamal@rattler:~$ lspci
> 00:00.0 Host bridge: VIA Technologies, Inc. VT8367 [KT266]
> 00:01.0 PCI bridge: VIA Technologies, Inc. VT8367 [KT266 AGP]
> 00:0e.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)
> 00:11.0 ISA bridge: VIA Technologies, Inc. VT8233 PCI to ISA Bridge
> 00:11.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 06)
> 00:11.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 1b)
> 00:11.3 USB Controller: VIA Technologies, Inc. UHCI USB (rev 1b)
> 00:11.4 USB Controller: VIA Technologies, Inc. UHCI USB (rev 1b)
> 00:12.0 Ethernet controller: VIA Technologies, Inc. Ethernet Controller (rev 70) > 01:00.0 VGA compatible controller: ATI Technologies Inc Rage XL AGP (rev 27)

lspci doesn't show exactly what PCI device is being used for IDE, but
the 8233 southbridge is listed above for its ISA function, so I'm pretty
sure that's what you've got.  VIA added a lot of features to the KT266A
compared to the KT266 (they sound similar because they support the same
memory and processor buses).  The VT8233 does UDMA100 and the VT8235
does UDMA133.  I think 2.4.18 didn't support UDMA133 devices at all.



>
> Cheers!
> Shyamal
>
>




Reply to: