|
|
1.1 root 1: /*
2: * defs for the kdb50 driver
3: */
4:
5: /*
6: * per-controller structure
7: */
8:
9: #define BDACMD 32 /* no more than this many command packets */
10: #define BDANMAP 20 /* number of chunks of map */
11:
12: struct bd {
13: struct biic *bd_addr; /* device register address */
14: short bd_flags; /* misc flag bits */
15: short bd_credits; /* number of flow control credits */
16: struct bdcomm *bd_comm; /* virt addr of comm area */
17: struct bdcmd *bd_cpkt; /* virt addr of command packets */
18: struct bdrsp *bd_rpkt; /* virt addr of response packets */
19: long *bd_pmap; /* page table for mapped transfers */
20: struct buf *bd_cbuf; /* buffer for comm/cmds */
21: struct buf *bd_rbuf; /* buffer for responses */
22: struct buf *bd_mbuf; /* buffer for page table */
23: short bd_cnext; /* index of next cmd descriptor */
24: short bd_rnext; /* ditto response */
25: char bd_cbusy[BDACMD]; /* busy flags for commands */
26: char bd_back[BDACMD]; /* back-index from cmd ring to packets */
27: unsigned short bd_mbase[BDACMD]; /* base addr of allocated map */
28: unsigned short bd_msize[BDACMD]; /* size of allocated map */
29: struct map bd_map[BDANMAP]; /* and how it is allocated */
30: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.