linux/drivers/gpu/host1x/hw
Mikko Perttunen e902585fc8 gpu: host1x: Add support for syncpoint waits in CDMA pushbuffer
Add support for inserting syncpoint waits in the CDMA pushbuffer.
These waits need to be done in HOST1X class, while gather submitted
by the application execute in engine class.

Support is added by converting the gather list of job into a command
list that can include both gathers and waits. When the job is
submitted, these commands are pushed as the appropriate opcodes
on the CDMA pushbuffer.

Also supported are waits relative to the start of the job,
which are useful for jobs doing multiple things with an engine
that doesn't natively support pipelining.

While at it, use 32-bit waits on chips that support them.

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-08-10 14:41:19 +02:00
..
cdma_hw.c gpu: host1x: Cleanup and refcounting for syncpoints 2021-03-31 17:42:13 +02:00
channel_hw.c gpu: host1x: Add support for syncpoint waits in CDMA pushbuffer 2021-08-10 14:41:19 +02:00
debug_hw_1x01.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
debug_hw_1x06.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
debug_hw.c gpu: host1x: Add support for syncpoint waits in CDMA pushbuffer 2021-08-10 14:41:19 +02:00
host1x01_hardware.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
host1x01.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
host1x01.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
host1x02_hardware.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
host1x02.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
host1x02.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
host1x04_hardware.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
host1x04.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
host1x04.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
host1x05_hardware.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
host1x05.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
host1x05.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
host1x06_hardware.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
host1x06.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
host1x06.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
host1x07_hardware.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
host1x07.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
host1x07.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
hw_host1x01_channel.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
hw_host1x01_sync.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
hw_host1x01_uclass.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
hw_host1x02_channel.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
hw_host1x02_sync.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
hw_host1x02_uclass.h gpu: host1x: Add support for syncpoint waits in CDMA pushbuffer 2021-08-10 14:41:19 +02:00
hw_host1x04_channel.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
hw_host1x04_sync.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
hw_host1x04_uclass.h gpu: host1x: Add support for syncpoint waits in CDMA pushbuffer 2021-08-10 14:41:19 +02:00
hw_host1x05_channel.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
hw_host1x05_sync.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
hw_host1x05_uclass.h gpu: host1x: Add support for syncpoint waits in CDMA pushbuffer 2021-08-10 14:41:19 +02:00
hw_host1x06_channel.h gpu: host1x: Program the channel stream ID 2019-02-07 18:28:33 +01:00
hw_host1x06_hypervisor.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
hw_host1x06_uclass.h gpu: host1x: Add support for syncpoint waits in CDMA pushbuffer 2021-08-10 14:41:19 +02:00
hw_host1x06_vm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
hw_host1x07_channel.h gpu: host1x: Program the channel stream ID 2019-02-07 18:28:33 +01:00
hw_host1x07_hypervisor.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
hw_host1x07_uclass.h gpu: host1x: Add support for syncpoint waits in CDMA pushbuffer 2021-08-10 14:41:19 +02:00
hw_host1x07_vm.h gpu: host1x: Fix Tegra194 syncpt interrupt threshold 2021-03-31 17:42:14 +02:00
intr_hw.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
syncpt_hw.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00