lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220521115325.GA1965670@ogabbay-vm-u20.habana-labs.com>
Date:   Sat, 21 May 2022 14:53:25 +0300
From:   Oded Gabbay <ogabbay@...nel.org>
To:     gregkh@...uxfoundation.org
Cc:     linux-kernel@...r.kernel.org
Subject: [git pull] habanalabs pull request for kernel 5.19

Hi Greg,

This is habanalabs pull request for the merge window of kernel 5.19.
We added a few minor features, such as support eventfd registration
for device events, and the ability to scrub the device memory
through debugfs. 

We did some refactoring such as adding a centralized memory
manager inside the driver for allocating mmapable memory and tracking
it, so we can remove different code paths that basically duplicated
that functionality.

And, as usual, there are multiple bug fixes.

Full details are in the tag.

Thanks,
Oded

The following changes since commit cafada1fe932ce761d6c0bc1d56967e27abe4cff:

  Revert "speakup: Generate speakupmap.h automatically" (2022-05-20 21:07:05 +0200)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/linux.git tags/misc-habanalabs-next-2022-05-21

for you to fetch changes up to 93f742b13260b070a695f44d6b6ff696cb5cbcd8:

  habanalabs: use separate structure info for each error collect data (2022-05-21 14:42:17 +0300)

----------------------------------------------------------------
This tag contains habanalabs driver changes for v5.19:

- Add memory manager that can be used by various features in the driver.
  The memory manager provides common framework to allocate memory and track
  its usage, export its handle to the userspace and support mmaping it.

- Add debugfs entry to scrub device memory.

- Add support for doing prefetch when adding new entries to MMU pgt.

- Add support for notifying userspace on device events through eventfd.
  Until now, events were only printed to dmesg. This change will allow
  the user application to register on events and perform specific
  actions per events.

- Refactor kernel log messages to reduce spamming of log

- Unify debugfs code for accessing device's memory/registers. This is
  necessary as the number of supported ASICs grow and the code is
  mostly the same between all ASICs.

- Allow userspace to inquire id device is currently acquired by a user.

- Support different page sizes for device memory's MMU and allow user to
  choose which page size to use.

- Fix multiple bugs such as race in device fini, wrong kapi used to
  acquire pid, too small timeouts, losing information after device
  reset, returning correct error codes and more.

----------------------------------------------------------------
Dafna Hirschfeld (6):
      habanalabs/gaudi: Use correct sram size macro for debugfs
      habanalabs: add callback and field to be used for debugfs refactor
      habanalabs: unify code for memory access from debugfs
      habanalabs: enforce alignment upon registers access through debugfs
      habanalabs: remove debugfs read/write callbacks
      habanalabs: add device memory scrub ability through debugfs

Dani Liberman (2):
      habanalabs: use get_task_pid() to take PID
      habanalabs: handle race in driver fini

Jakob Koschel (1):
      habanalabs: replace usage of found with dedicated list iterator variable

Moti Haimovski (1):
      habanalabs: support debugfs Byte access to device DRAM

Oded Gabbay (7):
      habanalabs: remove redundant info print
      habanalabs: change a reset print to debug level
      habanalabs: don't print normal reset operations
      habanalabs: remove user interrupt debug print
      habanalabs: update firmware header
      habanalabs: use NULL for eventfd
      habanalabs: return -EFAULT on copy_to_user error

Ofir Bitton (6):
      habanalabs: add new return code to device fd open
      habanalabs: expose compute ctx status through info ioctl
      habanalabs/gaudi: increase submission resources
      habanalabs: parse full firmware versions
      habanalabs: save f/w preboot major version
      habanalabs/gaudi: set arbitration timeout to a high value

