| /* SPDX-License-Identifier: GPL-2.0 */ | |
| #ifndef _LINUX_AHCI_REMAP_H | |
| #define _LINUX_AHCI_REMAP_H | |
| #include <linux/sizes.h> | |
| #define AHCI_VSCAP 0xa4 | |
| #define AHCI_REMAP_CAP 0x800 | |
| /* device class code */ | |
| #define AHCI_REMAP_N_DCC 0x880 | |
| /* remap-device base relative to ahci-bar */ | |
| #define AHCI_REMAP_N_OFFSET SZ_16K | |
| #define AHCI_REMAP_N_SIZE SZ_16K | |
| #define AHCI_MAX_REMAP 3 | |
| static inline unsigned int ahci_remap_dcc(int i) | |
| { | |
| return AHCI_REMAP_N_DCC + i * 0x80; | |
| } | |
| static inline unsigned int ahci_remap_base(int i) | |
| { | |
| return AHCI_REMAP_N_OFFSET + i * AHCI_REMAP_N_SIZE; | |
| } | |
| #endif /* _LINUX_AHCI_REMAP_H */ |