Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 09 Mar 1996 23:52:29 -0800
From:      "Jordan K. Hubbard" <jkh@time.cdrom.com>
To:        Sujal Patel <smpatel@wam.umd.edu>
Cc:        "Jordan K. Hubbard" <jkh@freefall.freebsd.org>, CVS-committers@freefall.freebsd.org, multimedia@freebsd.org
Subject:   Re: cvs commit: src/sys/i386/isa isa.c 
Message-ID:  <12332.826444349@time.cdrom.com>
In-Reply-To: Your message of "Sun, 10 Mar 1996 01:31:13 EST." <Pine.BSF.3.91.960310011430.321A-100000@xi.dorm.umd.edu> 

next in thread | previous in thread | raw e-mail | index | archive | help
> Of course, not printing out the error messages doesn't solve the problem :-)

Yes, I know.  I just wanted to shut things up until we could figure
out how to deal with the problem another way.  It's been happening for
many weeks now.

[The rest of the letter is included for the benefit of
freebsd-multimedia since I don't think that everyone involved is on
the cvs-committers list - thanks!]

					Jordan

> We need to fix the sound code.  What do you guys think of fixing it this way:
> 
> Break isa_dmastart() into a two routines:
> 
> 	int isa_acquire_dma()		Registers the channel as busy
> 					Returns 0 on success.
> 
> 	void isa_dmastart()		Does the rest of what the current
> 					isa_dmastart() does.
> 
> This will allow the sound device (and others??) to register it's DMA
> channel usage on open() and then use isa_dmastart() when the driver is 
> sending data to the sound card.  This will also give us the correct 
> behavior of denying access to /dev/dsp1 when /dev/dsp is open (on 
> non-duplexed cards).
> 
> The error messages that we recv. now will be cleared up because it'll 
> only check the channel's busy status on open() [in the sound driver].  
> 
> Also, I think we should remove the isa_dmadone_nobounce() function.  
> Since the sound driver maintains it's own DMA buffer, the arguments will 
> never be checked because (dma_bounced[chan] == 0) [ if something goes 
> wrong with that, then we deserve a panic :-) ].  This was originally 
> designed as a kludge anyway.
> 
> None of this will affect any of the other drivers that use these 
> routines, and this will fix a lot of bogus stuff in the sound drivers DMA 
> handling.  I'd be happy to implement this and update all of the 
> appropriate ISA drivers, if someone could bless this (maybe Bruce, it 
> looks like he wrote the original code for this?)
> 
> 
> Sujal
> 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?12332.826444349>