Ohad Sharabi (13):
      habanalabs: set non-0 value in dram default page size
      habanalabs: add DRAM default page size to HW info
      habanalabs: change mmu_get_real_page_size to be ASIC-specific
      habanalabs: convert all MMU masks/shifts to arrays
      habanalabs: add user API to get valid DRAM page sizes
      habanalabs: add MMU prefetch to ASIC-specific code
      habanalabs: rephrase device out-of-memory message
      habanalabs/gaudi: add debugfs to fetch internal sync status
      habanalabs: refactor HOP functions in MMU V1
      habanalabs: use for_each_sgtable_dma_sg for dma sgt
      habanalabs: add prefetch flag to the MAP operation
      habanalabs: do MMU prefetch as deferred work
      habanalabs: remove hdev from hl_ctx_get args

Rajaravi Krishna Katta (2):
      habanalabs: fix comments according to kernel-doc
      habanalabs/gaudi: use lower_32_bits() for casting

Robin Murphy (1):
      habanalabs: Stop using iommu_present()

Tal Cohen (2):
      habanalabs: add support for notification via eventfd
      habanalabs: use separate structure info for each error collect data

Tomer Tayar (2):
      habanalabs/gaudi: avoid resetting max power in hard reset
      habanalabs: modify dma_mask to be ASIC specific property

Yuri Nudelman (10):
      habanalabs: unified memory manager infrastructure
      habanalabs: convert ts to use unified memory manager
      habanalabs: wrong handle removal in memory manager
      habanalabs: hide memory manager page shift
      habanalabs: add put by handle method to memory manager
      habanalabs: unified memory manager new code for CB flow
      habanalabs: use unified memory manager for CB flow
      habanalabs: add topic to memory manager buffer
      habanalabs: order memory manager messages
      habanalabs: fix missing handle shift during mmap

farah kassabri (1):
      habanalabs: Add separate poll interval value for protocol

kernel test robot (1):
      habanalabs: hl_ts_behavior can be static

 .../ABI/testing/debugfs-driver-habanalabs          |  38 ++
 drivers/misc/habanalabs/common/Makefile            |   2 +-
 drivers/misc/habanalabs/common/command_buffer.c    | 413 +++++++-------------
 .../misc/habanalabs/common/command_submission.c    |  89 +++--
 drivers/misc/habanalabs/common/context.c           |   4 +-
 drivers/misc/habanalabs/common/debugfs.c           | 304 +++++++++++----
 drivers/misc/habanalabs/common/device.c            | 280 +++++++++++++-
 drivers/misc/habanalabs/common/firmware_if.c       |  86 ++++-
 drivers/misc/habanalabs/common/habanalabs.h        | 415 +++++++++++++--------
 drivers/misc/habanalabs/common/habanalabs_drv.c    |  44 ++-
 drivers/misc/habanalabs/common/habanalabs_ioctl.c  | 108 +++++-
 drivers/misc/habanalabs/common/irq.c               |  14 +-
 drivers/misc/habanalabs/common/memory.c            | 289 ++++----------
 drivers/misc/habanalabs/common/memory_mgr.c        | 349 +++++++++++++++++
 drivers/misc/habanalabs/common/mmu/mmu.c           | 296 ++++++++-------
 drivers/misc/habanalabs/common/mmu/mmu_v1.c        | 297 +++++----------
 drivers/misc/habanalabs/common/pci/pci.c           |  10 +-
 drivers/misc/habanalabs/gaudi/gaudi.c              | 412 ++++++--------------
 drivers/misc/habanalabs/gaudi/gaudiP.h             |   4 +-
 drivers/misc/habanalabs/goya/goya.c                | 363 +++---------------
 drivers/misc/habanalabs/include/common/cpucp_if.h  |  70 +++-
 .../habanalabs/include/hw_ip/mmu/mmu_general.h     |  10 +
 include/uapi/misc/habanalabs.h                     |  87 +++--
 23 files changed, 2158 insertions(+), 1826 deletions(-)
 create mode 100644 drivers/misc/habanalabs/common/memory_mgr.c

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