diff options
author | Dan Williams <dan.j.williams@intel.com> | 2016-12-02 21:31:02 +0300 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2016-12-05 22:31:24 +0300 |
commit | bfa9cb3e110cc02f2120e021bc853773bfd61b74 (patch) | |
tree | f8b715bbdd81b89bd8df6d458b9ea5c559a35f7d /include/linux/ahci-remap.h | |
parent | a2e7eefd5618e0f75bae2eb5c9387ea2f627b6ca (diff) | |
download | linux-bfa9cb3e110cc02f2120e021bc853773bfd61b74.tar.xz |
ahci-remap.h: add ahci remapping definitions
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
[hch: split into a separate header and commit]
Signed-off-by: Christoph Hellwig <hch@lst.de>
[tj: dropped duplicate definition of AHCI_VSCAP spotted by Sergei]
Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'include/linux/ahci-remap.h')
-rw-r--r-- | include/linux/ahci-remap.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/include/linux/ahci-remap.h b/include/linux/ahci-remap.h new file mode 100644 index 000000000000..62be3a40239d --- /dev/null +++ b/include/linux/ahci-remap.h @@ -0,0 +1,28 @@ +#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 */ |