Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
Pull x86 IOSF platform updates from Ingo Molnar: "IOSF (Intel OnChip System Fabric) updates: - generalize the IOSF interface to allow mixed mode drivers: non-IOSF drivers to utilize of IOSF features on IOSF platforms. - add 'Quark X1000' IOSF/MBI support - clean up BayTrail and Quark PCI ID enumeration" * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86, iosf: Add PCI ID macros for better readability x86, iosf: Add Quark X1000 PCI ID x86, iosf: Added Quark MBI identifiers x86, iosf: Make IOSF driver modular and usable by more drivers
This commit is contained in:
@@ -50,6 +50,32 @@
|
||||
#define BT_MBI_PCIE_READ 0x00
|
||||
#define BT_MBI_PCIE_WRITE 0x01
|
||||
|
||||
/* Quark available units */
|
||||
#define QRK_MBI_UNIT_HBA 0x00
|
||||
#define QRK_MBI_UNIT_HB 0x03
|
||||
#define QRK_MBI_UNIT_RMU 0x04
|
||||
#define QRK_MBI_UNIT_MM 0x05
|
||||
#define QRK_MBI_UNIT_MMESRAM 0x05
|
||||
#define QRK_MBI_UNIT_SOC 0x31
|
||||
|
||||
/* Quark read/write opcodes */
|
||||
#define QRK_MBI_HBA_READ 0x10
|
||||
#define QRK_MBI_HBA_WRITE 0x11
|
||||
#define QRK_MBI_HB_READ 0x10
|
||||
#define QRK_MBI_HB_WRITE 0x11
|
||||
#define QRK_MBI_RMU_READ 0x10
|
||||
#define QRK_MBI_RMU_WRITE 0x11
|
||||
#define QRK_MBI_MM_READ 0x10
|
||||
#define QRK_MBI_MM_WRITE 0x11
|
||||
#define QRK_MBI_MMESRAM_READ 0x12
|
||||
#define QRK_MBI_MMESRAM_WRITE 0x13
|
||||
#define QRK_MBI_SOC_READ 0x06
|
||||
#define QRK_MBI_SOC_WRITE 0x07
|
||||
|
||||
#if IS_ENABLED(CONFIG_IOSF_MBI)
|
||||
|
||||
bool iosf_mbi_available(void);
|
||||
|
||||
/**
|
||||
* iosf_mbi_read() - MailBox Interface read command
|
||||
* @port: port indicating subunit being accessed
|
||||
@@ -87,4 +113,33 @@ int iosf_mbi_write(u8 port, u8 opcode, u32 offset, u32 mdr);
|
||||
*/
|
||||
int iosf_mbi_modify(u8 port, u8 opcode, u32 offset, u32 mdr, u32 mask);
|
||||
|
||||
#else /* CONFIG_IOSF_MBI is not enabled */
|
||||
static inline
|
||||
bool iosf_mbi_available(void)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline
|
||||
int iosf_mbi_read(u8 port, u8 opcode, u32 offset, u32 *mdr)
|
||||
{
|
||||
WARN(1, "IOSF_MBI driver not available");
|
||||
return -EPERM;
|
||||
}
|
||||
|
||||
static inline
|
||||
int iosf_mbi_write(u8 port, u8 opcode, u32 offset, u32 mdr)
|
||||
{
|
||||
WARN(1, "IOSF_MBI driver not available");
|
||||
return -EPERM;
|
||||
}
|
||||
|
||||
static inline
|
||||
int iosf_mbi_modify(u8 port, u8 opcode, u32 offset, u32 mdr, u32 mask)
|
||||
{
|
||||
WARN(1, "IOSF_MBI driver not available");
|
||||
return -EPERM;
|
||||
}
|
||||
#endif /* CONFIG_IOSF_MBI */
|
||||
|
||||
#endif /* IOSF_MBI_SYMS_H */
|
||||
|
Reference in New Issue
Block a user