[git pull v2] habanalabs pull request for kernel 5.3

From: Oded Gabbay
Date: Thu Jul 04 2019 - 02:59:04 EST


Hello Greg,

This is v2 of the pull request for habanalabs driver for kernel 5.3.

v2 contains the missing sign-off-by tags for the relevant commits.

The commits mostly contains improvements to the existing code base.
Nothing too exciting this time.

Please see the tag message for details on what this pull request contains.

Thanks,
Oded

The following changes since commit 60e8523e2ea18dc0c0cea69d6c1d69a065019062:

ocxl: Allow contexts to be attached with a NULL mm (2019-07-03 21:29:47 +0200)

are available in the Git repository at:

git://people.freedesktop.org/~gabbayo/linux tags/misc-habanalabs-next-2019-07-04

for you to fetch changes up to e8960ca06bb22d0d84edf246b0bf395e8322e127:

habanalabs: Add busy engines bitmask to HW idle IOCTL (2019-07-01 13:59:45 +0000)

----------------------------------------------------------------
This tag contains the following changes for kernel 5.3:

- Change the way the device's CPU access the host memory. This allows the
driver to use the kernel API of setting DMA mask in a standard way (call
it once).

- Add a new debugfs entry to show the status of the internal DMA and
compute engines. This is very helpful for debugging in case a command
submission get stuck.

- Return to the user a mask of the internal engines indicating their busy
state.

- Make sure to restore registers that can be modified by the user to their
default values. Only applies to registers that are initialized by the
driver.

- Elimination of redundant and dead-code.

- Support memset of the device's memory with size larger then 4GB

- Force the user to set the device to debug mode before configuring the
device's coresight infrastructure

- Improve error printing in case of interrupts from the device

----------------------------------------------------------------
Dalit Ben Zoor (3):
habanalabs: make tpc registers secured
habanalabs: clear sobs and monitors in context switch
habanalabs: restore unsecured registers default values

Oded Gabbay (20):
habanalabs: improve a couple of error messages
habanalabs: force user to set device debug mode
habanalabs: remove dead code in habanalabs_drv.c
habanalabs: check to load F/W before boot status
habanalabs: remove redundant CB size adjustment
habanalabs: remove redundant memory clear
habanalabs: change polling functions to macros
habanalabs: pass device pointer to asic-specific function
habanalabs: support device memory memset > 4GB
habanalabs: don't limit packet size for device CPU
habanalabs: remove simulator dedicated code
habanalabs: add rate-limit to an error message
docs/habanalabs: update text for some entries in sysfs
habanalabs: initialize device CPU queues after MMU init
habanalabs: de-couple MMU and VM module initialization
habanalabs: initialize MMU context for driver
habanalabs: add MMU mappings for Goya CPU
habanalabs: set Goya CPU to use ASIC MMU
habanalabs: remove DMA mask hack for Goya
habanalabs: add WARN in case of bad MMU mapping

Omer Shpigelman (4):
habanalabs: remove redundant CPU checks
habanalabs: minor documentation and prints fixes
habanalabs: increase PCI ELBI timeout for Palladium
habanalabs: print event name for fatal and non-RAZWI events

Tomer Tayar (4):
habanalabs: Allow accessing host mapped addresses via debugfs
habanalabs: Update the device idle check
habanalabs: Add debugfs node for engines status
habanalabs: Add busy engines bitmask to HW idle IOCTL

.../ABI/testing/debugfs-driver-habanalabs | 18 +-
Documentation/ABI/testing/sysfs-driver-habanalabs | 42 +-
drivers/misc/habanalabs/asid.c | 2 +-
drivers/misc/habanalabs/command_submission.c | 10 +-
drivers/misc/habanalabs/context.c | 11 +-
drivers/misc/habanalabs/debugfs.c | 54 +-
drivers/misc/habanalabs/device.c | 189 +++---
drivers/misc/habanalabs/firmware_if.c | 51 +-
drivers/misc/habanalabs/goya/goya.c | 635 +++++++++++++++------
drivers/misc/habanalabs/goya/goyaP.h | 16 +-
drivers/misc/habanalabs/goya/goya_security.c | 16 +
drivers/misc/habanalabs/habanalabs.h | 93 ++-
drivers/misc/habanalabs/habanalabs_drv.c | 66 ++-
drivers/misc/habanalabs/habanalabs_ioctl.c | 11 +-
drivers/misc/habanalabs/hw_queue.c | 2 +-
.../include/goya/asic_reg/dma_ch_0_masks.h | 418 ++++++++++++++
.../habanalabs/include/goya/asic_reg/goya_regs.h | 1 +
drivers/misc/habanalabs/memory.c | 13 +-
drivers/misc/habanalabs/mmu.c | 20 +-
drivers/misc/habanalabs/pci.c | 10 +-
drivers/misc/habanalabs/sysfs.c | 4 -
include/uapi/misc/habanalabs.h | 30 +-
22 files changed, 1249 insertions(+), 463 deletions(-)
create mode 100644 drivers/misc/habanalabs/include/goya/asic_reg/dma_ch_0_masks.h