]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - drivers/block/rsxx/rsxx_cfg.h
Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[mirror_ubuntu-jammy-kernel.git] / drivers / block / rsxx / rsxx_cfg.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3 * Filename: rsXX_cfg.h
4 *
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
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 */
47 #define RSXX_VENDOR_ID_IBM 0
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