[git pull] habanalabs fixes for 5.3-rc5

From: Oded Gabbay
Date: Mon Aug 12 2019 - 02:19:40 EST


Hello Greg,

This is habanalabs fixes pull request for 5.3-rc5. It is a bit larger than
what I would like at this stage but it contains four very important fixes
when running on s390 architecture. With these fixes the driver has been
validated as fully functional on s390 (which is BE).

In addition, it contain two more fixes for minor bugs. Specific details
of the fixes are in the attached tag.

Thanks,
Oded

The following changes since commit d45331b00ddb179e291766617259261c112db872:

Linux 5.3-rc4 (2019-08-11 13:26:41 -0700)

are available in the Git repository at:

git://people.freedesktop.org/~gabbayo/linux tags/misc-habanalabs-fixes-2019-08-12

for you to fetch changes up to b421d83a3947369fd5718824aecfaebe1efbf7ed:

habanalabs: fix device IRQ unmasking for BE host (2019-08-12 09:01:10 +0300)

----------------------------------------------------------------
This tag contains a couple of important fixes:

- Four fixes when running on s390 architecture (BE). With these fixes, the
driver is fully functional on Big-endian architectures. The fixes
include:

- Validation/Patching of user packets
- Completion queue handling
- Internal H/W queues submission
- Device IRQ unmasking operation

- Fix to double free in an error path to avoid kernel corruption

- Fix to DRAM usage accounting when a user process is terminated
forcefully.

----------------------------------------------------------------
Ben Segal (3):
habanalabs: fix endianness handling for packets from user
habanalabs: fix completion queue handling when host is BE
habanalabs: fix device IRQ unmasking for BE host

Oded Gabbay (1):
habanalabs: fix endianness handling for internal QMAN submission

Tomer Tayar (2):
habanalabs: Avoid double free in error flow
habanalabs: fix DRAM usage accounting on context tear down

drivers/misc/habanalabs/device.c | 5 +-
drivers/misc/habanalabs/goya/goya.c | 72 ++++++++++++++--------
drivers/misc/habanalabs/goya/goyaP.h | 2 +-
drivers/misc/habanalabs/habanalabs.h | 9 ++-
drivers/misc/habanalabs/hw_queue.c | 14 ++---
.../misc/habanalabs/include/goya/goya_packets.h | 13 ++++
drivers/misc/habanalabs/irq.c | 27 ++++----
drivers/misc/habanalabs/memory.c | 2 +
8 files changed, 90 insertions(+), 54 deletions(-)