HomeFreeBSD

Update user access region, UAR, APIs in the core in mlx5core.

Description

Update user access region, UAR, APIs in the core in mlx5core.

This change include several changes as listed below all related to UAR.
UAR is a special PCI memory area where the so-called doorbell register and
blue flame register live. Blue flame is a feature for sending small packets
more efficiently via a PCI memory page, instead of using PCI DMA.

  • All structures and functions named xxx_uuars were renamed into xxx_bfreg.
  • Remove partially implemented Blueflame support from mlx5en(4) and mlx5ib.
  • Implement blue flame register allocator.
  • Use blue flame register allocator in mlx5ib.
  • A common UAR page is now allocated by the core to support doorbell register writes for all of mlx5en and mlx5ib, instead of allocating one UAR per sendqueue.
  • Add support for DEVX query UAR.
  • Add support for 4K UAR for libmlx5.

Linux commits:
7c043e908a74ae0a935037cdd984d0cb89b2b970
2f5ff26478adaff5ed9b7ad4079d6a710b5f27e7
0b80c14f009758cefeed0edff4f9141957964211
30aa60b3bd12bd79b5324b7b595bd3446ab24b52
5fe9dec0d045437e48f112b8fa705197bd7bc3c0
0118717583cda6f4f36092853ad0345e8150b286
a6d51b68611e98f05042ada662aed5dbe3279c1e

MFC after: 1 week
Sponsored by: Mellanox Technologies // NVIDIA Networking

Details

Provenance
hselaskyAuthored on Jan 8 2021, 12:30 PM
Parents
rG376479200760: Fix whitespace in mlx5en(4).
Branches
Unknown
Tags
Unknown