1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #ifndef _LINUX_AHCI_REMAP_H |
3 | #define _LINUX_AHCI_REMAP_H |
4 | |
5 | #include <linux/sizes.h> |
6 | |
7 | #define AHCI_VSCAP 0xa4 |
8 | #define AHCI_REMAP_CAP 0x800 |
9 | |
10 | /* device class code */ |
11 | #define AHCI_REMAP_N_DCC 0x880 |
12 | |
13 | /* remap-device base relative to ahci-bar */ |
14 | #define AHCI_REMAP_N_OFFSET SZ_16K |
15 | #define AHCI_REMAP_N_SIZE SZ_16K |
16 | |
17 | #define AHCI_MAX_REMAP 3 |
18 | |
19 | static inline unsigned int ahci_remap_dcc(int i) |
20 | { |
21 | return AHCI_REMAP_N_DCC + i * 0x80; |
22 | } |
23 | |
24 | static inline unsigned int ahci_remap_base(int i) |
25 | { |
26 | return AHCI_REMAP_N_OFFSET + i * AHCI_REMAP_N_SIZE; |
27 | } |
28 | |
29 | #endif /* _LINUX_AHCI_REMAP_H */ |
30 | |