1a59d1b8 |
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
8722ff8c |
2 | /* |
3 | * Filename: rsXX_cfg.h |
4 | * |
8722ff8c |
5 | * Authors: Joshua Morris <josh.h.morris@us.ibm.com> |
6 | * Philip Kelleher <pjk1939@linux.vnet.ibm.com> |
7 | * |
8 | * (C) Copyright 2013 IBM Corporation |
8722ff8c |
9 | */ |
10 | |
11 | #ifndef __RSXX_CFG_H__ |
12 | #define __RSXX_CFG_H__ |
13 | |
14 | /* NOTE: Config values will be saved in network byte order (i.e. Big endian) */ |
15 | #include <linux/types.h> |
16 | |
17 | /* |
18 | * The card config version must match the driver's expected version. If it does |
19 | * not, the DMA interfaces will not be attached and the user will need to |
20 | * initialize/upgrade the card configuration using the card config utility. |
21 | */ |
22 | #define RSXX_CFG_VERSION 4 |
23 | |
24 | struct card_cfg_hdr { |
25 | __u32 version; |
26 | __u32 crc; |
27 | }; |
28 | |
29 | struct card_cfg_data { |
30 | __u32 block_size; |
31 | __u32 stripe_size; |
32 | __u32 vendor_id; |
33 | __u32 cache_order; |
34 | struct { |
35 | __u32 mode; /* Disabled, manual, auto-tune... */ |
36 | __u32 count; /* Number of intr to coalesce */ |
37 | __u32 latency;/* Max wait time (in ns) */ |
38 | } intr_coal; |
39 | }; |
40 | |
41 | struct rsxx_card_cfg { |
42 | struct card_cfg_hdr hdr; |
43 | struct card_cfg_data data; |
44 | }; |
45 | |
46 | /* Vendor ID Values */ |
9bb3c446 |
47 | #define RSXX_VENDOR_ID_IBM 0 |
8722ff8c |
48 | #define RSXX_VENDOR_ID_DSI 1 |
49 | #define RSXX_VENDOR_COUNT 2 |
50 | |
51 | /* Interrupt Coalescing Values */ |
52 | #define RSXX_INTR_COAL_DISABLED 0 |
53 | #define RSXX_INTR_COAL_EXPLICIT 1 |
54 | #define RSXX_INTR_COAL_AUTO_TUNE 2 |
55 | |
56 | |
57 | #endif /* __RSXX_CFG_H__ */ |
58 | |