Hello Greg, This is the pull request for habanalabs driver for kernel 5.4.
It contains one major change, the creation of an additional char device per PCI device. In addition, there are some small changes and improvements. Please see the tag message for details on what this pull request contains. Thanks, Oded The following changes since commit 25ec8710d9c2cd4d0446ac60a72d388000d543e6: w1: add DS2501, DS2502, DS2505 EPROM device driver (2019-09-04 14:34:31 +0200) are available in the Git repository at: git://people.freedesktop.org/~gabbayo/linux tags/misc-habanalabs-next-2019-09-05 for you to fetch changes up to 6dc66f7c26f97396a570f84f6b3c3593a6de7f11: habanalabs: correctly cast variable to __le32 (2019-09-05 14:55:28 +0300) ---------------------------------------------------------------- This tag contains the following changes for kernel 5.4: - Create an additional char device per PCI device. The new char device allows any application to query the device for stats, information, idle state and more. This is needed to support system/monitoring applications, while also allowing the deep-learning application to send work to the ASIC through the main (original) char device. - Fix possible kernel crash in case user supplies a smaller-than-required buffer to the DEBUG IOCTL. - Expose the device to userspace only after initialization was done, to prevent a race between the initialization and user submitting workloads. - Add uapi, as part of INFO IOCTL, to allow user to query the device utilization rate. - Add uapi, as part of INFO IOCTL, to allow user to retrieve aggregate H/W events, i.e. counting H/W events from the loading of the driver. - Register to the HWMON subsystem with the board's name, to allow the user to prepare a custom sensor file per board. - Use correct macros for endian swapping. - Improve error printing in multiple places. - Small bug fixes. ---------------------------------------------------------------- Chuhong Yuan (1): habanalabs: Use dev_get_drvdata Dotan Barak (1): habanalabs: explicitly set the queue-id enumerated numbers Oded Gabbay (21): habanalabs: remove write_open_cnt property habanalabs: add comments on INFO IOCTL habanalabs: add debug print when rejecting CS habanalabs: cap simulator timeout habanalabs: power management through sysfs is only for GOYA habanalabs: add handle field to context structure habanalabs: kill user process after CS rollback habanalabs: show the process context dram usage habanalabs: rename user_ctx as compute_ctx habanalabs: maintain a list of file private data objects habanalabs: change device_setup_cdev() to be more generic habanalabs: create two char devices per ASIC habanalabs: replace __cpu_to_le32/64 with cpu_to_le32/64 habanalabs: replace __le32_to_cpu with le32_to_cpu habanalabs: print to kernel log when reset is finished habanalabs: add uapi to retrieve device utilization habanalabs: add uapi to retrieve aggregate H/W events habanalabs: display card name as sensors header habanalabs: stop using the acronym KMD habanalabs: show correct id in error print habanalabs: correctly cast variable to __le32 Omer Shpigelman (2): habanalabs: use default structure for user input in Debug IOCTL habanalabs: improve security in Debug IOCTL Tomer Tayar (5): habanalabs: Add descriptive names to PSOC scratch-pad registers habanalabs: Add descriptive name to PSOC app status register habanalabs: Expose devices after initialization is done habanalabs: Handle HW_IP_INFO if device disabled or in reset habanalabs: Make the Coresight timestamp perpetual Documentation/ABI/testing/sysfs-driver-habanalabs | 14 +- drivers/misc/habanalabs/asid.c | 2 +- drivers/misc/habanalabs/command_buffer.c | 3 +- drivers/misc/habanalabs/command_submission.c | 27 +- drivers/misc/habanalabs/context.c | 40 +- drivers/misc/habanalabs/debugfs.c | 16 +- drivers/misc/habanalabs/device.c | 488 +++++++++++++++------ drivers/misc/habanalabs/goya/goya.c | 95 ++-- drivers/misc/habanalabs/goya/goyaP.h | 19 +- drivers/misc/habanalabs/goya/goya_coresight.c | 89 ++-- drivers/misc/habanalabs/goya/goya_hwmgr.c | 109 +++++ drivers/misc/habanalabs/habanalabs.h | 129 ++++-- drivers/misc/habanalabs/habanalabs_drv.c | 171 +++++--- drivers/misc/habanalabs/habanalabs_ioctl.c | 180 ++++++-- drivers/misc/habanalabs/hw_queue.c | 18 +- drivers/misc/habanalabs/hwmon.c | 24 +- drivers/misc/habanalabs/include/armcp_if.h | 85 ++-- drivers/misc/habanalabs/include/goya/goya.h | 2 + .../misc/habanalabs/include/goya/goya_reg_map.h | 34 ++ drivers/misc/habanalabs/irq.c | 4 +- drivers/misc/habanalabs/sysfs.c | 126 +----- include/uapi/misc/habanalabs.h | 102 +++-- 22 files changed, 1177 insertions(+), 600 deletions(-) create mode 100644 drivers/misc/habanalabs/include/goya/goya_reg_map.h