sym_ccb
offsetof (struct sym_ccb, phys.pm0.sg),
offsetof (struct sym_ccb, phys.pm0.sg),
SCR_REG_REG (scratcha, SCR_ADD, offsetof (struct sym_ccb,phys.pm0.ret)),
offsetof (struct sym_ccb, phys.pm1.sg),
offsetof (struct sym_ccb, phys.pm1.sg),
SCR_REG_REG (scratcha, SCR_ADD, offsetof (struct sym_ccb,phys.pm1.ret)),
offsetof (struct sym_ccb, phys.wresid),
offsetof (struct sym_ccb, phys.head.status),
offsetof(struct sym_ccb, phys.head.go.restart),
offsetof (struct sym_ccb, phys.pm0.sg),
offsetof (struct sym_ccb, phys.pm0.sg),
offsetof (struct sym_ccb, phys.pm0.ret),
offsetof (struct sym_ccb, phys.pm1.sg),
offsetof (struct sym_ccb, phys.pm1.sg),
offsetof (struct sym_ccb, phys.pm1.ret),
offsetof(struct sym_ccb, phys.pm0.ret),
offsetof(struct sym_ccb, phys.pm1.ret),
offsetof(struct sym_ccb, phys.pm0.ret),
offsetof(struct sym_ccb, phys.pm0.sg.size),
offsetof(struct sym_ccb, phys.pm0.sg.addr),
offsetof(struct sym_ccb, phys.head.lastp),
offsetof(struct sym_ccb, phys.pm1.ret),
offsetof(struct sym_ccb, phys.pm1.sg.size),
offsetof(struct sym_ccb, phys.pm1.sg.addr),
offsetof (struct sym_ccb, phys.wresid.addr),
offsetof (struct sym_ccb, phys.wresid.size),
offsetof (struct sym_ccb, phys.wresid),
offsetof (struct sym_ccb, phys.wresid),
offsetof (struct sym_ccb, phys.head.status),
offsetof (struct sym_ccb, phys.head.lastp),
offsetof (struct sym_ccb, phys.head.lastp),
offsetof (struct sym_ccb, phys.head.lastp),
offsetof (struct sym_ccb, phys.head.lastp),
offsetof (struct sym_ccb, phys.head.status),
offsetof (struct sym_ccb, phys.head.status),
offsetof (struct sym_ccb, phys.head.lastp),
offsetof (struct sym_ccb, phys.head.savep),
offsetof (struct sym_ccb, phys.head.savep),
offsetof (struct sym_ccb, phys.head.lastp),
offsetof (struct sym_ccb, phys.head.status),
offsetof(struct sym_ccb, phys.head.go.restart),
void sym_set_cam_result_error(struct sym_hcb *np, struct sym_ccb *cp, int resid)
static int sym_scatter(struct sym_hcb *np, struct sym_ccb *cp, struct scsi_cmnd *cmd)
struct sym_ccb *cp;
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)
struct sym_ccb *cp = sym_que_entry(qp, struct sym_ccb, link_ccbq);
struct sym_ccb *cp = sym_que_entry(qp, struct sym_ccb,
static inline void sym_set_cam_result_ok(struct sym_ccb *cp, struct scsi_cmnd *cmd, int resid)
void sym_set_cam_result_error(struct sym_hcb *np, struct sym_ccb *cp, int resid);
int sym_setup_data_and_start (struct sym_hcb *np, struct scsi_cmnd *csio, struct sym_ccb *cp);
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)
struct sym_ccb *cp;
cp = sym_que_entry(qp, struct sym_ccb, link2_ccbq);
struct sym_ccb *cp;
struct sym_ccb *cp;
cp = sym_que_entry(qp, struct sym_ccb, link_ccbq);
struct sym_ccb *cp;
cp = sym_que_entry(qp, struct sym_ccb, link_ccbq);
struct sym_ccb *cp = sym_ccb_from_dsa(np, dsa);
struct sym_ccb *cp = sym_ccb_from_dsa(np, dsa);
struct sym_ccb *cp;
struct sym_ccb *cp;
static void sym_sir_bad_scsi_status(struct sym_hcb *np, int num, struct sym_ccb *cp)
struct sym_ccb *cp;
cp = sym_que_entry(qp, struct sym_ccb, link_ccbq);
struct sym_ccb *cp;
cp = sym_que_entry(qp,struct sym_ccb,link_ccbq);
cp = sym_que_entry(qp, struct sym_ccb, link_ccbq);
cp = sym_que_entry(qp, struct sym_ccb, link_ccbq);
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)
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)
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_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 void sym_nego_rejected(struct sym_hcb *np, struct sym_tcb *tp, struct sym_ccb *cp)
struct sym_ccb *cp = sym_ccb_from_dsa(np, dsa);
static struct sym_ccb *sym_ccb_from_dsa(struct sym_hcb *np, u32 dsa);
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)
struct sym_ccb *cp = NULL;
cp = sym_que_entry(qp, struct sym_ccb, link_ccbq);
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)
struct sym_ccb *cp = NULL;
cp = sym_calloc_dma(sizeof(struct sym_ccb), "CCB");
static struct sym_ccb *sym_ccb_from_dsa(struct sym_hcb *np, u32 dsa)
struct sym_ccb *cp;
int sym_queue_scsiio(struct sym_hcb *np, struct scsi_cmnd *cmd, struct sym_ccb *cp)
static int sym_abort_ccb(struct sym_hcb *np, struct sym_ccb *cp, int timed_out)
struct sym_ccb *cp;
struct sym_ccb *cp2 = sym_que_entry(qp, struct sym_ccb, link_ccbq);
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_ccb *cp;
cp = sym_que_entry(qp, struct sym_ccb, link_ccbq);
static void sym_print_msg(struct sym_ccb *cp, char *label, u_char *msg)
void sym_put_start_queue(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);
void sym_free_ccb(struct sym_hcb *np, struct sym_ccb *cp);
int sym_queue_scsiio(struct sym_hcb *np, struct scsi_cmnd *csio, struct sym_ccb *cp);
(((dsa) >> (_LGRU16_(sizeof(struct sym_ccb)))) & CCB_HASH_MASK)
struct sym_ccb * nego_cp; /* CCB used for the nego */
struct sym_ccb *link_ccbh; /* Host adapter CCB hash chain */
#define CCB_BA(cp,lbl) cpu_to_scr(cp->ccb_ba + offsetof(struct sym_ccb, lbl))
struct sym_ccb **ccbh; /* CCBs hashed by DSA value */
struct sym_ccb * last_cp;