diff options
author | Dan Williams <dan.j.williams@intel.com> | 2016-12-02 13:31:02 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2016-12-05 14:31:24 -0500 |
commit | bfa9cb3e110cc02f2120e021bc853773bfd61b74 (patch) | |
tree | f8b715bbdd81b89bd8df6d458b9ea5c559a35f7d | |
parent | a2e7eefd5618e0f75bae2eb5c9387ea2f627b6ca (diff) |
ahci-remap.h: add ahci remapping definitions
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
[hch: split into a separate header and commit]
Signed-off-by: Christoph Hellwig <hch@lst.de>
[tj: dropped duplicate definition of AHCI_VSCAP spotted by Sergei]
Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
-rw-r--r-- | include/linux/ahci-remap.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/include/linux/ahci-remap.h b/include/linux/ahci-remap.h new file mode 100644 index 000000000000..62be3a40239d --- /dev/null +++ b/include/linux/ahci-remap.h | |||
@@ -0,0 +1,28 @@ | |||
1 | #ifndef _LINUX_AHCI_REMAP_H | ||
2 | #define _LINUX_AHCI_REMAP_H | ||
3 | |||
4 | #include <linux/sizes.h> | ||
5 | |||
6 | #define AHCI_VSCAP 0xa4 | ||
7 | #define AHCI_REMAP_CAP 0x800 | ||
8 | |||
9 | /* device class code */ | ||
10 | #define AHCI_REMAP_N_DCC 0x880 | ||
11 | |||
12 | /* remap-device base relative to ahci-bar */ | ||
13 | #define AHCI_REMAP_N_OFFSET SZ_16K | ||
14 | #define AHCI_REMAP_N_SIZE SZ_16K | ||
15 | |||
16 | #define AHCI_MAX_REMAP 3 | ||
17 | |||
18 | static inline unsigned int ahci_remap_dcc(int i) | ||
19 | { | ||
20 | return AHCI_REMAP_N_DCC + i * 0x80; | ||
21 | } | ||
22 | |||
23 | static inline unsigned int ahci_remap_base(int i) | ||
24 | { | ||
25 | return AHCI_REMAP_N_OFFSET + i * AHCI_REMAP_N_SIZE; | ||
26 | } | ||
27 | |||
28 | #endif /* _LINUX_AHCI_REMAP_H */ | ||