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