1/* 2 * Generic register and struct definitions for the BusLogic 3 * MultiMaster SCSI host adapters. Product specific probe and 4 * attach routines can be found in: 5 * i386/isa/bt_isa.c BT-54X, BT-445 cards 6 * i386/eisa/bt_eisa.c BT-74x, BT-75x cards 7 * pci/bt_pci.c BT-946, BT-948, BT-956, BT-958 cards 8 * --- 16 unchanged lines hidden (view full) --- 25 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * |
33 * $Id: btreg.h,v 1.2 1998/10/30 02:06:44 gibbs Exp $ |
34 */ 35 36#ifndef _BTREG_H_ 37#define _BTREG_H_ 38 39#include "bt.h" 40 41#include <sys/queue.h> --- 361 unchanged lines hidden (view full) --- 403 u_int8_t reserverd2[10]; 404 u_int8_t manufacturing_diagnotic[2]; 405 u_int8_t checksum[2]; 406} auto_scsi_data_t; 407 408struct bt_isa_port { 409 u_int16_t addr; 410 u_int8_t probed; |
411 u_int8_t bio; |
412}; 413 414extern struct bt_isa_port bt_isa_ports[]; 415 416#define BT_NUM_ISAPORTS 6 417 418typedef enum { 419 BIO_330 = 0, --- 125 unchanged lines hidden (view full) --- 545 u_int8_t opcode; 546 u_int8_t :3, 547 datain :1, 548 dataout :1, 549 wide_tag_enable :1, /* Wide Lun CCB format */ 550 wide_tag_type :2; /* Wide Lun CCB format */ 551 u_int8_t cmd_len; 552 u_int8_t sense_len; |
553 int32_t data_len; /* residuals can be negative */ |
554 u_int32_t data_addr; 555 u_int8_t reserved[2]; 556 u_int8_t btstat; 557 u_int8_t sdstat; 558 u_int8_t target_id; 559 u_int8_t target_lun :5, 560 tag_enable :1, 561 tag_type :2; --- 33 unchanged lines hidden (view full) --- 595 struct cam_path *path; 596 bt_mbox_out_t *cur_outbox; 597 bt_mbox_in_t *cur_inbox; 598 bt_mbox_out_t *last_outbox; 599 bt_mbox_in_t *last_inbox; 600 struct bt_ccb *bt_ccb_array; 601 SLIST_HEAD(,bt_ccb) free_bt_ccbs; 602 LIST_HEAD(,ccb_hdr) pending_ccbs; |
603 u_int active_ccbs; |
604 u_int32_t bt_ccb_physbase; 605 bt_mbox_in_t *in_boxes; 606 bt_mbox_out_t *out_boxes; 607 struct scsi_sense_data *sense_buffers; 608 u_int32_t sense_buffers_physbase; 609 struct bt_ccb *recovery_bccb; 610 u_int num_boxes; 611 bus_dma_tag_t parent_dmat; /* --- 49 unchanged lines hidden (view full) --- 661void bt_free(struct bt_softc *bt); 662int bt_probe(struct bt_softc *bt); 663int bt_fetch_adapter_info(struct bt_softc *bt); 664int bt_init(struct bt_softc *bt); 665int bt_attach(struct bt_softc *bt); 666void bt_intr(void *arg); 667char * bt_name(struct bt_softc *bt); 668int bt_check_probed_iop(u_int ioport); |
669void bt_mark_probed_bio(isa_compat_io_t port); 670void bt_mark_probed_iop(u_int ioport); |
671void bt_find_probe_range(int ioport, 672 int *port_index, 673 int *max_port_index); |
674 |
675int bt_iop_from_bio(isa_compat_io_t bio_index); 676 |
677#define DEFAULT_CMD_TIMEOUT 10000 /* 1 sec */ 678int bt_cmd(struct bt_softc *bt, bt_op_t opcode, 679 u_int8_t *params, u_int param_len, 680 u_int8_t *reply_data, u_int reply_len, 681 u_int cmd_timeout); 682 683#define bt_inb(bt, port) \ 684 bus_space_read_1((bt)->tag, (bt)->bsh, port) 685 686#define bt_outb(bt, port, value) \ 687 bus_space_write_1((bt)->tag, (bt)->bsh, port, value) 688 689#endif /* _BT_H_ */ |