alistair23-linux/drivers
Russell Currey 71f677a910 drm/ast: Handle configuration without P2A bridge
The ast driver configures a window to enable access into BMC
memory space in order to read some configuration registers.

If this window is disabled, which it can be from the BMC side,
the ast driver can't function.

Closing this window is a necessity for security if a machine's
host side and BMC side are controlled by different parties;
i.e. a cloud provider offering machines "bare metal".

A recent patch went in to try to check if that window is open
but it does so by trying to access the registers in question
and testing if the result is 0xffffffff.

This method will trigger a PCIe error when the window is closed
which on some systems will be fatal (it will trigger an EEH
for example on POWER which will take out the device).

This patch improves this in two ways:

 - First, if the firmware has put properties in the device-tree
containing the relevant configuration information, we use these.

 - Otherwise, a bit in one of the SCU scratch registers (which
are readable via the VGA register space and writeable by the BMC)
will indicate if the BMC has closed the window. This bit has been
defined by Y.C Chen from Aspeed.

If the window is closed and the configuration isn't available from
the device-tree, some sane defaults are used. Those defaults are
hopefully sufficient for standard video modes used on a server.

Signed-off-by: Russell Currey <ruscur@russell.cc>
Acked-by: Joel Stanley <joel@jms.id.au>
Cc: <stable@vger.kernel.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-02-28 13:09:50 +10:00
..
accessibility
acpi The usual collection of new drivers, non-critical fixes, and updates 2017-02-25 14:28:06 -08:00
amba
android mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
ata ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
atm atm: idt77252, use setup_timer and mod_timer 2017-02-15 13:24:53 -05:00
auxdisplay
base memory-hotplug: use dev_online for memhp_auto_online 2017-02-24 17:46:56 -08:00
bcma
block Merge branch 'akpm' (patches from Andrew) 2017-02-25 10:29:09 -08:00
bluetooth btmrvl: fix spelling mistake: "actived" -> "activated" 2017-02-19 00:26:37 +01:00
bus ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
cdrom Merge branch 'for-4.11/next' into for-4.11/linus-merge 2017-02-17 14:08:19 -07:00
char mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
clk The usual collection of new drivers, non-critical fixes, and updates 2017-02-25 14:28:06 -08:00
clocksource Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-02-20 10:06:32 -08:00
connector
cpufreq ARM: SoC non-urgent fixes for merge window 2017-02-23 15:28:04 -08:00
cpuidle powerpc updates for 4.11 part 1. 2017-02-22 10:30:38 -08:00
crypto treewide: Remove remaining executable attributes from source files 2017-02-25 12:12:50 -08:00
dax mm: replace FAULT_FLAG_SIZE with parameter to huge_fault 2017-02-24 17:46:54 -08:00
dca
devfreq Merge branch 'pm-devfreq' 2017-02-20 14:23:40 +01:00
dio
dma TTY/Serial driver patches for 4.11-rc1 2017-02-22 12:17:25 -08:00
dma-buf
edac Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-02-20 12:47:44 -08:00
eisa
extcon
firewire
firmware ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
fmc
fpga
fsi
gpio This is the bulk of GPIO changes for the v4.11 cycle 2017-02-23 08:46:04 -08:00
gpu drm/ast: Handle configuration without P2A bridge 2017-02-28 13:09:50 +10:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2017-02-21 17:28:25 -08:00
hsi mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
hv vmbus: replace modulus operation with subtraction 2017-02-14 10:20:35 -08:00
hwmon hwmon: (sht15) Add device tree support 2017-02-16 06:49:05 -08:00
hwspinlock
hwtracing mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
i2c Merge branch 'i2c/for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2017-02-25 14:21:18 -08:00
ide Merge branch 'for-4.11/next' into for-4.11/linus-merge 2017-02-17 14:08:19 -07:00
idle
iio
infiniband This is a tree wide change and has been kept separate for that reason. 2017-02-25 13:45:43 -08:00
input This is the bulk of GPIO changes for the v4.11 cycle 2017-02-23 08:46:04 -08:00
iommu This is a tree wide change and has been kept separate for that reason. 2017-02-25 13:45:43 -08:00
ipack
irqchip IOMMU Updates for Linux v4.11 2017-02-20 16:42:43 -08:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-02-22 10:15:09 -08:00
leds leds: class: Add new optional brightness_hw_changed attribute 2017-02-24 23:48:50 -08:00
lguest
lightnvm lightnvm: set default lun range when no luns are specified 2017-02-15 08:27:21 -07:00
macintosh driver core patches for 4.11-rc1 2017-02-22 11:44:32 -08:00
mailbox
mcb
md Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md 2017-02-24 14:42:19 -08:00
media mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
memory ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
memstick Merge branch 'for-4.11/next' into for-4.11/linus-merge 2017-02-17 14:08:19 -07:00
message SCSI misc on 20170220 2017-02-21 11:51:42 -08:00
mfd staging/iio driver patches for 4.11-rc1 2017-02-22 12:14:01 -08:00
misc Merge branch 'i2c/for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2017-02-25 14:21:18 -08:00
mmc MMC core: 2017-02-21 12:04:54 -08:00
mtd for-4.11/linus-merge-signed 2017-02-21 10:57:33 -08:00
net mac80211_hwsim: Replace bogus hrtimer clockid 2017-02-25 09:48:16 -08:00
nfc
ntb ntb: ntb_hw_intel: link_poll isn't clearing the pending status properly 2017-02-16 23:11:26 -05:00
nubus
nvdimm
nvme This is a tree wide change and has been kept separate for that reason. 2017-02-25 13:45:43 -08:00
nvmem
of DeviceTree updates for 4.11: 2017-02-22 19:23:14 -08:00
oprofile
parisc
parport
pci This is a tree wide change and has been kept separate for that reason. 2017-02-25 13:45:43 -08:00
pcmcia
perf
phy pci-v4.11-changes 2017-02-23 11:53:22 -08:00
pinctrl Pin control bulk changes for the v4.11 kernel cycle: 2017-02-21 16:34:22 -08:00
platform platform-drivers-x86 for v4.11-1 2017-02-25 14:35:37 -08:00
pnp
power
powercap
pps
ps3
ptp 4.11 is going to be a relatively large release for KVM, with a little over 2017-02-22 18:22:53 -08:00
pwm
rapidio
ras
regulator regulator: Updates for v4.11 2017-02-20 17:23:57 -08:00
remoteproc remoteproc: qcom: mdt_loader: Use signed type for offset 2017-02-22 02:07:13 -08:00
reset ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
rpmsg
rtc Pin control bulk changes for the v4.11 kernel cycle: 2017-02-21 16:34:22 -08:00
s390 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2017-02-22 10:20:04 -08:00
sbus
scsi Merge branch 'akpm' (patches from Andrew) 2017-02-25 10:29:09 -08:00
sfi
sh
sn
soc ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
spi ACPI updates for v4.11-rc1 2017-02-20 17:55:15 -08:00
spmi
ssb
staging mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
target mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
tc
thermal Merge branch 'pm-opp' 2017-02-20 14:22:50 +01:00
thunderbolt
tty sparc64: Send break twice from console to return to boot prom 2017-02-23 08:27:24 -08:00
uio mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
usb mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
uwb
vfio VFIO updates for v4.11 2017-02-23 11:26:09 -08:00
vhost
video fbdev changes for v4.11: 2017-02-25 13:20:22 -08:00
virt
virtio mm balloon: umount balloon_mnt when removing vb device 2017-02-24 17:46:56 -08:00
vlynq
vme
w1
watchdog watchdog: s3c2410: Add prefix to local function 2017-02-24 14:00:23 -08:00
xen mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
zorro
Kconfig
Makefile pci-v4.11-changes 2017-02-23 11:53:22 -08:00