2001-02-20 12:41:10

by Vojtech Pavlik

[permalink] [raw]
Subject: [patch] VIA 4.2x driver for 2.2 kernels

Hi Andre!

You wanted my VIA driver for 2.2. Here is a patch that brings the very
latest 4.2 driver to the 2.2 kernel. The patch is against the
2.2.19-pre13 kernel plus yours 1221 ide patch.

Enjoy!

--
Vojtech Pavlik
SuSE Labs


Attachments:
(No filename) (229.00 B)
via-4.2x-for-2.2.19-pre13-ide1221.diff.bz2 (16.08 kB)
Download all attachments

2001-02-21 00:00:18

by Shane

[permalink] [raw]
Subject: Re: [patch] VIA 4.2x driver for 2.2 kernels

On Tue, Feb 20, 2001 at 01:40:28PM +0100, Vojtech Pavlik wrote:
> Hi Andre!
>
> You wanted my VIA driver for 2.2. Here is a patch that brings the very
> latest 4.2 driver to the 2.2 kernel. The patch is against the
> 2.2.19-pre13 kernel plus yours 1221 ide patch.
Hi,

This drivers breaks with my HP 8110 CD-R drive. It's
sitting on primary slave of a Via 686B controler. When I
try to do a hdparm -d1 -u1 -k1 /dev/hdb, the kernel locks
up hard. Not even an oops. Reverting to the old driver
works fine.

Uniform Multi-Platform E-IDE driver Revision: 6.30
ide: Assuming 33MHz system bus speed for PIO modes;
override with idebus=xx
VP_IDE: IDE controller on PCI bus 00 dev 39
VP_IDE: chipset revision 6
VP_IDE: not 100%% native mode: will probe irqs later
VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100 controller on
pci00:07.1
ide0: BM-DMA at 0xc000-0xc007, BIOS settings: hda:pio,
hdb:pio
ide1: BM-DMA at 0xc008-0xc00f, BIOS settings: hdc:pio,
hdd:pio
HPT370: IDE controller on PCI bus 00 dev 70
HPT370: chipset revision 3
HPT370: not 100%% native mode: will probe irqs later
ide2: BM-DMA at 0xec00-0xec07, BIOS settings: hde:DMA,
hdf:pio
ide3: BM-DMA at 0xec08-0xec0f, BIOS settings: hdg:DMA,
hdh:pio
hdb: Hewlett-Packard CD-Writer Plus 8100, ATAPI CDROM drive
VP_IDE: Calibrating PCI clock ... 34.91 MHz
hde: Maxtor 92720U8, ATA DISK drive
hdg: Maxtor 96147U8, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide2 at 0xdc00-0xdc07,0xe002 on irq 10
ide3 at 0xe400-0xe407,0xe802 on irq 10
hde: Maxtor 92720U8, 25965MB w/2048kB Cache,
CHS=52755/16/63, UDMA(66)
hdg: Maxtor 96147U8, 58623MB w/2048kB Cache,
CHS=119108/16/63, UDMA(66)

The one thing I see here which looks odd is the PCI clock
timing at 34.91 MHZ. The CPU is not overclocked so the PCI
clock should be 33MHZ but that's probably not related.

Regards,
Shane

--
Shane Wegner: [email protected]
http://www.cm.nu/~shane/
PGP: 1024D/FFE3035D
A0ED DAC4 77EC D674 5487
5B5C 4F89 9A4E FFE3 035D

2001-02-21 07:09:42

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: [patch] VIA 4.2x driver for 2.2 kernels

On Tue, Feb 20, 2001 at 03:59:27PM -0800, Shane Wegner wrote:

> > You wanted my VIA driver for 2.2. Here is a patch that brings the very
> > latest 4.2 driver to the 2.2 kernel. The patch is against the
> > 2.2.19-pre13 kernel plus yours 1221 ide patch.
>
> This drivers breaks with my HP 8110 CD-R drive. It's
> sitting on primary slave of a Via 686B controler. When I
> try to do a hdparm -d1 -u1 -k1 /dev/hdb, the kernel locks
> up hard. Not even an oops. Reverting to the old driver
> works fine.

