linux/drivers/misc/habanalabs
Omer Shpigelman f9e5f29518 uapi: habanalabs: add signal/wait operations
This is a pre-requisite to upstreaming GAUDI support.

Signal/wait operations are done by the user to perform sync between two
Primary Queues (PQs). The sync is done using the sync manager and it is
usually resolved inside the device, but sometimes it can be resolved in the
host, i.e. the user should be able to wait in the host until a signal has
been completed.

The mechanism to define signal and wait operations is done by the driver
because it needs atomicity and serialization, which is already done in the
driver when submitting work to the different queues.

To implement this feature, the driver "takes" a couple of h/w resources,
and this is reflected by the defines added to the uapi file.

The signal/wait operations are done via the existing CS IOCTL, and they use
the same data structure. There is a difference in the meaning of some of
the parameters, and for that we added unions to make the code more
readable.

Signed-off-by: Omer Shpigelman <oshpigelman@habana.ai>
Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
2020-05-19 14:48:41 +03:00
..
goya habanalabs: enable trace data compression (profiler) 2020-05-19 14:48:41 +03:00
include habanalabs: update F/W register map 2020-05-19 14:48:41 +03:00
asid.c habanalabs: stop using the acronym KMD 2019-09-05 14:55:27 +03:00
command_buffer.c habanalabs: print all CB handles as hex numbers 2020-05-19 14:48:41 +03:00
command_submission.c uapi: habanalabs: add signal/wait operations 2020-05-19 14:48:41 +03:00
context.c habanalabs: rate limit error msg on waiting for CS 2019-12-14 15:12:21 +02:00
debugfs.c habanalabs: remove stop-on-error flag from DMA 2020-05-17 12:06:22 +03:00
device.c habanalabs: re-factor H/W queues initialization 2020-05-17 12:06:22 +03:00
firmware_if.c habanalabs: load CPU device boot loader from host 2020-05-19 14:48:41 +03:00
habanalabs_drv.c habanalabs: add missing MODULE_DEVICE_TABLE 2020-05-19 14:48:41 +03:00
habanalabs_ioctl.c habanalabs: Add INFO IOCTL opcode for time sync information 2020-05-19 14:48:41 +03:00
habanalabs.h uapi: habanalabs: add signal/wait operations 2020-05-19 14:48:41 +03:00
hw_queue.c habanalabs: handle barriers in DMA QMAN streams 2020-05-17 12:06:22 +03:00
hwmon.c habanalabs: support hwmon_reset_history attribute 2020-05-19 14:48:41 +03:00
irq.c habanalabs: replace __le32_to_cpu with le32_to_cpu 2019-09-05 14:55:27 +03:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
memory.c habanalabs: split the host MMU properties 2020-03-24 10:54:16 +02:00
mmu.c habanalabs: split the host MMU properties 2020-03-24 10:54:16 +02:00
pci.c habanalabs: hl_pci_set_dma_mask() can be static 2020-05-19 14:48:41 +03:00
sysfs.c habanalabs: print warning when reset is requested 2020-05-17 12:06:22 +03:00