30 lines
		
	
	
		
			607 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			607 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* 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 */
 |