Lines Matching +full:spare +full:- +full:regs
1 /* SPDX-License-Identifier: GPL-2.0 */
3 * include/asm-m68k/dma.h
16 #define DVMA_PAGE_MASK (~(DVMA_PAGE_SIZE-1))
43 #define DVMA_SIZE (DVMA_END-DVMA_START)
47 /* empirical kludge -- dvma regions only seem to work right on 0x10000
50 #define DVMA_ALIGN(addr) (((addr)+DVMA_REGION_SIZE-1) & \
51 ~(DVMA_REGION_SIZE-1))
53 /* virt <-> phys conversions */
77 #define DVMA_SIZE (DVMA_END-DVMA_START)
80 #define IOMMU_ENTRIES (IOMMU_TOTAL_ENTRIES - 0x80)
119 struct sparc_dma_registers *regs; member
138 #define DMA_ISBROKEN(dma) ((dma)->revision == dvmarev1)
139 #define DMA_ISESC1(dma) ((dma)->revision == dvmaesc1)
177 #define DMA_BRST0 0x00080000 /* SCSI: no bursts (non-HME gate arrays) */
181 #define DMA_EN_ENETAUI DMA_3CLKS /* Put lance into AUI-cable mode */
189 /* Values describing the burst-size property from the PROM */
200 #define DMA_MAXEND(addr) (0x01000000UL-(((unsigned long)(addr))&0x00ffffffUL))
202 /* Yes, I hack a lot of elisp in my spare time... */
203 #define DMA_ERROR_P(regs) ((((regs)->cond_reg) & DMA_HNDL_ERROR)) argument
204 #define DMA_IRQ_P(regs) ((((regs)->cond_reg) & (DMA_HNDL_INTR | DMA_HNDL_ERROR))) argument
205 #define DMA_WRITE_P(regs) ((((regs)->cond_reg) & DMA_ST_WRITE)) argument
206 #define DMA_OFF(regs) ((((regs)->cond_reg) &= (~DMA_ENABLE))) argument
207 #define DMA_INTSOFF(regs) ((((regs)->cond_reg) &= (~DMA_INT_ENAB))) argument
208 #define DMA_INTSON(regs) ((((regs)->cond_reg) |= (DMA_INT_ENAB))) argument
209 #define DMA_PUNTFIFO(regs) ((((regs)->cond_reg) |= DMA_FIFO_INV)) argument
210 #define DMA_SETSTART(regs, addr) ((((regs)->st_addr) = (char *) addr)) argument
211 #define DMA_BEGINDMA_W(regs) \ argument
212 ((((regs)->cond_reg |= (DMA_ST_WRITE|DMA_ENABLE|DMA_INT_ENAB))))
213 #define DMA_BEGINDMA_R(regs) \ argument
214 ((((regs)->cond_reg |= ((DMA_ENABLE|DMA_INT_ENAB)&(~DMA_ST_WRITE)))))
231 struct sparc_dma_registers *regs = dma->regs; \
233 sparc_dma_pause(regs, (DMA_FIFO_ISDRAIN)); \
235 regs->cond_reg |= (DMA_RST_SCSI); /* assert */ \
237 regs->cond_reg &= ~(DMA_RST_SCSI); /* de-assert */ \
238 sparc_dma_enable_interrupts(regs); /* Re-enable interrupts */ \
240 if(dma->revision>dvmarev1) regs->cond_reg |= DMA_3CLKS; \
241 dma->running = 0; \