treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156
[linux-block.git] / drivers / block / rsxx / rsxx_cfg.h
CommitLineData
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
24struct card_cfg_hdr {
25 __u32 version;
26 __u32 crc;
27};
28
29struct 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
41struct 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