Don't do that. Use the kernel option to enable DMA instead.

Hmm, I'll have to look into this anyway - many users seem to do that and
it isn't as harmless as it looks (it worked by pure luck with the
previous version).

--
Vojtech Pavlik
SuSE Labs

2001-02-21 07:15:33

by Shane

[permalink] [raw]
Subject: Re: [patch] VIA 4.2x driver for 2.2 kernels

On Wed, Feb 21, 2001 at 08:09:19AM +0100, Vojtech Pavlik wrote:
> On Tue, Feb 20, 2001 at 03:59:27PM -0800, Shane Wegner wrote:
>
> > > You wanted my VIA driver for 2.2. Here is a patch that brings the very
> > > latest 4.2 driver to the 2.2 kernel. The patch is against the
> > > 2.2.19-pre13 kernel plus yours 1221 ide patch.
> >
> > This drivers breaks with my HP 8110 CD-R drive. It's
> > sitting on primary slave of a Via 686B controler. When I
> > try to do a hdparm -d1 -u1 -k1 /dev/hdb, the kernel locks
> > up hard. Not even an oops. Reverting to the old driver
> > works fine.
>
> Don't do that. Use the kernel option to enable DMA instead.
>
> Hmm, I'll have to look into this anyway - many users seem to do that and
> it isn't as harmless as it looks (it worked by pure luck with the
> previous version).
Ok, can I still use -u1 -k1 -c1 on the drives or is it even
necessary anymore. Is the deprecation of -d1 VIA IDE
specific or does it apply to the entire subsystem.

--
Shane Wegner: [email protected]
http://www.cm.nu/~shane/
PGP: 1024D/FFE3035D
A0ED DAC4 77EC D674 5487
5B5C 4F89 9A4E FFE3 035D

2001-02-21 07:24:18

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: [patch] VIA 4.2x driver for 2.2 kernels

On Tue, Feb 20, 2001 at 11:15:02PM -0800, Shane Wegner wrote:
> On Wed, Feb 21, 2001 at 08:09:19AM +0100, Vojtech Pavlik wrote:
> > On Tue, Feb 20, 2001 at 03:59:27PM -0800, Shane Wegner wrote:
> >
> > > > You wanted my VIA driver for 2.2. Here is a patch that brings the very
> > > > latest 4.2 driver to the 2.2 kernel. The patch is against the
> > > > 2.2.19-pre13 kernel plus yours 1221 ide patch.
> > >
> > > This drivers breaks with my HP 8110 CD-R drive. It's
> > > sitting on primary slave of a Via 686B controler. When I
> > > try to do a hdparm -d1 -u1 -k1 /dev/hdb, the kernel locks
> > > up hard. Not even an oops. Reverting to the old driver
> > > works fine.
> >
> > Don't do that. Use the kernel option to enable DMA instead.
> >
> > Hmm, I'll have to look into this anyway - many users seem to do that
> > and it isn't as harmless as it looks (it worked by pure luck with
> > the previous version).

> Ok, can I still use -u1 -k1 -c1 on the drives or is it even
> necessary anymore.

If you enable automatic DMA in the kernel config, it isn't necessary at
all. The VIA driver sets up everything.

> Is the deprecation of -d1 VIA IDE
> specific or does it apply to the entire subsystem.

Well, in my opinion it was always a potentially dangerous option and so
it remains. I'll update the VIA driver to make sure its not dangerous
at least with it anymore.

Scenario:

1) AutoDMA not enabled
2) VIA sets PIO mode on boot
3) User enables DMA -> IDE driver starts using dma
4) But VIA is still set to PIO mode

I'll have to make the VIA driver check when IDE dma is enabled, test
whether the chipset was already programmed for it and program the
chipset for it if needed.

--
Vojtech Pavlik
SuSE Labs

2001-02-21 14:01:03

by Rogerio Brito

[permalink] [raw]
Subject: Re: [patch] VIA 4.2x driver for 2.2 kernels

