summaryrefslogtreecommitdiff
path: root/include/linux/ahci-remap.h
blob: 230c871ba0840723d0c08efd7167a1dc4790adac (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* 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 */