xref: /linux/include/linux/ahci-remap.h (revision 2da68a77)
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