2002-08-29 01:34:05

by Juergen Sawinski

[permalink] [raw]
Subject: [PATCH 2.4.20-pre4-ac2] fix broken i810_audio DMA (?)

Changes:
-remove dma reset in stop_{dac,adc}
(from ICH4 manual: contents of all Bus master related registers to be
reset; so, probably some registers are not re-initilized properly on
consecutive re-opening of /dev/dsp ???)
-remove writes to OFF_CIV, instead set LVI relative to CIV

and some stuff that was already in the last diff I send to the list:
-implement a codec ID <-> IO register offset mapping
-in i810_ioctl, case SNDCTL_DSP_CHANNELS: only touch bits 20:21
off GLOB_CNT (multichannel capabilities)
-AMD 8111 has 6 hw channels so I must have mmio (but I don't have
any docs to verify this)
-minor fixes

--
Juergen "George" Sawinski
Max-Planck Institute for Medical Research
Dept. of Biomedical Optics
Jahnstr. 29
D-69120 Heidelberg
Germany

Phone: +49-6221-486-308
Fax: +49-6221-486-325

priv.
Phone: +49-6221-418 858
Mobile: +49-171-532 5302



2002-08-29 16:19:27

by Juergen Sawinski

[permalink] [raw]
Subject: [PATCH 2.4.20-pre4-ac2] fix broken i810_audio DMA (?)

F*ck. This time the patch attached.
Thanx Jim.

George

On Thu, 2002-08-29 at 03:39, Juergen Sawinski wrote:
> Changes:
> -remove dma reset in stop_{dac,adc}
> (from ICH4 manual: contents of all Bus master related registers to be
> reset; so, probably some registers are not re-initilized properly on
> consecutive re-opening of /dev/dsp ???)
> -remove writes to OFF_CIV, instead set LVI relative to CIV
>
> and some stuff that was already in the last diff I send to the list:
> -implement a codec ID <-> IO register offset mapping
> -in i810_ioctl, case SNDCTL_DSP_CHANNELS: only touch bits 20:21
> off GLOB_CNT (multichannel capabilities)
> -AMD 8111 has 6 hw channels so I must have mmio (but I don't have
> any docs to verify this)
> -minor fixes
>
> --
> Juergen "George" Sawinski
> Max-Planck Institute for Medical Research
> Dept. of Biomedical Optics
> Jahnstr. 29
> D-69120 Heidelberg
> Germany
>
> Phone: +49-6221-486-308
> Fax: +49-6221-486-325
>
> priv.
> Phone: +49-6221-418 858
> Mobile: +49-171-532 5302
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
Juergen "George" Sawinski
Max-Planck-Institute for Medical Research
Dept. of Biomedical Optics
Jahnstr. 29
D-69120 Heidelberg
Germany

Phone: +49-6221-486-309
Fax: +49-6221-486-325

priv.
Phone: +49-6221-418 848
Mobile: +49-171-532 5302


Attachments:
diff-pre4-ac2-jsaw-2 (9.64 kB)

2002-08-29 16:40:47

by Andris Pavenis

[permalink] [raw]
Subject: Re: [PATCH 2.4.20-pre4-ac2] fix broken i810_audio DMA (?)

On Thursday 29 August 2002 19:26, Juergen Sawinski wrote:
> F*ck. This time the patch attached.
> Thanx Jim.

Thanks. It works for me (both from KDE-3.1-beta1 and RealPlayer).

Andris

>
> George
>
> On Thu, 2002-08-29 at 03:39, Juergen Sawinski wrote:
> > Changes:
> > -remove dma reset in stop_{dac,adc}
> > (from ICH4 manual: contents of all Bus master related registers to be
> > reset; so, probably some registers are not re-initilized properly on
> > consecutive re-opening of /dev/dsp ???)
> > -remove writes to OFF_CIV, instead set LVI relative to CIV
> >
> > and some stuff that was already in the last diff I send to the list:
> > -implement a codec ID <-> IO register offset mapping
> > -in i810_ioctl, case SNDCTL_DSP_CHANNELS: only touch bits 20:21
> > off GLOB_CNT (multichannel capabilities)
> > -AMD 8111 has 6 hw channels so I must have mmio (but I don't have
> > any docs to verify this)
> > -minor fixes
> >

