Home | History | Annotate | Download | only in ic

Lines Matching refs:scb

89 #define SCB_GET_SIM(ahc, scb) \
90 (SCB_GET_CHANNEL(ahc, scb) == 'A' ? (ahc)->platform_data->sim \
153 /************************** Softc/SCB Platform Data ***************************/
217 ahc_scb_timer_reset(struct scb *scb, u_int usec)
219 if (!(scb->xs->xs_control & XS_CTL_POLL)) {
220 callout_reset(&scb->xs->xs_callout,
221 (usec * hz)/1000000, ahc_timeout, scb);
315 static __inline void ahc_set_transaction_status(struct scb *, uint32_t);
316 static __inline void ahc_set_scsi_status(struct scb *, uint32_t);
317 static __inline uint32_t ahc_get_transaction_status(struct scb *);
318 static __inline uint32_t ahc_get_scsi_status(struct scb *);
319 static __inline void ahc_set_transaction_tag(struct scb *, int, u_int);
320 static __inline u_long ahc_get_transfer_length(struct scb *);
321 static __inline int ahc_get_transfer_dir(struct scb *);
322 static __inline void ahc_set_residual(struct scb *, u_long);
323 static __inline void ahc_set_sense_residual(struct scb *, u_long);
324 static __inline u_long ahc_get_residual(struct scb *);
325 static __inline int ahc_perform_autosense(struct scb *);
327 struct scb *);
328 static __inline void ahc_freeze_scb(struct scb *);
329 static __inline void ahc_platform_freeze_devq(struct ahc_softc *, struct scb *);
334 void ahc_set_transaction_status(struct scb *scb, uint32_t status)
336 scb->xs->error = status;
340 void ahc_set_scsi_status(struct scb *scb, uint32_t status)
342 scb->xs->xs_status = status;
346 uint32_t ahc_get_transaction_status(struct scb *scb)
348 return (scb->xs->error);
352 uint32_t ahc_get_scsi_status(struct scb *scb)
354 return (scb->xs->xs_status);
358 void ahc_set_transaction_tag(struct scb *scb, int enabled, u_int type)
360 scb->xs->xs_tag_type = type;
364 u_long ahc_get_transfer_length(struct scb *scb)
366 return (scb->xs->datalen);
370 int ahc_get_transfer_dir(struct scb *scb)
372 return (scb->xs->xs_control & (XS_CTL_DATA_IN|XS_CTL_DATA_OUT));
376 void ahc_set_residual(struct scb *scb, u_long resid)
378 scb->xs->resid = resid;
382 void ahc_set_sense_residual(struct scb *scb, u_long resid)
385 scb->io_ctx->csio.sense_resid = resid;
390 u_long ahc_get_residual(struct scb *scb)
392 return (scb->xs->resid);
396 int ahc_perform_autosense(struct scb *scb)
398 return (!(scb->flags & SCB_SENSE));
402 ahc_get_sense_bufsize(struct ahc_softc *ahc, struct scb *scb)
408 ahc_freeze_scb(struct scb *scb)
410 struct scsipi_xfer *xs = scb->xs;
412 if (!(scb->flags & SCB_FREEZE_QUEUE)) {
414 scb->flags |= SCB_FREEZE_QUEUE;
419 ahc_platform_freeze_devq(struct ahc_softc *ahc, struct scb *scb)
432 ahc_platform_scb_free(struct ahc_softc *ahc, struct scb *scb)
437 && scb->io_ctx != NULL
438 && (scb->io_ctx->ccb_h.status & CAM_RELEASE_SIMQ) == 0) {
439 scb->io_ctx->ccb_h.status |= CAM_RELEASE_SIMQ;
442 scb->io_ctx = NULL;
503 static __inline void ahc_print_path(struct ahc_softc *, struct scb *);
507 ahc_print_path(struct ahc_softc *ahc, struct scb *scb)
538 void ahc_done(struct ahc_softc *, struct scb *);