linux/drivers
Chris Wilson 2935ed5339 drm/i915: Remove logical HW ID
With the introduction of ctx->engines[] we allow multiple logical
contexts to be used on the same engine (e.g. with virtual engines).
According to bspec, aach logical context requires a unique tag in order
for context-switching to occur correctly between them. [Simple
experiments show that it is not so easy to trick the HW into performing
a lite-restore with matching logical IDs, though my memory from early
Broadwell experiments do suggest that it should be generating
lite-restores.]

We only need to keep a unique tag for the active lifetime of the
context, and for as long as we need to identify that context. The HW
uses the tag to determine if it should use a lite-restore (why not the
LRCA?) and passes the tag back for various status identifies. The only
status we need to track is for OA, so when using perf, we assign the
specific context a unique tag.

v2: Calculate required number of tags to fill ELSP.

Fixes: 976b55f0e1 ("drm/i915: Allow a context to define its set of engines")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111895
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191004134015.13204-14-chris@chris-wilson.co.uk
2019-10-04 15:39:30 +01:00
..
accessibility
acpi drivers/acpi/scan.c: document why we don't need the device_hotplug_lock 2019-08-03 07:02:01 -07:00
amba
android
ata ata: libahci: do not complain in case of deferred probe 2019-07-31 08:51:17 -06:00
atm
auxdisplay
base
bcma
block nbd: replace kill_bdev() with __invalidate_device() again 2019-07-31 08:51:56 -06:00
bluetooth Bluetooth: hci_uart: check for missing tty operations 2019-07-31 13:17:33 -07:00
bus
cdrom
char tpm: tpm_ibm_vtpm: Fix unallocated banks 2019-08-05 00:55:00 +03:00
clk
clocksource
connector
counter
cpufreq
cpuidle
crypto
dax
dca
devfreq
dio
dma
dma-buf dma-fence: Store the timestamp in the same union as the cb_list 2019-08-17 18:46:33 +01:00
edac
eisa
extcon
firewire
firmware
fpga fpga-manager: altera-ps-spi: Fix build error 2019-07-24 11:29:41 +02:00
fsi
gnss
gpio
gpu drm/i915: Remove logical HW ID 2019-10-04 15:39:30 +01:00
hid
hsi
hv
hwmon
hwspinlock
hwtracing
i2c i2c: s3c2410: Mark expected switch fall-through 2019-08-01 22:24:16 +02:00
i3c
ide
idle
iio
infiniband RDMA/hns: Fix error return code in hns_roce_v1_rsv_lp_qp() 2019-08-01 12:53:53 -04:00
input
interconnect
iommu
ipack
irqchip irqchip fixes for 5.3 2019-08-01 20:21:00 +02:00
isdn
leds
lightnvm
macintosh
mailbox
mcb
md
media
memory
memstick
message
mfd
misc misc/mei/hdcp: Fill transcoder index in port info 2019-08-30 14:08:29 +05:30
mmc
mtd NAND: 2019-08-04 16:37:08 -07:00
mux
net
nfc
ntb
nubus
nvdimm
nvme
nvmem
of
opp
oprofile
parisc
parport
pci
pcmcia
perf
phy
pinctrl
platform
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
s390 s390 updates for 5.3-rc3 2019-08-02 15:13:27 -07:00
sbus
scsi SCSI fixes on 20190802 2019-08-02 14:46:33 -07:00
sfi
sh
siox
slimbus
sn
soc
soundwire
spi
spmi
ssb
staging
target
tc
tee
thermal
thunderbolt
tty
uio
usb
uwb
vfio
vhost
video video: omapfb2: Make standard and custom panel drivers mutually exclusive 2019-08-16 21:10:09 +02:00
virt
virtio
visorbus
vlynq
vme
w1
watchdog
xen xen: fixes for 5.3-rc3 2019-08-02 15:26:48 -07:00
zorro
Kconfig
Makefile