diff options
| author | itohy <itohy@NetBSD.org> | 2006-09-07 12:46:47 +0000 |
|---|---|---|
| committer | itohy <itohy@NetBSD.org> | 2006-09-07 12:46:47 +0000 |
| commit | 6119b65726d32ec633b002a81345ceae329caa6b (patch) | |
| tree | 8fea0be3ea185473a574c0aa534d6dbc245c5f45 /sys/dev | |
| parent | bf52851800773b26ce28c63b9221187089a87a4f (diff) | |
Add PIOBM (busmastering transfer using ATA PIO mode) support.
The PIOBM is used by only one driver (will be added later,
stay tuned) and intruduce an attribute "ata_piobm" so that
it will be conditionally compiled in.
The "ata_dma" (busmastering transfer using ATA DMA mode) and
"ata_udma" (busmastering transfer using ATA Ultra DMA mode)
attributes are also added for consistency, but unused for now.
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/ic/wdcvar.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/sys/dev/ic/wdcvar.h b/sys/dev/ic/wdcvar.h index 63c5dbd5c75..3dafa22d287 100644 --- a/sys/dev/ic/wdcvar.h +++ b/sys/dev/ic/wdcvar.h @@ -1,4 +1,4 @@ -/* $NetBSD: wdcvar.h,v 1.84 2005/12/11 12:21:29 christos Exp $ */ +/* $NetBSD: wdcvar.h,v 1.85 2006/09/07 12:46:47 itohy Exp $ */ /*- * Copyright (c) 1998, 2003, 2004 The NetBSD Foundation, Inc. @@ -41,6 +41,7 @@ #include <sys/callout.h> +#include <dev/ata/ataconf.h> #include <dev/ic/wdcreg.h> #define WAITTIME (10 * hz) /* time to wait for a completion */ @@ -80,10 +81,20 @@ struct wdc_softc { int (*dma_init)(void *, int, int, void *, size_t, int); void (*dma_start)(void *, int, int); int (*dma_finish)(void *, int, int, int); +#if NATA_PIOBM + void (*piobm_start)(void *, int, int, int, int, int); + void (*piobm_done)(void *, int, int); +#endif /* flags passed to dma_init */ -#define WDC_DMA_READ 0x01 -#define WDC_DMA_IRQW 0x02 -#define WDC_DMA_LBA48 0x04 +#define WDC_DMA_READ 0x01 +#define WDC_DMA_IRQW 0x02 +#define WDC_DMA_LBA48 0x04 +#define WDC_DMA_PIOBM_ATA 0x08 +#define WDC_DMA_PIOBM_ATAPI 0x10 +#if NATA_PIOBM +/* flags passed to piobm_start */ +#define WDC_PIOBM_XFER_IRQ 0x01 +#endif /* values passed to dma_finish */ #define WDC_DMAEND_END 0 /* check for proper end of a DMA xfer */ |
