linux/drivers
David E. Box 997ab407d2 X86 platform: New BayTrail IOSF-SB MBI driver
Current Intel SOC cores use a MailBox Interface (MBI) to provide access to unit
devices connected to the system fabric. This driver implements access to this
interface on BayTrail platforms. This is a requirement for drivers that need
access to unit registers on the platform (e.g. accessing the PUNIT for power
management features such as RAPL). Serialized access is handled by all exported
routines with spinlocks.

The API includes 3 functions for access to unit registers:

int bt_mbi_read(u8 port, u8 opcode, u32 offset, u32 *mdr)
int bt_mbi_write(u8 port, u8 opcode, u32 offset, u32 mdr)
int bt_mbi_modify(u8 port, u8 opcode, u32 offset, u32 mdr, u32 mask)

port:	indicating the unit being accessed
opcode:	the read or write port specific opcode
offset:	the register offset within the port
mdr:	the register data to be read, written, or modified
mask:	bit locations in mdr to change

Returns nonzero on error

Note: GPU code handles access to the GFX unit. Therefore access to that unit
with this driver is disallowed to avoid conflicts.

Signed-off-by: David E. Box <david.e.box@linux.intel.com>
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
2014-01-21 08:44:17 -05:00
..
accessibility
acpi Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-01-20 12:10:27 -08:00
amba
ata Merge branch 'for-3.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2014-01-09 09:08:23 +08:00
atm
auxdisplay
base Revert "kernfs, sysfs, driver-core: implement kernfs_remove_self() and its wrappers" 2014-01-13 14:05:13 -08:00
bcma
block Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k 2014-01-20 09:24:31 -08:00
bluetooth Bluetooth: Add support for Toshiba Bluetooth device [0930:0220] 2013-12-04 11:11:49 -02:00
bus
cdrom
char TTY/Serial driver patches for 3.14-rc1 2014-01-20 16:05:23 -08:00
clk clk: clk-divider: fix divisor > 255 bug 2014-01-08 08:33:12 -08:00
clocksource Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-01-20 11:34:26 -08:00
connector
cpufreq intel_pstate: Add X86_FEATURE_APERFMPERF to cpu match parameters. 2014-01-06 22:16:14 +01:00
cpuidle ARM/cpuidle: remove __init tag from Calxeda cpuidle probe function 2013-12-30 11:55:20 +01:00
crypto crypto: ixp4xx - Fix kernel compile error 2014-01-01 14:06:23 +08:00
dca
devfreq
dio
dma drivers/dma/ioat/dma.c: check DMA mapping error in ioat_dma_self_test() 2014-01-02 14:40:30 -08:00
edac Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-01-20 12:10:27 -08:00
eisa
extcon extcon: gpio: Add power resume support 2014-01-09 09:53:30 +09:00
firewire firewire: sbp2: bring back WRITE SAME support 2013-12-15 16:32:32 +01:00
firmware Driver core / sysfs patches for 3.14-rc1 2014-01-20 15:49:44 -08:00
fmc
gpio Merge 3.13-rc5 into staging-next 2013-12-24 09:43:21 -08:00
gpu drm/nouveau/mxm: fix null deref on load 2014-01-19 18:28:30 -08:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2013-12-13 13:21:28 -08:00
hsi
hv drivers: hv: Mark the function hv_synic_free_cpu() as static in hv.c 2013-12-18 16:41:52 -08:00
hwmon hwmon: (k10temp) Add support for Kaveri CPUs 2014-01-14 21:36:54 -08:00
hwspinlock
i2c i2c: imx: Check the return value from clk_prepare_enable() 2013-12-12 22:48:22 +01:00
ide
idle Merge branch 'x86/idle' into sched/core 2014-01-13 17:37:05 +01:00
iio iio: add Capella CM32181 ambient light sensor driver. 2014-01-01 12:03:32 +00:00
infiniband infiniband: make sure the src net is infiniband when create new link 2014-01-03 20:38:56 -05:00
input TTY/Serial driver patches for 3.14-rc1 2014-01-20 16:05:23 -08:00
iommu iommu/arm-smmu: fix error return code in arm_smmu_device_dt_probe() 2013-12-06 16:44:25 +00:00
ipack
irqchip Renesas ARM based SoC fixes for v3.13 2013-12-20 11:28:30 -08:00
isdn isdn: Drop big endian cpp checks from telespci and hfc_pci drivers 2014-01-06 15:50:51 -05:00
leds leds: lp5521/5523: Remove duplicate mutex 2014-01-10 14:48:07 -08:00
lguest
macintosh Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k 2014-01-20 09:24:31 -08:00
mailbox
md Driver core / sysfs patches for 3.14-rc1 2014-01-20 15:49:44 -08:00
media [media] videobuf2-dma-sg: fix possible memory leak 2013-12-10 05:40:57 -02:00
memory
memstick
message
mfd This is the 2nd MFD pull request for 3.13 2014-01-11 06:23:57 +07:00
misc Driver core / sysfs patches for 3.14-rc1 2014-01-20 15:49:44 -08:00
mmc
mtd Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2014-01-06 12:20:45 +11:00
net Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-01-20 10:25:12 -08:00
nfc
ntb
nubus
of Merge remote-tracking branch 'grant/devicetree/merge' into dt-fixes 2013-12-30 12:09:47 -06:00
oprofile
parisc
parport TTY/Serial driver patches for 3.14-rc1 2014-01-20 16:05:23 -08:00
pci Revert "pci: use device_remove_file_self() instead of device_schedule_callback()" 2014-01-13 14:03:06 -08:00
pcmcia pcmcia: Remove superfluous name casts 2013-12-08 22:47:13 -08:00
phy USB patches for 3.14-rc1 2014-01-20 16:13:02 -08:00
pinctrl Revert "ACPI: Add BayTrail SoC GPIO and LPSS ACPI IDs" 2014-01-18 14:04:58 +01:00
platform X86 platform: New BayTrail IOSF-SB MBI driver 2014-01-21 08:44:17 -05:00
pnp PNP: fix restoring devices after hibernation 2013-12-05 02:01:55 +01:00
power max17042_battery: Fix build errors caused by missing REGMAP_I2C config 2013-12-01 14:25:03 -08:00
powercap powercap / RAPL: add support for ValleyView Soc 2013-12-22 01:27:51 +01:00
pps
ps3
ptp
pwm
rapidio
regulator mfd: s2mps11: Fix build after regmap field rename in sec-core.c 2013-12-16 11:30:39 +00:00
remoteproc
reset
rpmsg
rtc Merge branch 'fortglx/3.14/time' of git://git.linaro.org/people/john.stultz/linux into timers/core 2014-01-12 14:13:31 +01:00
s390 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2014-01-20 09:23:31 -08:00
sbus
scsi Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k 2014-01-20 09:24:31 -08:00
sfi
sh
sn
spi
ssb
staging USB patches for 3.14-rc1 2014-01-20 16:13:02 -08:00
target target: Remove extra percpu_ref_init 2013-12-19 14:49:54 -08:00
tc
thermal sched, thermal: Clean up preempt_enable_no_resched() abuse 2014-01-13 17:39:18 +01:00
tty tty/serial: at91: disable uart timer at start of shutdown 2014-01-13 15:55:59 -08:00
uio uio: fix devm_request_irq usage 2013-12-20 08:49:17 -08:00
usb USB patches for 3.14-rc1 2014-01-20 16:13:02 -08:00
uwb uwb: move mutex_lock to error case in uwbd_evt_handle_rc_bp_slot_change 2013-12-20 12:19:44 -08:00
vfio
vhost
video Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k 2014-01-20 09:24:31 -08:00
virt
virtio virtio_balloon: update_balloon_size(): update correct field 2013-12-05 13:12:39 +10:30
vlynq
vme vme: Convert VME core to register as a subsystem 2013-12-17 17:06:19 -08:00
w1 w1: mxc_w1: Check the clk_prepare_enable() return value 2013-12-08 22:41:48 -08:00
watchdog Watchdog: pcwd_usb: remove CONFIG_USB_DEBUG usage 2014-01-07 16:15:39 -08:00
xen Bug-fixes: 2013-12-20 09:34:54 -08:00
zorro
Kconfig
Makefile