Re: Patch for Kernel 2.2.25 (atari-sound)
On Thu, 2003-03-27 at 08:14, Björn Buske wrote:
> I've found a small error in the atari sounddriver, that's present in all
> 2.2.x-versions of the kernel-source.
>
> In drivers/sound/dmasound.c, in the following function
>
> static void ata_sq_play_next_frame(int index)
> {
> char *start, *end;
>
> /* used by AtaPlay() if all doubts whether there really is something
> * to be played are already wiped out.
> */
> start = sq_block_address(sq.front);
> end = start+((sq.count == index) ? sq.rear_size : sq.block_size);
> /* end might not be a legal virtual address. */
> DMASNDSetEnd(VTOP(end - 1) + 1);
> DMASNDSetBase(VTOP(start));
> /* Since only an even number of samples per frame can
> be played, we might lose one byte here. (TO DO) */
> sq.front = (sq.front+1) % sq.max_count;
> sq.playing++;
> tt_dmasnd.ctrl = DMASND_CTRL_ON | DMASND_CTRL_REPEAT;
> }
>
> VTOP() needs to be replaced with virt_to_phys(), creating
>
> DMASNDSetEnd(virt_to_phys(end - 1) + 1);
> DMASNDSetBase(virt_to_phys(start));
>
> Otherwise, there'll be an unresolved sybol (obviously). I guess someone didn't
> grep all the sources for "VTOP" when the function was renamed...
>
> Anyway, if someone with write access to the repository could check this in,
> other atari-folks will be spared one error-message.
>
> Live long and prosper,
>
> Björn Buske
> _______________________________________________
I just committed this change to the CVS repository at
cvs.linux-mac68k.sourceforge.net:/cvsroot/linux-mac68k It has not been
tested as I don't have an atari.
Ray
Reply to: