summaryrefslogtreecommitdiff
path: root/sys/dev/ebus
diff options
context:
space:
mode:
authorkent <kent@NetBSD.org>2005-01-11 04:23:14 +0000
committerkent <kent@NetBSD.org>2005-01-11 04:23:14 +0000
commit561096954496cbd548e39ab193fa6e98dc62ca59 (patch)
tree90ff74b31ea65dc8f844bb719281ce33548a01b7 /sys/dev/ebus
parent9750b8741de854fcf16f64594c377e08c15461d1 (diff)
ansify and KNF
Diffstat (limited to 'sys/dev/ebus')
-rw-r--r--sys/dev/ebus/cs4231_ebus.c187
-rw-r--r--sys/dev/ebus/ebusreg.h34
-rw-r--r--sys/dev/ebus/ebusvar.h6
3 files changed, 106 insertions, 121 deletions
diff --git a/sys/dev/ebus/cs4231_ebus.c b/sys/dev/ebus/cs4231_ebus.c
index b2357b7d795..95811831b28 100644
--- a/sys/dev/ebus/cs4231_ebus.c
+++ b/sys/dev/ebus/cs4231_ebus.c
@@ -1,4 +1,4 @@
-/* $NetBSD: cs4231_ebus.c,v 1.16 2005/01/11 03:45:17 kent Exp $ */
+/* $NetBSD: cs4231_ebus.c,v 1.17 2005/01/11 04:23:14 kent Exp $ */
/*
* Copyright (c) 2002 Valeriy E. Ushakov
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cs4231_ebus.c,v 1.16 2005/01/11 03:45:17 kent Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cs4231_ebus.c,v 1.17 2005/01/11 04:23:14 kent Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -132,35 +132,34 @@ static int cs4231_ebus_intr(void *);
int
-cs4231_ebus_match(parent, cf, aux)
- struct device *parent;
- struct cfdata *cf;
- void *aux;
+cs4231_ebus_match(struct device *parent, struct cfdata *cf, void *aux)
{
- struct ebus_attach_args *ea = aux;
+ struct ebus_attach_args *ea;
+ ea = aux;
if (strcmp(ea->ea_name, AUDIOCS_PROM_NAME) == 0)
- return (1);
+ return 1;
#ifdef __sparc__ /* XXX: Krups */
if (strcmp(ea->ea_name, "sound") == 0)
- return (1);
+ return 1;
#endif
- return (0);
+ return 0;
}
void
-cs4231_ebus_attach(parent, self, aux)
- struct device *parent, *self;
- void *aux;
+cs4231_ebus_attach(struct device *parent, struct device *self, void *aux)
{
- struct cs4231_ebus_softc *ebsc = (struct cs4231_ebus_softc *)self;
- struct cs4231_softc *sc = &ebsc->sc_cs4231;
- struct ebus_attach_args *ea = aux;
+ struct cs4231_ebus_softc *ebsc;
+ struct cs4231_softc *sc;
+ struct ebus_attach_args *ea;
bus_space_handle_t bh;
int i;
+ ebsc = (struct cs4231_ebus_softc *)self;
+ sc = &ebsc->sc_cs4231;
+ ea = aux;
sc->sc_bustag = ebsc->sc_bt = ea->ea_bustag;
sc->sc_dmatag = ea->ea_dmatag;
@@ -215,23 +214,18 @@ cs4231_ebus_attach(parent, self, aux)
static int
-cs4231_ebus_round_blocksize(addr, blk, mode, param)
- void *addr;
- int blk;
- int mode;
- const audio_params_t *param;
+cs4231_ebus_round_blocksize(void *addr, int blk, int mode,
+ const audio_params_t *param)
{
/* we want to use DMA burst size of 16 words */
- return (blk & -64);
+ return blk & -64;
}
#ifdef AUDIO_DEBUG
static void
-cs4231_ebus_regdump(label, ebsc)
- char *label;
- struct cs4231_ebus_softc *ebsc;
+cs4231_ebus_regdump(char *label, struct cs4231_ebus_softc *ebsc)
{
/* char bits[128]; */
@@ -244,9 +238,7 @@ cs4231_ebus_regdump(label, ebsc)
/* XXX: nothing CS4231-specific in this code... */
static int
-cs4231_ebus_dma_reset(dt, dh)
- bus_space_tag_t dt;
- bus_space_handle_t dh;
+cs4231_ebus_dma_reset(bus_space_tag_t dt, bus_space_handle_t dh)
{
u_int32_t csr;
int timo;
@@ -266,19 +258,17 @@ cs4231_ebus_dma_reset(dt, dh)
printf("cs4231_ebus_dma_reset: timed out: csr=%s\n",
bitmask_snprintf(csr, EBUS_DCSR_BITS,
bits, sizeof(bits)));
- return (ETIMEDOUT);
+ return ETIMEDOUT;
}
bus_space_write_4(dt, dh, EBUS_DMAC_DCSR, csr & ~EBDMA_RESET);
- return (0);
+ return 0;
}
static void
-cs4231_ebus_dma_advance(t, dt, dh)
- struct cs_transfer *t;
- bus_space_tag_t dt;
- bus_space_handle_t dh;
+cs4231_ebus_dma_advance(struct cs_transfer *t, bus_space_tag_t dt,
+ bus_space_handle_t dh)
{
bus_addr_t dmaaddr;
bus_size_t dmasize;
@@ -295,21 +285,19 @@ cs4231_ebus_dma_advance(t, dt, dh)
* "iswrite" defines direction of the transfer.
*/
static int
-cs4231_ebus_trigger_transfer(sc, t, dt, dh, iswrite,
- start, end, blksize,
- intr, arg, param)
- struct cs4231_softc *sc;
- struct cs_transfer *t;
- bus_space_tag_t dt;
- bus_space_handle_t dh;
- int iswrite;
- void *start, *end;
- int blksize;
- void (*intr)(void *);
- void *arg;
- const audio_params_t *param;
+cs4231_ebus_trigger_transfer(
+ struct cs4231_softc *sc,
+ struct cs_transfer *t,
+ bus_space_tag_t dt,
+ bus_space_handle_t dh,
+ int iswrite,
+ void *start, void *end,
+ int blksize,
+ void (*intr)(void *),
+ void *arg,
+ const audio_params_t *param)
{
- u_int32_t csr;
+ uint32_t csr;
bus_addr_t dmaaddr;
bus_size_t dmasize;
int ret;
@@ -317,11 +305,11 @@ cs4231_ebus_trigger_transfer(sc, t, dt, dh, iswrite,
ret = cs4231_transfer_init(sc, t, &dmaaddr, &dmasize,
start, end, blksize, intr, arg);
if (ret != 0)
- return (ret);
+ return ret;
ret = cs4231_ebus_dma_reset(dt, dh);
if (ret != 0)
- return (ret);
+ return ret;
csr = bus_space_read_4(dt, dh, EBUS_DMAC_DCSR);
bus_space_write_4(dt, dh, EBUS_DMAC_DCSR,
@@ -330,36 +318,34 @@ cs4231_ebus_trigger_transfer(sc, t, dt, dh, iswrite,
| EBDMA_BURST_SIZE_16);
/* first load: propagated to DACR/DBCR */
- bus_space_write_4(dt, dh, EBUS_DMAC_DNBR, (u_int32_t)dmasize);
- bus_space_write_4(dt, dh, EBUS_DMAC_DNAR, (u_int32_t)dmaaddr);
+ bus_space_write_4(dt, dh, EBUS_DMAC_DNBR, (uint32_t)dmasize);
+ bus_space_write_4(dt, dh, EBUS_DMAC_DNAR, (uint32_t)dmaaddr);
/* next load: goes to DNAR/DNBR */
cs4231_ebus_dma_advance(t, dt, dh);
- return (0);
+ return 0;
}
static int
-cs4231_ebus_trigger_output(addr, start, end, blksize, intr, arg, param)
- void *addr;
- void *start, *end;
- int blksize;
- void (*intr)(void *);
- void *arg;
- const audio_params_t *param;
+cs4231_ebus_trigger_output(void *addr, void *start, void *end, int blksize,
+ void (*intr)(void *), void *arg,
+ const audio_params_t *param)
{
- struct cs4231_ebus_softc *ebsc = addr;
- struct cs4231_softc *sc = &ebsc->sc_cs4231;
+ struct cs4231_ebus_softc *ebsc;
+ struct cs4231_softc *sc;
int cfg, ret;
+ ebsc = addr;
+ sc = &ebsc->sc_cs4231;
ret = cs4231_ebus_trigger_transfer(sc, &sc->sc_playback,
ebsc->sc_bt, ebsc->sc_pdmareg,
0, /* iswrite */
start, end, blksize,
intr, arg, param);
if (ret != 0)
- return (ret);
+ return ret;
ad_write(&sc->sc_ad1848, SP_LOWER_BASE_COUNT, 0xff);
ad_write(&sc->sc_ad1848, SP_UPPER_BASE_COUNT, 0xff);
@@ -367,30 +353,28 @@ cs4231_ebus_trigger_output(addr, start, end, blksize, intr, arg, param)
cfg = ad_read(&sc->sc_ad1848, SP_INTERFACE_CONFIG);
ad_write(&sc->sc_ad1848, SP_INTERFACE_CONFIG, cfg | PLAYBACK_ENABLE);
- return (0);
+ return 0;
}
static int
-cs4231_ebus_trigger_input(addr, start, end, blksize, intr, arg, param)
- void *addr;
- void *start, *end;
- int blksize;
- void (*intr)(void *);
- void *arg;
- const audio_params_t *param;
+cs4231_ebus_trigger_input(void *addr, void *start, void *end, int blksize,
+ void (*intr)(void *), void *arg,
+ const audio_params_t *param)
{
- struct cs4231_ebus_softc *ebsc = addr;
- struct cs4231_softc *sc = &ebsc->sc_cs4231;
+ struct cs4231_ebus_softc *ebsc;
+ struct cs4231_softc *sc;
int cfg, ret;
+ ebsc = addr;
+ sc = &ebsc->sc_cs4231;
ret = cs4231_ebus_trigger_transfer(sc, &sc->sc_capture,
ebsc->sc_bt, ebsc->sc_cdmareg,
1, /* iswrite */
start, end, blksize,
intr, arg, param);
if (ret != 0)
- return (ret);
+ return ret;
ad_write(&sc->sc_ad1848, CS_LOWER_REC_CNT, 0xff);
ad_write(&sc->sc_ad1848, CS_UPPER_REC_CNT, 0xff);
@@ -398,19 +382,20 @@ cs4231_ebus_trigger_input(addr, start, end, blksize, intr, arg, param)
cfg = ad_read(&sc->sc_ad1848, SP_INTERFACE_CONFIG);
ad_write(&sc->sc_ad1848, SP_INTERFACE_CONFIG, cfg | CAPTURE_ENABLE);
- return (0);
+ return 0;
}
static int
-cs4231_ebus_halt_output(addr)
- void *addr;
+cs4231_ebus_halt_output(void *addr)
{
- struct cs4231_ebus_softc *ebsc = addr;
- struct cs4231_softc *sc = &ebsc->sc_cs4231;
+ struct cs4231_ebus_softc *ebsc;
+ struct cs4231_softc *sc;
u_int32_t csr;
int cfg;
+ ebsc = addr;
+ sc = &ebsc->sc_cs4231;
sc->sc_playback.t_active = 0;
csr = bus_space_read_4(ebsc->sc_bt, ebsc->sc_pdmareg, EBUS_DMAC_DCSR);
@@ -421,19 +406,20 @@ cs4231_ebus_halt_output(addr)
ad_write(&sc->sc_ad1848, SP_INTERFACE_CONFIG,
cfg & ~PLAYBACK_ENABLE);
- return (0);
+ return 0;
}
static int
-cs4231_ebus_halt_input(addr)
- void *addr;
+cs4231_ebus_halt_input(void *addr)
{
- struct cs4231_ebus_softc *ebsc = addr;
- struct cs4231_softc *sc = &ebsc->sc_cs4231;
- u_int32_t csr;
+ struct cs4231_ebus_softc *ebsc;
+ struct cs4231_softc *sc;
+ uint32_t csr;
int cfg;
+ ebsc = addr;
+ sc = &ebsc->sc_cs4231;
sc->sc_capture.t_active = 0;
csr = bus_space_read_4(ebsc->sc_bt, ebsc->sc_cdmareg, EBUS_DMAC_DCSR);
@@ -444,17 +430,15 @@ cs4231_ebus_halt_input(addr)
ad_write(&sc->sc_ad1848, SP_INTERFACE_CONFIG,
cfg & ~CAPTURE_ENABLE);
- return (0);
+ return 0;
}
static int
-cs4231_ebus_dma_intr(t, dt, dh)
- struct cs_transfer *t;
- bus_space_tag_t dt;
- bus_space_handle_t dh;
+cs4231_ebus_dma_intr(struct cs_transfer *t, bus_space_tag_t dt,
+ bus_space_handle_t dh)
{
- u_int32_t csr;
+ uint32_t csr;
#ifdef AUDIO_DEBUG
char bits[128];
#endif
@@ -470,43 +454,44 @@ cs4231_ebus_dma_intr(t, dt, dh)
printf("audiocs: %s DMA error, resetting\n", t->t_name);
cs4231_ebus_dma_reset(dt, dh);
/* how to notify audio(9)??? */
- return (1);
+ return 1;
}
if ((csr & EBDMA_INT_PEND) == 0)
- return (0);
+ return 0;
++t->t_intrcnt.ev_count;
if ((csr & EBDMA_TC) == 0) { /* can this happen? */
printf("audiocs: %s INT_PEND but !TC\n", t->t_name);
- return (1);
+ return 1;
}
if (!t->t_active)
- return (1);
+ return 1;
cs4231_ebus_dma_advance(t, dt, dh);
/* call audio(9) framework while DMA is chugging along */
if (t->t_intr != NULL)
(*t->t_intr)(t->t_arg);
- return (1);
+ return 1;
}
static int
-cs4231_ebus_intr(arg)
- void *arg;
+cs4231_ebus_intr(void *arg)
{
- struct cs4231_ebus_softc *ebsc = arg;
- struct cs4231_softc *sc = &ebsc->sc_cs4231;
+ struct cs4231_ebus_softc *ebsc;
+ struct cs4231_softc *sc;
int status;
int ret;
#ifdef AUDIO_DEBUG
char bits[128];
#endif
+ ebsc = arg;
+ sc = &ebsc->sc_cs4231;
status = ADREAD(&sc->sc_ad1848, AD1848_STATUS);
#ifdef AUDIO_DEBUG
@@ -545,5 +530,5 @@ cs4231_ebus_intr(arg)
ret = 1;
}
- return (ret);
+ return ret;
}
diff --git a/sys/dev/ebus/ebusreg.h b/sys/dev/ebus/ebusreg.h
index 0991dee69fa..15505a5eaf6 100644
--- a/sys/dev/ebus/ebusreg.h
+++ b/sys/dev/ebus/ebusreg.h
@@ -1,4 +1,4 @@
-/* $NetBSD: ebusreg.h,v 1.4 2002/03/21 04:15:29 uwe Exp $ */
+/* $NetBSD: ebusreg.h,v 1.5 2005/01/11 04:23:14 kent Exp $ */
/*
* Copyright (c) 1999 Matthew R. Green
@@ -73,37 +73,37 @@
*/
struct ebus_regs {
- u_int32_t hi; /* high bits of physaddr */
- u_int32_t lo;
- u_int32_t size;
+ uint32_t hi; /* high bits of physaddr */
+ uint32_t lo;
+ uint32_t size;
};
#define EBUS_ADDR_FROM_REG(reg) BUS_ADDR((reg)->hi, (reg)->lo)
struct ebus_ranges {
- u_int32_t child_hi; /* child high phys addr */
- u_int32_t child_lo; /* child low phys addr */
- u_int32_t phys_hi; /* parent high phys addr */
- u_int32_t phys_mid; /* parent mid phys addr */
- u_int32_t phys_lo; /* parent low phys addr */
- u_int32_t size;
+ uint32_t child_hi; /* child high phys addr */
+ uint32_t child_lo; /* child low phys addr */
+ uint32_t phys_hi; /* parent high phys addr */
+ uint32_t phys_mid; /* parent mid phys addr */
+ uint32_t phys_lo; /* parent low phys addr */
+ uint32_t size;
};
/* NB: ms-IIep PROMs lack these interrupt-related properties */
struct ebus_interrupt_map {
- u_int32_t hi; /* high phys addr mask */
- u_int32_t lo; /* low phys addr mask */
- u_int32_t intr; /* interrupt mask */
+ uint32_t hi; /* high phys addr mask */
+ uint32_t lo; /* low phys addr mask */
+ uint32_t intr; /* interrupt mask */
int32_t cnode; /* child node */
- u_int32_t cintr; /* child interrupt */
+ uint32_t cintr; /* child interrupt */
};
struct ebus_interrupt_map_mask {
- u_int32_t hi; /* high phys addr */
- u_int32_t lo; /* low phys addr */
- u_int32_t intr; /* interrupt */
+ uint32_t hi; /* high phys addr */
+ uint32_t lo; /* low phys addr */
+ uint32_t intr; /* interrupt */
};
diff --git a/sys/dev/ebus/ebusvar.h b/sys/dev/ebus/ebusvar.h
index da49bc2634f..a47878969e8 100644
--- a/sys/dev/ebus/ebusvar.h
+++ b/sys/dev/ebus/ebusvar.h
@@ -1,4 +1,4 @@
-/* $NetBSD: ebusvar.h,v 1.2 2002/03/12 00:32:30 uwe Exp $ */
+/* $NetBSD: ebusvar.h,v 1.3 2005/01/11 04:23:15 kent Exp $ */
/*
* Copyright (c) 1999, 2000 Matthew R. Green
@@ -44,8 +44,8 @@ struct ebus_attach_args {
bus_dma_tag_t ea_dmatag;
struct ebus_regs *ea_reg; /* registers */
- u_int32_t *ea_vaddr; /* virtual addrs */
- u_int32_t *ea_intr; /* interrupts */
+ uint32_t *ea_vaddr; /* virtual addrs */
+ uint32_t *ea_intr; /* interrupts */
int ea_nreg; /* number of them */
int ea_nvaddr;