/* Programs an ISA DMA transfer for the given buffer.  */
void snd_dma_program(unsigned long dma, unsigned long addr, unsigned int size, unsigned short mode)
/* Programs an ISA DMA transfer for the given buffer.  */
void snd_dma_program(unsigned long dma, unsigned long addr, unsigned int size, unsigned short mode)
{
	unsigned long flags;
	flags = claim_dma_lock();
	disable_dma(dma);
	clear_dma_ff(dma);
	set_dma_mode(dma, mode);
	set_dma_addr(dma, addr);
	set_dma_count(dma, size);
	if (!(mode & DMA_MODE_NO_ENABLE))
		enable_dma(dma);
	release_dma_lock(flags);
}