On Feb 21 2001, Vojtech Pavlik wrote:
> Don't do that. Use the kernel option to enable DMA instead.

You mean using hdparm can cause problems? Could you provide
more details on the problems that could arise? I'm completely
ignorant on the subject...


[]s, Roger...

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Rogerio Brito - [email protected] - http://www.ime.usp.br/~rbrito/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

2001-02-21 14:05:53

by Rogerio Brito

[permalink] [raw]
Subject: Re: [patch] VIA 4.2x driver for 2.2 kernels

On Feb 21 2001, Vojtech Pavlik wrote:
> On Tue, Feb 20, 2001 at 11:15:02PM -0800, Shane Wegner wrote:
> > Ok, can I still use -u1 -k1 -c1 on the drives or is it even
> > necessary anymore.
>
> If you enable automatic DMA in the kernel config, it isn't necessary
> at all. The VIA driver sets up everything.

Ok. Please disregard my last message (this one contains
exactly what I was looking for).

> 4) But VIA is still set to PIO mode

Why does this happen?

And what about the other options to hdparm (-u1 -k1 -c1)? Are
they potentially dangerous also?


[]s, Roger...

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Rogerio Brito - [email protected] - http://www.ime.usp.br/~rbrito/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

2001-02-21 21:24:20

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: [patch] VIA 4.2x driver for 2.2 kernels

On Wed, Feb 21, 2001 at 11:05:33AM -0300, Rogerio Brito wrote:
> On Feb 21 2001, Vojtech Pavlik wrote:
> > On Tue, Feb 20, 2001 at 11:15:02PM -0800, Shane Wegner wrote:
> > > Ok, can I still use -u1 -k1 -c1 on the drives or is it even
> > > necessary anymore.
> >
> > If you enable automatic DMA in the kernel config, it isn't necessary
> > at all. The VIA driver sets up everything.
>
> Ok. Please disregard my last message (this one contains
> exactly what I was looking for).
>
> > 4) But VIA is still set to PIO mode
>
> Why does this happen?
>
> And what about the other options to hdparm (-u1 -k1 -c1)? Are
> they potentially dangerous also?

Well, I checked today and my fears were *not* confirmed. Actually the
VIA driver will set up the chipset for UDMA even when UDMA won't be
later used, so it's all OK.

--
Vojtech Pavlik
SuSE Labs

2001-02-21 23:45:50

by Shane

[permalink] [raw]
Subject: Re: [patch] VIA 4.2x driver for 2.2 kernels

On Wed, Feb 21, 2001 at 08:23:48AM +0100, Vojtech Pavlik wrote:
> On Tue, Feb 20, 2001 at 11:15:02PM -0800, Shane Wegner wrote:
> > On Wed, Feb 21, 2001 at 08:09:19AM +0100, Vojtech Pavlik wrote:
> > >
> > > > > You wanted my VIA driver for 2.2. Here is a patch that brings the very
> > > > > latest 4.2 driver to the 2.2 kernel. The patch is against the
> > > > > 2.2.19-pre13 kernel plus yours 1221 ide patch.
> > > >
> > > > This drivers breaks with my HP 8110 CD-R drive. It's
> > > > sitting on primary slave of a Via 686B controler. When I
> > > > try to do a hdparm -d1 -u1 -k1 /dev/hdb, the kernel locks
> > > > up hard. Not even an oops. Reverting to the old driver
> > > > works fine.
> > >
> > > Don't do that. Use the kernel option to enable DMA instead.

Hi,

I have investigated this problem further. The hdparm
triggers the error but is not the cause. hdparm accesses
/dev/hdb which is my cd-r drive. This triggers the loading
of the cdrom and ide-cd modules. Manually loading cdrom
succeeds, after which, manually loading ide-cd crashes the
system. No need to even open() the device. This works
fine with the VIA driver from 2.2.19pre14+ide-2.2.18-1221.

Regards,
Shane

--
Shane Wegner: [email protected]
http://www.cm.nu/~shane/
PGP: 1024D/FFE3035D
A0ED DAC4 77EC D674 5487
5B5C 4F89 9A4E FFE3 035D