summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bfa/bfi_ms.h
diff options
context:
space:
mode:
authorKrishna Gudipati <kgudipat@brocade.com>2011-06-24 20:24:29 -0700
committerJames Bottomley <JBottomley@Parallels.com>2011-06-29 17:11:09 -0500
commit4507025d01149aea8705e43508d0ef11e7010cfd (patch)
tree937fefad76c8534bd42e0d1e46659db61ea57288 /drivers/scsi/bfa/bfi_ms.h
parent3fd459804ff8e002db2671900debd0fc6dc6c443 (diff)
downloadlinux-stable-4507025d01149aea8705e43508d0ef11e7010cfd.tar.gz
linux-stable-4507025d01149aea8705e43508d0ef11e7010cfd.tar.bz2
linux-stable-4507025d01149aea8705e43508d0ef11e7010cfd.zip
[SCSI] bfa: DMA memory allocation enhancement.
- Modified the design such that each BFA sub-module will provide the amount of DMA and KVA memory needed by it and queues the same request to the global dma and kva info queues. - During the memory allocation we iterate over this queue to allocate the dma and kva memory requested by sub-modules. - The change is needed to avoid requesting the aggregate amount of memory needed by all the BFA sub-modules as one contiguous chunk. Signed-off-by: Krishna Gudipati <kgudipat@brocade.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/bfa/bfi_ms.h')
-rw-r--r--drivers/scsi/bfa/bfi_ms.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/scsi/bfa/bfi_ms.h b/drivers/scsi/bfa/bfi_ms.h
index 0727c7595b1d..0d9f1fb50db0 100644
--- a/drivers/scsi/bfa/bfi_ms.h
+++ b/drivers/scsi/bfa/bfi_ms.h
@@ -46,10 +46,12 @@ struct bfi_iocfc_cfg_s {
u8 sense_buf_len; /* SCSI sense length */
u16 rsvd_1;
u32 endian_sig; /* endian signature of host */
+ u8 rsvd_2;
+ u8 single_msix_vec;
+ u8 rsvd[2];
__be16 num_ioim_reqs;
__be16 num_fwtio_reqs;
- u8 single_msix_vec;
- u8 rsvd[3];
+
/*
* Request and response circular queue base addresses, size and
@@ -64,7 +66,8 @@ struct bfi_iocfc_cfg_s {
union bfi_addr_u stats_addr; /* DMA-able address for stats */
union bfi_addr_u cfgrsp_addr; /* config response dma address */
- union bfi_addr_u ioim_snsbase; /* IO sense buffer base address */
+ union bfi_addr_u ioim_snsbase[BFI_IOIM_SNSBUF_SEGS];
+ /* IO sense buf base addr segments */
struct bfa_iocfc_intr_attr_s intr_attr; /* IOC interrupt attributes */
};
@@ -753,7 +756,6 @@ enum bfi_ioim_status {
BFI_IOIM_STS_PATHTOV = 8,
};
-#define BFI_IOIM_SNSLEN (256)
/*
* I/O response message
*/