565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov * This file and its contents are supplied under the terms of the
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov * Common Development and Distribution License ("CDDL"), version 1.0.
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov * You may only use this file in accordance with the terms of version
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov * 1.0 of the CDDL.
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov * A full copy of the text of the CDDL should have accompanied this
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov * source. A copy of the CDDL is also available via the Internet at
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov * Copyright 2016 Nexenta Systems, Inc.
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov/* Flags that must remain during SCSI packet retransmission */
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov#define PVSCSI_MAX_IO_SIZE (PVSCSI_MAX_IO_PAGES * PAGE_SIZE)
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov#define PVSCSI_MAX_SG_SIZE (PVSCSI_MAX_IO_PAGES + 1)
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov ddi_dma_cookie_t cached_cookies[PVSCSI_MAX_SG_SIZE];
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov#define AP2PRIV(ap) ((ap)->a_hba_tran->tran_hba_private)
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov#define CMD2PKT(cmd) ((struct scsi_pkt *)((cmd)->pkt))
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov#define PKT2CMD(pkt) ((pvscsi_cmd_t *)((pkt)->pkt_ha_private))
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov#define SDEV2PRIV(sd) ((sd)->sd_address.a_hba_tran->tran_hba_private)
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov#define TRAN2PRIV(tran) ((pvscsi_softc_t *)(tran)->tran_hba_private)
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov (((pvscsi_cmd_ctx_t *)(cmd_ctx))->dma_buf.addr))
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov/* Driver-wide flags */
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov#define HBA_IS_QUIESCED(pvs) (((pvs)->flags & PVSCSI_HBA_QUIESCED) != 0)
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov (((pvs)->flags & PVSCSI_HBA_QUIESCE_PENDING) != 0 && \
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov ((struct PVSCSIRingsState *)(((pvscsi_softc_t *)\
565657ca18725b8f8dbe5b93704cc1d173be9d65Yuri Pankov#endif /* _PVSCSI_VAR_H_ */