aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_def.h
diff options
context:
space:
mode:
authorSwen Schillig <swen@vnet.ibm.com>2008-06-10 12:20:57 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-07-12 09:22:25 -0400
commit00bab91066a49468bfa4f6d5c8ad5e9ec53b7ea3 (patch)
treea5ce7bfe5ad290c339f669b3596b75f5238157c6 /drivers/s390/scsi/zfcp_def.h
parentfa04c2816883a49ec518514f6c19767d54be20b5 (diff)
[SCSI] zfcp: Cleanup qdio code
Cleanup the interface code from zfcp to qdio. Also move code that belongs to the qdio interface from the erp to the qdio file. Signed-off-by: Swen Schillig <swen@vnet.ibm.com> Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/s390/scsi/zfcp_def.h')
-rw-r--r--drivers/s390/scsi/zfcp_def.h26
1 files changed, 7 insertions, 19 deletions
diff --git a/drivers/s390/scsi/zfcp_def.h b/drivers/s390/scsi/zfcp_def.h
index 72f225817ebd..5fcb555e1484 100644
--- a/drivers/s390/scsi/zfcp_def.h
+++ b/drivers/s390/scsi/zfcp_def.h
@@ -112,21 +112,10 @@ zfcp_address_to_sg(void *address, struct scatterlist *list, unsigned int size)
112 /* max. number of (data buffer) SBALEs in largest SBAL chain 112 /* max. number of (data buffer) SBALEs in largest SBAL chain
113 multiplied with number of sectors per 4k block */ 113 multiplied with number of sectors per 4k block */
114 114
115/* FIXME(tune): free space should be one max. SBAL chain plus what? */
116#define ZFCP_QDIO_PCI_INTERVAL (QDIO_MAX_BUFFERS_PER_Q \
117 - (ZFCP_MAX_SBALS_PER_REQ + 4))
118
119#define ZFCP_SBAL_TIMEOUT (5*HZ) 115#define ZFCP_SBAL_TIMEOUT (5*HZ)
120 116
121#define ZFCP_TYPE2_RECOVERY_TIME 8 /* seconds */ 117#define ZFCP_TYPE2_RECOVERY_TIME 8 /* seconds */
122 118
123/* queue polling (values in microseconds) */
124#define ZFCP_MAX_INPUT_THRESHOLD 5000 /* FIXME: tune */
125#define ZFCP_MAX_OUTPUT_THRESHOLD 1000 /* FIXME: tune */
126#define ZFCP_MIN_INPUT_THRESHOLD 1 /* ignored by QDIO layer */
127#define ZFCP_MIN_OUTPUT_THRESHOLD 1 /* ignored by QDIO layer */
128
129#define QDIO_SCSI_QFMT 1 /* 1 for FSF */
130#define QBUFF_PER_PAGE (PAGE_SIZE / sizeof(struct qdio_buffer)) 119#define QBUFF_PER_PAGE (PAGE_SIZE / sizeof(struct qdio_buffer))
131 120
132/********************* FSF SPECIFIC DEFINES *********************************/ 121/********************* FSF SPECIFIC DEFINES *********************************/
@@ -649,13 +638,13 @@ struct zfcp_send_els {
649}; 638};
650 639
651struct zfcp_qdio_queue { 640struct zfcp_qdio_queue {
652 struct qdio_buffer *buffer[QDIO_MAX_BUFFERS_PER_Q]; /* SBALs */ 641 struct qdio_buffer *sbal[QDIO_MAX_BUFFERS_PER_Q]; /* SBALs */
653 u8 free_index; /* index of next free bfr 642 u8 first; /* index of next free bfr
654 in queue (free_count>0) */ 643 in queue (free_count>0) */
655 atomic_t free_count; /* number of free buffers 644 atomic_t count; /* number of free buffers
656 in queue */ 645 in queue */
657 rwlock_t queue_lock; /* lock for operations on queue */ 646 rwlock_t lock; /* lock for operations on queue */
658 int distance_from_int; /* SBALs used since PCI indication 647 int pci_batch; /* SBALs since PCI indication
659 was last set */ 648 was last set */
660}; 649};
661 650
@@ -711,15 +700,14 @@ struct zfcp_adapter {
711 struct list_head port_remove_lh; /* head of ports to be 700 struct list_head port_remove_lh; /* head of ports to be
712 removed */ 701 removed */
713 u32 ports; /* number of remote ports */ 702 u32 ports; /* number of remote ports */
714 atomic_t reqs_active; /* # active FSF reqs */
715 unsigned long req_no; /* unique FSF req number */ 703 unsigned long req_no; /* unique FSF req number */
716 struct list_head *req_list; /* list of pending reqs */ 704 struct list_head *req_list; /* list of pending reqs */
717 spinlock_t req_list_lock; /* request list lock */ 705 spinlock_t req_list_lock; /* request list lock */
718 struct zfcp_qdio_queue request_queue; /* request queue */ 706 struct zfcp_qdio_queue req_q; /* request queue */
719 u32 fsf_req_seq_no; /* FSF cmnd seq number */ 707 u32 fsf_req_seq_no; /* FSF cmnd seq number */
720 wait_queue_head_t request_wq; /* can be used to wait for 708 wait_queue_head_t request_wq; /* can be used to wait for
721 more avaliable SBALs */ 709 more avaliable SBALs */
722 struct zfcp_qdio_queue response_queue; /* response queue */ 710 struct zfcp_qdio_queue resp_q; /* response queue */
723 rwlock_t abort_lock; /* Protects against SCSI 711 rwlock_t abort_lock; /* Protects against SCSI
724 stack abort/command 712 stack abort/command
725 completion races */ 713 completion races */