diff options
Diffstat (limited to 'drivers/s390/scsi/zfcp_def.h')
-rw-r--r-- | drivers/s390/scsi/zfcp_def.h | 84 |
1 files changed, 56 insertions, 28 deletions
diff --git a/drivers/s390/scsi/zfcp_def.h b/drivers/s390/scsi/zfcp_def.h index 2715a103e5a8..a04bdfd4d2f6 100644 --- a/drivers/s390/scsi/zfcp_def.h +++ b/drivers/s390/scsi/zfcp_def.h | |||
@@ -529,36 +529,64 @@ struct zfcp_unit { | |||
529 | struct work_struct scsi_work; | 529 | struct work_struct scsi_work; |
530 | }; | 530 | }; |
531 | 531 | ||
532 | /* FSF request */ | 532 | /** |
533 | * struct zfcp_queue_req - queue related values for a request | ||
534 | * @sbal_number: number of free SBALs | ||
535 | * @sbal_first: first SBAL for this request | ||
536 | * @sbal_last: last SBAL for this request | ||
537 | * @sbal_limit: last possible SBAL for this request | ||
538 | * @sbale_curr: current SBALE at creation of this request | ||
539 | * @sbal_response: SBAL used in interrupt | ||
540 | * @qdio_outb_usage: usage of outbound queue | ||
541 | * @qdio_inb_usage: usage of inbound queue | ||
542 | */ | ||
543 | struct zfcp_queue_req { | ||
544 | u8 sbal_number; | ||
545 | u8 sbal_first; | ||
546 | u8 sbal_last; | ||
547 | u8 sbal_limit; | ||
548 | u8 sbale_curr; | ||
549 | u8 sbal_response; | ||
550 | u16 qdio_outb_usage; | ||
551 | u16 qdio_inb_usage; | ||
552 | }; | ||
553 | |||
554 | /** | ||
555 | * struct zfcp_fsf_req - basic FSF request structure | ||
556 | * @list: list of FSF requests | ||
557 | * @req_id: unique request ID | ||
558 | * @adapter: adapter this request belongs to | ||
559 | * @queue_req: queue related values | ||
560 | * @completion: used to signal the completion of the request | ||
561 | * @status: status of the request | ||
562 | * @fsf_command: FSF command issued | ||
563 | * @qtcb: associated QTCB | ||
564 | * @seq_no: sequence number of this request | ||
565 | * @data: private data | ||
566 | * @timer: timer data of this request | ||
567 | * @erp_action: reference to erp action if request issued on behalf of ERP | ||
568 | * @pool: reference to memory pool if used for this request | ||
569 | * @issued: time when request was send (STCK) | ||
570 | * @unit: reference to unit if this request is a SCSI request | ||
571 | * @handler: handler which should be called to process response | ||
572 | */ | ||
533 | struct zfcp_fsf_req { | 573 | struct zfcp_fsf_req { |
534 | struct list_head list; /* list of FSF requests */ | 574 | struct list_head list; |
535 | unsigned long req_id; /* unique request ID */ | 575 | unsigned long req_id; |
536 | struct zfcp_adapter *adapter; /* adapter request belongs to */ | 576 | struct zfcp_adapter *adapter; |
537 | u8 sbal_number; /* nr of SBALs free for use */ | 577 | struct zfcp_queue_req queue_req; |
538 | u8 sbal_first; /* first SBAL for this request */ | 578 | struct completion completion; |
539 | u8 sbal_last; /* last SBAL for this request */ | 579 | u32 status; |
540 | u8 sbal_limit; /* last possible SBAL for | 580 | u32 fsf_command; |
541 | this reuest */ | 581 | struct fsf_qtcb *qtcb; |
542 | u8 sbale_curr; /* current SBALE during creation | 582 | u32 seq_no; |
543 | of request */ | 583 | void *data; |
544 | u8 sbal_response; /* SBAL used in interrupt */ | 584 | struct timer_list timer; |
545 | struct completion completion; /* can be used by a routine | 585 | struct zfcp_erp_action *erp_action; |
546 | to wait for completion */ | 586 | mempool_t *pool; |
547 | u32 status; /* status of this request */ | 587 | unsigned long long issued; |
548 | u32 fsf_command; /* FSF Command copy */ | 588 | struct zfcp_unit *unit; |
549 | struct fsf_qtcb *qtcb; /* address of associated QTCB */ | ||
550 | u32 seq_no; /* Sequence number of request */ | ||
551 | void *data; /* private data of request */ | ||
552 | struct timer_list timer; /* used for erp or scsi er */ | ||
553 | struct zfcp_erp_action *erp_action; /* used if this request is | ||
554 | issued on behalf of erp */ | ||
555 | mempool_t *pool; /* used if request was alloacted | ||
556 | from emergency pool */ | ||
557 | unsigned long long issued; /* request sent time (STCK) */ | ||
558 | struct zfcp_unit *unit; | ||
559 | void (*handler)(struct zfcp_fsf_req *); | 589 | void (*handler)(struct zfcp_fsf_req *); |
560 | u16 qdio_outb_usage;/* usage of outbound queue */ | ||
561 | u16 qdio_inb_usage; /* usage of inbound queue */ | ||
562 | }; | 590 | }; |
563 | 591 | ||
564 | /* driver data */ | 592 | /* driver data */ |