kernel: add a helper to get an owning user namespace for a namespace
[linux-2.6-block.git] / include / linux / qed / storage_common.h
CommitLineData
7a9b6b8f
YM
1/* QLogic qed NIC Driver
2 * Copyright (c) 2015 QLogic Corporation
3 *
4 * This software is available under the terms of the GNU General Public License
5 * (GPL) Version 2, available from the file COPYING in the main directory of
6 * this source tree.
7 */
8
9#ifndef __STORAGE_COMMON__
10#define __STORAGE_COMMON__
11
12#define NUM_OF_CMDQS_CQS (NUM_OF_GLOBAL_QUEUES / 2)
13#define BDQ_NUM_RESOURCES (4)
14
15#define BDQ_ID_RQ (0)
16#define BDQ_ID_IMM_DATA (1)
17#define BDQ_NUM_IDS (2)
18
19#define BDQ_MAX_EXTERNAL_RING_SIZE (1 << 15)
20
21struct scsi_bd {
22 struct regpair address;
23 struct regpair opaque;
24};
25
26struct scsi_bdq_ram_drv_data {
27 __le16 external_producer;
28 __le16 reserved0[3];
29};
30
31struct scsi_drv_cmdq {
32 __le16 cmdq_cons;
33 __le16 reserved0;
34 __le32 reserved1;
35};
36
37struct scsi_init_func_params {
38 __le16 num_tasks;
39 u8 log_page_size;
40 u8 debug_mode;
41 u8 reserved2[12];
42};
43
44struct scsi_init_func_queues {
45 struct regpair glbl_q_params_addr;
46 __le16 rq_buffer_size;
47 __le16 cq_num_entries;
48 __le16 cmdq_num_entries;
49 u8 bdq_resource_id;
50 u8 q_validity;
51#define SCSI_INIT_FUNC_QUEUES_RQ_VALID_MASK 0x1
52#define SCSI_INIT_FUNC_QUEUES_RQ_VALID_SHIFT 0
53#define SCSI_INIT_FUNC_QUEUES_IMM_DATA_VALID_MASK 0x1
54#define SCSI_INIT_FUNC_QUEUES_IMM_DATA_VALID_SHIFT 1
55#define SCSI_INIT_FUNC_QUEUES_CMD_VALID_MASK 0x1
56#define SCSI_INIT_FUNC_QUEUES_CMD_VALID_SHIFT 2
57#define SCSI_INIT_FUNC_QUEUES_RESERVED_VALID_MASK 0x1F
58#define SCSI_INIT_FUNC_QUEUES_RESERVED_VALID_SHIFT 3
59 u8 num_queues;
60 u8 queue_relative_offset;
61 u8 cq_sb_pi;
62 u8 cmdq_sb_pi;
63 __le16 cq_cmdq_sb_num_arr[NUM_OF_CMDQS_CQS];
64 __le16 reserved0;
65 u8 bdq_pbl_num_entries[BDQ_NUM_IDS];
66 struct regpair bdq_pbl_base_address[BDQ_NUM_IDS];
67 __le16 bdq_xoff_threshold[BDQ_NUM_IDS];
68 __le16 bdq_xon_threshold[BDQ_NUM_IDS];
69 __le16 cmdq_xoff_threshold;
70 __le16 cmdq_xon_threshold;
71 __le32 reserved1;
72};
73
74struct scsi_ram_per_bdq_resource_drv_data {
75 struct scsi_bdq_ram_drv_data drv_data_per_bdq_id[BDQ_NUM_IDS];
76};
77
78struct scsi_sge {
79 struct regpair sge_addr;
80 __le16 sge_len;
81 __le16 reserved0;
82 __le32 reserved1;
83};
84
85struct scsi_terminate_extra_params {
86 __le16 unsolicited_cq_count;
87 __le16 cmdq_count;
88 u8 reserved[4];
89};
90
91#endif /* __STORAGE_COMMON__ */