23 unsigned int ctl :4; /* xcdplayer needs this */
24 unsigned char start_msf[3];
28 struct ioc_play_msf last_play;
31 struct bio_queue_head head; /* head of bio queue */
37 struct cdev *scd_dev_t;
40 struct resource * port;
48 struct scd_mbx * ch_mbxsave;
53 #define SCD_LOCK(_sc) mtx_lock(&_sc->mtx)
54 #define SCD_UNLOCK(_sc) mtx_unlock(&_sc->mtx)
55 #define SCD_ASSERT_LOCKED(_sc) mtx_assert(&_sc->mtx, MA_OWNED)
57 #define SCD_READ(_sc, _reg) \
58 bus_read_1(_sc->port, _reg)
59 #define SCD_READ_MULTI(_sc, _reg, _addr, _count) \
60 bus_read_multi_1(_sc->port, _reg, _addr, _count)
61 #define SCD_WRITE(_sc, _reg, _val) \
62 bus_write_1(_sc->port, _reg, _val)
64 int scd_probe (struct scd_softc *);
65 int scd_attach (struct scd_softc *);