linux-uconsole/drivers
Ville Syrjälä be1cd22fe1 drm/i915: Account for TSEG size when determining 865G stolen base
commit d721b02fd0 upstream.

Looks like the TSEG lives just above TOUD, stolen comes after TSEG.

The spec seems somewhat self-contradictory in places, in the ESMRAMC
register desctription it says:
 TSEG Size:
  10=(TOUD + 512 KB) to TOUD
  11 =(TOUD + 1 MB) to TOUD

so that agrees with TSEG being at TOUD. But the example given
elsehwere in the spec says:

 TOUD equals 62.5 MB = 03E7FFFFh
 TSEG selected as 512 KB in size,
 Graphics local memory selected as 1 MB in size
 General System RAM available in system = 62.5 MB
 General system RAM range00000000h to 03E7FFFFh
 TSEG address range03F80000h to 03FFFFFFh
 TSEG pre-allocated from03F80000h to 03FFFFFFh
 Graphics local memory pre-allocated from03E80000h to 03F7FFFFh

so here we have TSEG above stolen.

Real world evidence agrees with the TOUD->TSEG->stolen order however, so
let's fix up the code to account for the TSEG size.

Cc: Taketo Kabe <fdporg@vega.pgw.jp>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: x86@kernel.org
Fixes: 0ad98c74e0 ("drm/i915: Determine the stolen memory base address on gen2")
Fixes: a4dff76924 ("x86/gpu: Add Intel graphics stolen memory quirk for gen2 platforms")
Reported-by: Taketo Kabe <fdporg@vega.pgw.jp>
Tested-by: Taketo Kabe <fdporg@vega.pgw.jp>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96473
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1470653919-27251-1-git-send-email-ville.syrjala@linux.intel.com
Link: http://download.intel.com/design/chipsets/datashts/25251405.pdf
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-10-31 04:13:58 -06:00
..
accessibility
acpi acpi, nfit: check for the correct event code in notifications 2016-10-28 03:01:34 -04:00
amba
android
ata libata: LITE-ON CX1-JB256-HP needs lower max_sectors 2016-08-10 11:49:29 +02:00
atm
auxdisplay
base platform: don't return 0 from platform_get_irq[_byname]() on error 2016-10-28 03:01:26 -04:00
bcma x86/quirks: Add early quirk to reset Apple AirPort card 2016-08-10 11:49:24 +02:00
block
bluetooth Bluetooth: Add support for Intel Bluetooth device 8265 [8087:0a2b] 2016-09-15 08:27:49 +02:00
bus bus: arm-ccn: Fix XP watchpoint settings bitmask 2016-09-24 10:07:40 +02:00
cdrom
char tpm_crb: fix crb_req_canceled behavior 2016-10-16 17:36:15 +02:00
clk clk: imx6: initialize GPU clocks 2016-10-28 03:01:26 -04:00
clocksource clocksource/drivers/sun4i: Clear interrupts after stopping timer in probe function 2016-09-24 10:07:35 +02:00
connector
cpufreq cpufreq: intel_pstate: Fix unsafe HWP MSR access 2016-10-28 03:01:26 -04:00
cpuidle ARM: cpuidle: Fix error return code 2016-10-16 17:36:15 +02:00
crypto crypto: vmx - Fix memory corruption caused by p8_ghash 2016-10-22 12:26:56 +02:00
dca
devfreq
dio
dma dmaengine: at_xdmac: fix to pass correct device identity to free_irq() 2016-10-07 15:23:46 +02:00
dma-buf
edac EDAC: Increment correct counter in edac_inc_ue_error() 2016-09-07 08:32:41 +02:00
eisa
extcon
firewire
firmware
fmc
fpga
gpio gpio: mpc8xxx: Correct irq handler function 2016-10-28 03:01:25 -04:00
gpu drm/i915: Account for TSEG size when determining 865G stolen base 2016-10-31 04:13:58 -06:00
hid HID: core: prevent out-of-bound readings 2016-09-15 08:27:48 +02:00
hsi
hv drivers:hv: Lock access to hyperv_mmio resource tree 2016-09-15 08:27:50 +02:00
hwmon hwmon: (adt7411) set bit 3 in CFG1 register 2016-10-07 15:23:42 +02:00
hwspinlock
hwtracing intel_th: Fix a deadlock in modprobing 2016-08-10 11:49:30 +02:00
i2c i2c: qup: skip qup_i2c_suspend if the device is already runtime suspended 2016-09-30 10:18:38 +02:00
ide
idle intel_idle: Support for Intel Xeon Phi Processor x200 Product Family 2016-09-15 08:27:46 +02:00
iio include/linux/kernel.h: change abs() macro so it uses consistent return type 2016-09-30 10:18:33 +02:00
infiniband IB/mlx4: Use correct subnet-prefix in QP1 mads under SR-IOV 2016-10-07 15:23:47 +02:00
input Input: elantech - add Fujitsu Lifebook E556 to force crc_enabled 2016-10-28 03:01:31 -04:00
iommu Add braces to avoid "ambiguous ‘else’" compiler warnings 2016-09-30 10:18:35 +02:00
ipack
irqchip irqchip/gicv3: Handle loop timeout proper 2016-10-28 03:01:33 -04:00
isdn
leds
lguest
lightnvm lightnvm: put bio before return 2016-09-24 10:07:35 +02:00
macintosh
mailbox
mcb
md dm crypt: fix crash on exit 2016-10-28 03:01:28 -04:00
media cx231xx: fix GPIOs for Pixelview SBTVD hybrid 2016-10-28 03:01:30 -04:00
memory memory: omap-gpmc: Fix omap gpmc EXTRADELAY timing 2016-07-27 09:47:35 -07:00
memstick memstick: rtsx_usb_ms: Manage runtime PM when accessing the device 2016-10-28 03:01:35 -04:00
message
mfd mfd: wm8350-i2c: Make sure the i2c regmap functions are compiled 2016-10-16 17:36:14 +02:00
misc mei: me: add kaby point device ids 2016-10-28 03:01:25 -04:00
mmc mmc: rtsx_usb_sdmmc: Handle runtime PM while changing the led 2016-10-28 03:01:35 -04:00
mtd ubi: Deal with interrupted erasures in WL 2016-10-28 03:01:28 -04:00
net net/mlx4_core: Allow resetting VF admin mac to zero 2016-10-28 03:01:34 -04:00
nfc NFC: fdp: Detect errors from fdp_nci_create_conn() 2016-10-07 15:23:44 +02:00
ntb
nubus
nvdimm
nvme nvme: Call pci_disable_device on the error path. 2016-09-15 08:27:51 +02:00
nvmem
of of: fix reference counting in of_graph_get_endpoint_by_regs 2016-09-07 08:32:41 +02:00
oprofile
parisc
parport
pci PCI: Mark Atheros AR9580 to avoid bus reset 2016-10-28 03:01:26 -04:00
pcmcia
perf drivers/perf: arm_pmu: Fix leak in error path 2016-10-07 15:23:41 +02:00
phy
pinctrl pinctrl: uniphier: fix .pin_dbg_show() callback 2016-10-07 15:23:41 +02:00
platform mfd: cros_ec: Add cros_ec_cmd_xfer_status() helper 2016-09-07 08:32:43 +02:00
pnp PNP: Add Broadwell to Intel MCH size workaround 2016-08-16 09:30:48 +02:00
power power: supply: max17042_battery: fix model download bug. 2016-09-30 10:18:39 +02:00
powercap
pps pps: do not crash when failed to register 2016-08-10 11:49:25 +02:00
ps3
ptp
pwm pwm: Mark all devices as "might sleep" 2016-09-30 10:18:37 +02:00
rapidio
ras
regulator regulator: tps65910: Work around silicon erratum SWCZ010 2016-10-28 03:01:25 -04:00
remoteproc remoteproc: Fix potential race condition in rproc_add 2016-08-20 18:09:20 +02:00
reset
rpmsg
rtc rtc: s3c: Add s3c_rtc_{enable/disable}_clk in s3c_rtc_setfreq() 2016-08-20 18:09:27 +02:00
s390 scsi: zfcp: spin_lock_irqsave() is not nestable 2016-10-28 03:01:29 -04:00
sbus
scsi hpsa: correct skipping masked peripherals 2016-10-28 03:01:33 -04:00
sfi
sh
sn
soc soc: qcom/spm: shut up uninitialized variable warning 2016-09-24 10:07:42 +02:00
spi spi: sh-msiof: Avoid invalid clock generator parameters 2016-10-07 15:23:42 +02:00
spmi
ssb
staging Staging: fbtft: Fix bug in fbtft-core 2016-10-07 15:23:47 +02:00
target target: Don't override EXTENDED_COPY xcopy_pt_cmd SCSI status code 2016-10-28 03:01:36 -04:00
tc
thermal
thunderbolt
tty serial: 8250_dw: Check the data->pclk when get apb_pclk 2016-10-22 12:26:54 +02:00
uio
usb Revert "usbtmc: convert to devm_kzalloc" 2016-10-07 15:23:47 +02:00
uwb
vfio vfio/pci: Fix NULL pointer oops in error interrupt setup handling 2016-09-07 08:32:37 +02:00
vhost vhost/scsi: fix reuse of &vq->iov[out] in response 2016-09-15 08:27:53 +02:00
video fbdev/efifb: Fix 16 color palette entry calculation 2016-10-28 03:01:29 -04:00
virt
virtio virtio: fix memory leak in virtqueue_add() 2016-09-07 08:32:36 +02:00
vlynq
vme
w1 w1:omap_hdq: fix regression 2016-08-20 18:09:22 +02:00
watchdog
xen xenbus: don't look up transaction IDs for ordinary writes 2016-10-31 04:13:58 -06:00
zorro
Kconfig
Makefile