2002-08-29 16:52:11

by Juergen Sawinski

[permalink] [raw]
Subject: Re: [PATCH 2.4.20-pre4-ac2] fix broken i810_audio DMA (?)

On Thu, 2002-08-29 at 18:50, Jim Radford wrote:
> On Thu, Aug 29, 2002 at 06:26:18PM +0200, Juergen Sawinski wrote:
> > F*ck. This time the patch attached.
> > Thanx Jim.
>
> You're welcome.
>
> It works better, but it's not fixed.
>
> o Playing through oss directly works like before
> o No more scratchy sound on artsd startup.
> o Playing one song at a time through artsd works.
> o Giving two songs to ogg123 to play through artsd
> works until you Ctrl-C to skip to the next song.
> It then hangs (like before, but with no dmesg output)

Can you uncomment the DEBUG defines and try the ogg123 thing again?

> Thanks,
> -Jim
>
> > On Thu, 2002-08-29 at 03:39, Juergen Sawinski wrote:
> > > Changes:
> > > -remove dma reset in stop_{dac,adc}
> > > (from ICH4 manual: contents of all Bus master related registers to be
> > > reset; so, probably some registers are not re-initilized properly on
> > > consecutive re-opening of /dev/dsp ???)
> > > -remove writes to OFF_CIV, instead set LVI relative to CIV
> > >
> > > and some stuff that was already in the last diff I send to the list:
> > > -implement a codec ID <-> IO register offset mapping
> > > -in i810_ioctl, case SNDCTL_DSP_CHANNELS: only touch bits 20:21
> > > off GLOB_CNT (multichannel capabilities)
> > > -AMD 8111 has 6 hw channels so I must have mmio (but I don't have
> > > any docs to verify this)
> > > -minor fixes
--
Juergen "George" Sawinski
Max-Planck-Institute for Medical Research
Dept. of Biomedical Optics
Jahnstr. 29
D-69120 Heidelberg
Germany

Phone: +49-6221-486-309
Fax: +49-6221-486-325

priv.
Phone: +49-6221-418 848
Mobile: +49-171-532 5302

2002-08-29 16:46:00

by Jim Radford

[permalink] [raw]
Subject: Re: [PATCH 2.4.20-pre4-ac2] fix broken i810_audio DMA (?)

On Thu, Aug 29, 2002 at 06:26:18PM +0200, Juergen Sawinski wrote:
> F*ck. This time the patch attached.
> Thanx Jim.

You're welcome.

It works better, but it's not fixed.

o Playing through oss directly works like before
o No more scratchy sound on artsd startup.
o Playing one song at a time through artsd works.
o Giving two songs to ogg123 to play through artsd
works until you Ctrl-C to skip to the next song.
It then hangs (like before, but with no dmesg output)

Thanks,
-Jim

> On Thu, 2002-08-29 at 03:39, Juergen Sawinski wrote:
> > Changes:
> > -remove dma reset in stop_{dac,adc}
> > (from ICH4 manual: contents of all Bus master related registers to be
> > reset; so, probably some registers are not re-initilized properly on
> > consecutive re-opening of /dev/dsp ???)
> > -remove writes to OFF_CIV, instead set LVI relative to CIV
> >
> > and some stuff that was already in the last diff I send to the list:
> > -implement a codec ID <-> IO register offset mapping
> > -in i810_ioctl, case SNDCTL_DSP_CHANNELS: only touch bits 20:21
> > off GLOB_CNT (multichannel capabilities)
> > -AMD 8111 has 6 hw channels so I must have mmio (but I don't have
> > any docs to verify this)
> > -minor fixes