sym_hcb
struct sym_hcb *np = sym_data->ncb;
sym_fw_setup_bus_addresses(struct sym_hcb *np, struct sym_fw *fw)
sym_fw1_setup(struct sym_hcb *np, struct sym_fw *fw)
sym_fw2_setup(struct sym_hcb *np, struct sym_fw *fw)
void sym_fw_bind_script(struct sym_hcb *np, u32 *start, int len)
struct sym_hcb *np = sym_get_hcb(shost);
struct sym_hcb;
void (*setup)(struct sym_hcb *, struct sym_fw *);
#define HADDR_1(label) (RELOC_SOFTC | offsetof(struct sym_hcb, label))
(offsetof(struct sym_hcb, label)+(ofs)))
SCR_SEL_TBL_ATN ^ offsetof (struct sym_hcb, abrt_sel),
offsetof (struct sym_hcb, abrt_tbl),
SCR_SEL_TBL_ATN ^ offsetof (struct sym_hcb, abrt_sel),
offsetof (struct sym_hcb, abrt_tbl),
offsetof(struct sym_hcb, scratch),
offsetof(struct sym_hcb, scratch),
offsetof(struct sym_hcb, scratch),
struct sym_hcb *np = sym_get_hcb(shost);
struct sym_hcb *np = sym_data->ncb;
static void sym_free_resources(struct sym_hcb *np, struct pci_dev *pdev,
void sym_xpt_done(struct sym_hcb *np, struct scsi_cmnd *cmd)
struct sym_hcb *np = NULL;
void sym_xpt_async_bus_reset(struct sym_hcb *np)
struct sym_hcb *np = sym_get_hcb(shost);
void sym_set_cam_result_error(struct sym_hcb *np, struct sym_ccb *cp, int resid)
struct sym_hcb *np = sym_get_hcb(shost);
struct sym_hcb *np = sym_get_hcb(shost);
struct sym_hcb *np = sym_get_hcb(shost);
struct sym_hcb *np = sym_get_hcb(shost);
struct sym_hcb *np = sym_get_hcb(shost);
struct sym_hcb *np = sym_get_hcb(shost);
struct sym_hcb *np = sym_get_hcb(shost);
struct sym_hcb *np = sym_get_hcb(shost);
static int sym_scatter(struct sym_hcb *np, struct sym_ccb *cp, struct scsi_cmnd *cmd)
static int sym_queue_command(struct sym_hcb *np, struct scsi_cmnd *cmd)
static inline int sym_setup_cdb(struct sym_hcb *np, struct scsi_cmnd *cmd, struct sym_ccb *cp)
int sym_setup_data_and_start(struct sym_hcb *np, struct scsi_cmnd *cmd, struct sym_ccb *cp)
static void sym_timer(struct sym_hcb *np)
struct sym_hcb *np = SYM_SOFTC_PTR(cmd);
struct sym_hcb *np = timer_container_of(np, t, s.timer);
struct sym_hcb *np = sym_data->ncb;
struct sym_hcb *np = sym_data->ncb;
struct sym_hcb *np = sym_data->ncb;
struct sym_hcb *np = sym_data->ncb;
struct sym_hcb *np = sym_get_hcb(sdev->host);
struct sym_hcb *np = sym_get_hcb(sdev->host);
struct sym_hcb *np = sym_get_hcb(sdev->host);
static void sym_exec_user_command (struct sym_hcb *np, struct sym_usrcmd *uc)
struct sym_hcb *ncb;
static inline struct sym_hcb * sym_get_hcb(struct Scsi_Host *host)
void sym_set_cam_result_error(struct sym_hcb *np, struct sym_ccb *cp, int resid);
void sym_xpt_done(struct sym_hcb *np, struct scsi_cmnd *ccb);
void sym_xpt_async_bus_reset(struct sym_hcb *np);
int sym_setup_data_and_start (struct sym_hcb *np, struct scsi_cmnd *csio, struct sym_ccb *cp);
struct sym_hcb *np = sym_get_hcb(shost);
struct sym_hcb *np = sym_get_hcb(shost);
static void sym_chip_reset (struct sym_hcb *np)
int sym_lookup_dmap(struct sym_hcb *np, u32 h, int s)
static void sym_update_dmap_regs(struct sym_hcb *np)
static void sym_check_goals(struct sym_hcb *np, struct scsi_target *starget,
static void sym_soft_reset (struct sym_hcb *np)
static int sym_prepare_nego(struct sym_hcb *np, struct sym_ccb *cp, u_char *msgptr)
void sym_put_start_queue(struct sym_hcb *np, struct sym_ccb *cp)
void sym_start_next_ccbs(struct sym_hcb *np, struct sym_lcb *lp, int maxn)
static int sym_wakeup_done (struct sym_hcb *np)
static void sym_flush_comp_queue(struct sym_hcb *np, int cam_status)
static void sym_flush_busy_queue (struct sym_hcb *np, int cam_status)
struct sym_hcb *np = sym_data->ncb;
static void sym_start_reset(struct sym_hcb *np)
int sym_reset_scsi_bus(struct sym_hcb *np, int enab_int)
static void sym_settrans(struct sym_hcb *np, int target, u_char opts, u_char ofs,
static void sym_setwide(struct sym_hcb *np, int target, u_char wide)
sym_setsync(struct sym_hcb *np, int target,
sym_setpprot(struct sym_hcb *np, int target, u_char opts, u_char ofs,
static void sym_recover_scsi_int (struct sym_hcb *np, u_char hsts)
static void sym_int_sto (struct sym_hcb *np)
static void sym_int_udc (struct sym_hcb *np)
struct sym_hcb *np = sym_get_hcb(shost);
static void sym_int_par (struct sym_hcb *np, u_short sist)
static void sym_selectclock(struct sym_hcb *np, u_char scntl3)
static void sym_int_ma (struct sym_hcb *np)
struct sym_hcb *np = sym_data->ncb;
static unsigned getfreq (struct sym_hcb *np, int gen)
sym_dequeue_from_squeue(struct sym_hcb *np, int i, int target, int lun, int task)
static void sym_sir_bad_scsi_status(struct sym_hcb *np, int num, struct sym_ccb *cp)
int sym_clear_tasks(struct sym_hcb *np, int cam_status, int target, int lun, int task)
static void sym_sir_task_recovery(struct sym_hcb *np, int num)
static unsigned sym_getfreq (struct sym_hcb *np)
static int sym_evaluate_dp(struct sym_hcb *np, struct sym_ccb *cp, u32 scr, int *ofs)
static void sym_modify_dp(struct sym_hcb *np, struct sym_tcb *tp, struct sym_ccb *cp, int ofs)
static void sym_getclock (struct sym_hcb *np, int mult)
int sym_compute_residual(struct sym_hcb *np, struct sym_ccb *cp)
sym_sync_nego_check(struct sym_hcb *np, int req, struct sym_ccb *cp)
static void sym_sync_nego(struct sym_hcb *np, struct sym_tcb *tp, struct sym_ccb *cp)
sym_ppr_nego_check(struct sym_hcb *np, int req, int target)
static void sym_int_ma (struct sym_hcb *np);
static void sym_ppr_nego(struct sym_hcb *np, struct sym_tcb *tp, struct sym_ccb *cp)
sym_wide_nego_check(struct sym_hcb *np, int req, struct sym_ccb *cp)
static void sym_int_sir(struct sym_hcb *);
static void sym_wide_nego(struct sym_hcb *np, struct sym_tcb *tp, struct sym_ccb *cp)
static struct sym_ccb *sym_alloc_ccb(struct sym_hcb *np);
static void sym_nego_default(struct sym_hcb *np, struct sym_tcb *tp, struct sym_ccb *cp)
static int sym_getpciclock (struct sym_hcb *np)
static void sym_nego_rejected(struct sym_hcb *np, struct sym_tcb *tp, struct sym_ccb *cp)
static void sym_int_sir(struct sym_hcb *np)
static struct sym_ccb *sym_ccb_from_dsa(struct sym_hcb *np, u32 dsa);
static void sym_alloc_lcb_tags (struct sym_hcb *np, u_char tn, u_char ln);
static void sym_complete_error (struct sym_hcb *np, struct sym_ccb *cp);
struct sym_ccb *sym_get_ccb (struct sym_hcb *np, struct scsi_cmnd *cmd, u_char tag_order)
sym_getsync(struct sym_hcb *np, u_char dt, u_char sfac, u_char *divp, u_char *fakp)
static void sym_complete_ok (struct sym_hcb *np, struct sym_ccb *cp);
void sym_free_ccb (struct sym_hcb *np, struct sym_ccb *cp)
static int sym_compute_residual(struct sym_hcb *np, struct sym_ccb *cp);
static struct sym_ccb *sym_alloc_ccb(struct sym_hcb *np)
static struct sym_ccb *sym_ccb_from_dsa(struct sym_hcb *np, u32 dsa)
static void sym_init_tcb (struct sym_hcb *np, u_char tn)
struct sym_lcb *sym_alloc_lcb (struct sym_hcb *np, u_char tn, u_char ln)
static void sym_alloc_lcb_tags (struct sym_hcb *np, u_char tn, u_char ln)
int sym_free_lcb(struct sym_hcb *np, u_char tn, u_char ln)
int sym_queue_scsiio(struct sym_hcb *np, struct scsi_cmnd *cmd, struct sym_ccb *cp)
int sym_reset_scsi_target(struct sym_hcb *np, int target)
static int sym_abort_ccb(struct sym_hcb *np, struct sym_ccb *cp, int timed_out)
int sym_abort_scsiio(struct sym_hcb *np, struct scsi_cmnd *cmd, int timed_out)
void sym_complete_error(struct sym_hcb *np, struct sym_ccb *cp)
void sym_complete_ok (struct sym_hcb *np, struct sym_ccb *cp)
struct sym_hcb *np = sym_get_hcb(shost);
void sym_hcb_free(struct sym_hcb *np)
static inline void sym_init_burst(struct sym_hcb *np, u_char bc)
static void sym_save_initial_setting (struct sym_hcb *np)
static void sym_set_bus_mode(struct sym_hcb *np, struct sym_nvram *nvram)
static int sym_prepare_setting(struct Scsi_Host *shost, struct sym_hcb *np, struct sym_nvram *nvram)
static void sym_print_nego_msg(struct sym_hcb *np, int target, char *label, u_char *msg)
static int sym_regtest(struct sym_hcb *np)
static inline int sym_regtest(struct sym_hcb *np)
static int sym_snooptest(struct sym_hcb *np)
#define HCB_BA(np, lbl) (np->hcb_ba + offsetof(struct sym_hcb, lbl))
void sym_fw_bind_script(struct sym_hcb *np, u32 *start, int len);
int sym_reset_scsi_bus(struct sym_hcb *np, int enab_int);
void sym_start_next_ccbs(struct sym_hcb *np, struct sym_lcb *lp, int maxn);
void sym_put_start_queue(struct sym_hcb *np, struct sym_ccb *cp);
int sym_clear_tasks(struct sym_hcb *np, int cam_status, int target, int lun, int task);
struct sym_ccb *sym_get_ccb(struct sym_hcb *np, struct scsi_cmnd *cmd, u_char tag_order);
void sym_free_ccb(struct sym_hcb *np, struct sym_ccb *cp);
struct sym_lcb *sym_alloc_lcb(struct sym_hcb *np, u_char tn, u_char ln);
int sym_free_lcb(struct sym_hcb *np, u_char tn, u_char ln);
int sym_queue_scsiio(struct sym_hcb *np, struct scsi_cmnd *csio, struct sym_ccb *cp);
int sym_abort_scsiio(struct sym_hcb *np, struct scsi_cmnd *ccb, int timed_out);
int sym_reset_scsi_target(struct sym_hcb *np, int target);
void sym_hcb_free(struct sym_hcb *np);
int sym_lookup_dmap(struct sym_hcb *np, u32 h, int s);
sym_build_sge(struct sym_hcb *np, struct sym_tblmove *data, u64 badd, int len)
void (*fw_setup)(struct sym_hcb *np, struct sym_fw *fw);
void sym_nvram_setup_host(struct Scsi_Host *shost, struct sym_hcb *np, struct sym_nvram *nvram)
void sym_nvram_setup_host(struct Scsi_Host *shost, struct sym_hcb *np, struct sym_nvram *nvram);
static inline void sym_nvram_setup_host(struct Scsi_Host *shost, struct sym_hcb *np, struct sym_nvram *nvram) { }