mcdvar.h revision 130585
1104445Smdodd/* 2104445Smdodd * $FreeBSD: head/sys/dev/mcd/mcdvar.h 130585 2004-06-16 09:47:26Z phk $ 3104445Smdodd */ 4104445Smdodd 5104445Smdoddstruct mcd_mbx { 6104445Smdodd short retry; 7104445Smdodd short nblk; 8104445Smdodd int sz; 9104445Smdodd u_long skip; 10104445Smdodd struct bio * bp; 11104445Smdodd short count; 12104445Smdodd short mode; 13104445Smdodd}; 14104445Smdodd 15104445Smdoddstruct mcd_data { 16104445Smdodd short type; 17104445Smdodd char * name; 18104445Smdodd short config; 19104445Smdodd short flags; 20104445Smdodd u_char read_command; 21104445Smdodd short status; 22104445Smdodd int blksize; 23104445Smdodd u_long disksize; 24104545Smdodd int partflags; 25104445Smdodd int openflags; 26104445Smdodd struct mcd_volinfo volinfo; 27104445Smdodd struct mcd_qchninfo toc[MCD_MAXTOCS]; 28104445Smdodd short audio_status; 29104445Smdodd short curr_mode; 30104445Smdodd struct mcd_read2 lastpb; 31104445Smdodd short debug; 32104445Smdodd struct bio_queue_head head; /* head of bio queue */ 33104445Smdodd struct mcd_mbx mbx; 34104445Smdodd}; 35104445Smdodd 36104445Smdoddstruct mcd_softc { 37104445Smdodd device_t dev; 38130585Sphk struct cdev *mcd_dev_t; 39104445Smdodd int debug; 40104445Smdodd 41104445Smdodd struct resource * port; 42104445Smdodd int port_rid; 43104445Smdodd int port_type; 44104445Smdodd bus_space_tag_t port_bst; 45104445Smdodd bus_space_handle_t port_bsh; 46104445Smdodd 47104445Smdodd struct resource * irq; 48104445Smdodd int irq_rid; 49104445Smdodd int irq_type; 50104445Smdodd void * irq_ih; 51104445Smdodd 52104445Smdodd struct resource * drq; 53104445Smdodd int drq_rid; 54104445Smdodd int drq_type; 55104445Smdodd 56104445Smdodd struct mtx mtx; 57104445Smdodd 58104445Smdodd struct callout_handle ch; 59104445Smdodd int ch_state; 60104445Smdodd struct mcd_mbx * ch_mbxsave; 61104445Smdodd 62104445Smdodd struct mcd_data data; 63104445Smdodd}; 64104445Smdodd 65104445Smdodd#define MCD_LOCK(_sc) splx(&(_sc)->mtx 66104445Smdodd#define MCD_UNLOCK(_sc) splx(&(_sc)->mtx 67104445Smdodd 68104445Smdodd#define MCD_READ(_sc, _reg) \ 69104445Smdodd bus_space_read_1(_sc->port_bst, _sc->port_bsh, _reg) 70104445Smdodd#define MCD_WRITE(_sc, _reg, _val) \ 71104445Smdodd bus_space_write_1(_sc->port_bst, _sc->port_bsh, _reg, _val) 72104445Smdodd 73104445Smdoddint mcd_probe (struct mcd_softc *); 74104445Smdoddint mcd_attach (struct mcd_softc *); 75