GNU Linux-libre 6.8.7-gnu
[releases.git] / drivers / scsi / snic / vnic_snic.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /* Copyright 2014 Cisco Systems, Inc.  All rights reserved. */
3
4 #ifndef _VNIC_SNIC_H_
5 #define _VNIC_SNIC_H_
6
7 #define VNIC_SNIC_WQ_DESCS_MIN              64
8 #define VNIC_SNIC_WQ_DESCS_MAX              1024
9
10 #define VNIC_SNIC_MAXDATAFIELDSIZE_MIN      256
11 #define VNIC_SNIC_MAXDATAFIELDSIZE_MAX      2112
12
13 #define VNIC_SNIC_IO_THROTTLE_COUNT_MIN     1
14 #define VNIC_SNIC_IO_THROTTLE_COUNT_MAX     1024
15
16 #define VNIC_SNIC_PORT_DOWN_TIMEOUT_MIN     0
17 #define VNIC_SNIC_PORT_DOWN_TIMEOUT_MAX     240000
18
19 #define VNIC_SNIC_PORT_DOWN_IO_RETRIES_MIN  0
20 #define VNIC_SNIC_PORT_DOWN_IO_RETRIES_MAX  255
21
22 #define VNIC_SNIC_LUNS_PER_TARGET_MIN       1
23 #define VNIC_SNIC_LUNS_PER_TARGET_MAX       1024
24
25 /* Device-specific region: scsi configuration */
26 struct vnic_snic_config {
27         u32 flags;
28         u32 wq_enet_desc_count;
29         u32 io_throttle_count;
30         u32 port_down_timeout;
31         u32 port_down_io_retries;
32         u32 luns_per_tgt;
33         u16 maxdatafieldsize;
34         u16 intr_timer;
35         u8 intr_timer_type;
36         u8 _resvd2;
37         u8 xpt_type;
38         u8 hid;
39 };
40 #endif /* _VNIC_SNIC_H_ */