aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/mlx5/mlx5_ifc.h
Commit message (Collapse)AuthorAgeFilesLines
* mlx5_core: add mlx5_query_pddr().Konstantin Belousov2020-08-311-4/+0
| | | | | | | | | | | And use it in mlx5_query_pddr_range_info() instead of direct register access. Sponsored by: Mellanox Technologies - Nvidia MFC after: 1 week Notes: svn path=/head/; revision=365000
* mlx5_core: Import PDDR register definitionsKonstantin Belousov2020-08-311-18/+44
| | | | | | | | | | | | | | | | PDDR (Port Diagnostics Database Register) is used to read the physical layer debug database, which contains helpful troubleshooting information regarding the state of the link. PDDR register can only be queried when PCAM register reports it as supported in its register mask. A new helper macro was added to the MLX5_CAP_* infrastructure in order to access this mask. Sponsored by: Mellanox Technologies - Nvidia MFC after: 1 week Notes: svn path=/head/; revision=364999
* Sync with Linux packet pacing enhancements in mlx5en(4).Hans Petter Selasky2020-05-261-1/+8
| | | | | | | | | | | Linux commit: 05d3ac978ed25b753bfe34fe76c50c31ee506a82 MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=361498
* Update the TLS capability bit after recent PRM changes in mlx5en(4).Hans Petter Selasky2020-05-251-3/+4
| | | | | | | | | | A CX6-DX firmware version equal to or newer than 12.27.0372 is now required. Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=361445
* Add support for reading temperature in mlx5en(4).Hans Petter Selasky2020-04-271-0/+159
| | | | | | | | MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=360377
* Add basic support for TCP/IP based hardware TLS offload to mlx5core.Hans Petter Selasky2019-12-051-6/+161
| | | | | | | | | | | The hardware offload is primarily targeted for TLS v1.2 and v1.3, using AES 128/256 bit pre-shared keys. This patch adds all the needed hardware structures, capabilites and firmware commands. Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=355421
* Add sysctl(8) to get and set forward error correction, FEC, configurationHans Petter Selasky2019-10-021-20/+53
| | | | | | | | | | in mlx5en(4). MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=352985
* Update definitons for PPTB and PBMC registers layouts in mlx5core.Hans Petter Selasky2019-10-021-18/+10
| | | | | | | | | Submitted by: kib@ MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=352979
* Define MLX5_VSC_DOMAIN_SCAN_CRSPACE.Hans Petter Selasky2019-10-021-0/+1
| | | | | | | | | Submitted by: kib@ MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=352970
* Move mlx5_ifc_vsc_space_bits and mlx5_ifc_vsc_addr_bits to mlx5_ifc.h.Hans Petter Selasky2019-10-021-0/+12
| | | | | | | | | Submitted by: kib@ MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=352968
* Add Firmware Reset Level, MFRL, register accessors in mlx5core.Hans Petter Selasky2019-05-081-0/+5
| | | | | | | | | Submitted by: kib@ MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=347312
* Update performance counter bits in mlx5core.Hans Petter Selasky2019-05-081-33/+178
| | | | | | | | MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=347307
* Implement reading PCI power status in mlx5core.Hans Petter Selasky2019-05-081-2/+88
| | | | | | | | | | | | | | | Implement a watchdog as part of the healtcare subsystem which reads the PCI power status during startup and upon the PCI power status change event and store it into the core device structure. This value is then exported to user-space via a read-only SYSCTL. A dmesg print has been added to inform the admin about the PCI power status. MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=347306
* Add support for 200Gb ethernet speeds to mlx5core.Hans Petter Selasky2019-05-081-6/+16
| | | | | | | | | Submitted by: slavash@ MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=347299
* Add vnic steering drop statistics in mlx5en(4).Hans Petter Selasky2019-05-081-1/+51
| | | | | | | | MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=347294
* Enhance MCAM reg to allow query on access reg support in mlx5core.Hans Petter Selasky2019-05-081-0/+13
| | | | | | | | | | | | | | | Enhance MCAM to allow the driver to query which access regs are supported. For now, expose the regs needed for FW flashing. Linux commit: 0ab87743cc8c5bcd482daf71961ed5fc45349e01 Submitted by: slavash@ MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=347275
* Add MCC (Management Component Control) register definitions in mlx5core.Hans Petter Selasky2019-05-081-0/+79
| | | | | | | | | | | | | | | | | | | | | MCC (Management Component Control) allows to control a firmware component update. MCDA (Management Component Data Access) allows to read and write a firmware component. MCQI (Management Component Query Information) allows to query information about firmware components. Linux commit: 4717628938423fcba0aa8fa889e9fed4eb6a655f Submitted by: slavash@ MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=347274
* Expose PCAM, MCAM registers infrastructure in mlx5core.Hans Petter Selasky2019-05-081-1/+60
| | | | | | | | | | | | | | | | | | | | PCAM: Ports capabilities mask register. MCAM: Management capabilities mask register. PCAM and MCAM registers will provide information regarding firmware support for different features, in order to avoid cases where new driver combined with old firmware results in syndromes (for ex. PCIe counters before this patchset). Linux commit: cfdcbceaeffc669b70d904d80a2df9c86c232566 Submitted by: slavash@ MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=347270
* Add Fast teardown support to mlx5core.Hans Petter Selasky2019-05-081-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Today mlx5 devices support two teardown modes: 1- Regular teardown 2- Force teardown This change introduces the enhanced version of the "Force teardown" that allows SW to perform teardown in a faster way without the need to reclaim all the pages. Fast teardown provides the following advantages: 1- Fix a FW race condition that could cause command timeout 2- Avoid moving to polling mode 3- Close the vport to prevent PCI ACK to be sent without been scattered to memory Linux commit: fcd29ad17c6ff885dfae58f557e9323941e63ba2 MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=347268
* Update Ethernet extended counters in mlx5en(4).Hans Petter Selasky2019-05-081-1/+63
| | | | | | | | | | | | | Expose all Ethernet extended counters those counters via debug_stats sysctl: dev.mce.X.debug_stats Submitted by: slavash@ MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=347254
* Add temperature warning event to log in mlx5core.Hans Petter Selasky2019-05-081-1/+1
| | | | | | | | | | | | | | | | | Temperature warning event is sent by FW to indicate high temperature as detected by one of the sensors on the board. Add handling of this event by writing the numbers of the alert sensors to the kernel log. Linux commit: 1865ea9adbfaf341c5cd5d8f7d384f19948b2fe9 Submitted by: slavash@ MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=347250
* mlx5en: Add support for IFM_10G_LR and IFM_40G_ER4 media types.Slava Shwartsman2018-12-051-0/+109
| | | | | | | | | | | | | Inspect the ethernet compliance code to figure out actual cable type by reading the PDDR module info register. Submitted by: hselasky@ Approved by: hselasky (mentor) MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=341581
* mlx5fpga: IOCTL for FPGA temperature measurementSlava Shwartsman2018-12-051-0/+25
| | | | | | | | | | Submitted by: kib@ Approved by: hselasky (mentor) MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=341575
* mlx5fpga: Initial code import.Slava Shwartsman2018-12-051-2/+13
| | | | | | | | | | Submitted by: kib@ Approved by: hselasky (mentor) MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=341572
* mlx5: Implement support for configuring PCIe packet write ordering via a sysctl.Slava Shwartsman2018-12-051-3/+8
| | | | | | | | | | Submitted by: hselasky@ Approved by: hselasky (mentor) MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=341563
* Implement support for Differentiated Service Code Point, DSCP, in mlx5en(4).Hans Petter Selasky2018-07-171-1/+58
| | | | | | | | | | | | | | | | | The DSCP feature is controlled using a set of sysctl(8) fields under the qos sysctl directory entry for mlx5en(4). For Routable RoCE QPs, the DSCP should be set in the QP's address path. The DSCP's value is derived from the traffic class. Linux commit: ed88451e1f2d400fd6a743d0a481631cf9f97550 MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=336392
* Add support for fast unload in shutdown flow in mlx5core.Hans Petter Selasky2018-03-231-3/+11
| | | | | | | | | | | | | | | | | | This patch accumulates the following Linux commits: - 8812c24d28f4972c4f2b9998bf30b1f2a1b62adf net/mlx5: Add fast unload support in shutdown flow - 59211bd3b6329c3e5f4a90ac3d7f87ffa7867073 net/mlx5: Split the load/unload flow into hardware and software flows - 4525abeaae54560254a1bb8970b3d4c225d32ef4 net/mlx5: Expose command polling interface Submitted by: Matthew Finlay <matt@mellanox.com> MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=331445
* Add vendor specific capability interface support in mlx5core.Hans Petter Selasky2018-03-081-0/+7
| | | | | | | | | | | | | Add the ability to access the vendor specific space gateway in order to support reading and writing data into the different configuration domains. Submitted by: Matthew Finlay <matt@mellanox.com> MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=330651
* Add support for explicit congestion notification, ECN, to mlx5ib(4).Hans Petter Selasky2018-03-081-9/+9
| | | | | | | | | | | | ECN configuration and statistics is available through a set of sysctl(8) nodes under sys.class.infiniband.mlx5_X.cong . The ECN configuration nodes can also be used as loader tunables. MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=330648
* Use the autogenerated interface file for all commands in mlx5core.Hans Petter Selasky2018-03-081-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch accumulates the following Linux commits: - 90b3e38d048f09b22fb50bcd460cea65fd00b2d7 mlx5_core: Modify CQ moderation parameters - 09a7d9eca1a6cf5eb4f9abfdf8914db9dbd96f08 mlx5_core: QP/XRCD commands via mlx5 ifc - 1a412fb1caa2c1b77719ccb5ed8b0c3c2bc65da7 mlx5_core: Modify QP commands via mlx5 ifc - ec22eb53106be1472ba6573dc900943f52f8fd1e mlx5_core: MKey/PSV commands via mlx5 ifc - 73b626c182dff06867ceba996a819e8372c9b2ce mlx5_core: EQ commands via mlx5 ifc - 20ed51c643b6296789a48adc3bc2cc875a1612cf mlx5_core: Access register and MAD IFC commands via mlx5 ifc - a533ed5e179cd15512d40282617909d3482a771c mlx5_core: Pages management commands via mlx5 ifc - b8a4ddb2e8f44f872fb93bbda2d541b27079fd2b mlx5_core: Add MLX5_ARRAY_SET64 to fix BUILD_BUG_ON - af1ba291c5e498973cc325c501dd8da80b234571 mlx5_core: Refactor internal SRQ API - b06e7de8a9d8d1d540ec122bbdf2face2a211634 mlx5_core: Refactor device capability function - c4f287c4a6ac489c18afc4acc4353141a8c53070 mlx5_core: Unify and improve command interface Submitted by: Matthew Finlay <matt@mellanox.com> MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=330647
* Implement rate limit per traffic class in mlx5core.Hans Petter Selasky2018-03-071-0/+9
| | | | | | | | | | | Add support for rate limiting traffic class via sysctl. Submitted by: Slava Shwartsman <slavash@mellanox.com> MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=330607
* Add more and update existing mlx5 core firmware structure definitions and bits.Hans Petter Selasky2017-11-101-24/+69
| | | | | | | | | | This change is part of coming ibcore and mlx5ib updates. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325662
* Set ATOMIC endian mode in mlx5 core.Hans Petter Selasky2017-11-101-0/+5
| | | | | | | | | | | | | The hardware is capable of 2 requestor endianness modes for standard 8 byte atomics: BE (0x0) and host endianness (0x1). Read the supported modes from hca atomic capabilities and configure HW to host endianness mode if supported. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325651
* Refactor the flowsteering APIs used by mlx5en(4). This change is needed byHans Petter Selasky2017-11-101-31/+105
| | | | | | | | | | | | | the coming ibcore and mlx5ib updates in order to support traffic redirection to so-called raw ethernet QPs. Remove unused E-switch related routines and files while at it. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=325638
* Update firmware interface structures and definitions adding supportHans Petter Selasky2017-01-201-35/+168
| | | | | | | | | | for new features and commands. MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=312526
* Add more firmware related structures and update existing ones in theHans Petter Selasky2016-11-071-29/+434
| | | | | | | | | | MLX5 core module. Update the set and query diagnostics counter API. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=308414
* Update the MLX5 core module:Hans Petter Selasky2016-09-161-108/+633
| | | | | | | | | | | | - Add new firmware commands and update existing ones. - Add more firmware related structures and update existing ones. - Some minor fixes, like adding missing \n to some prints. Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=305867
* Add mlx5 and mlx5en driver(s) for ConnectX-4 and ConnectX-4LX cardsHans Petter Selasky2015-11-101-0/+8491
from Mellanox Technologies. The current driver supports ethernet speeds up to and including 100 GBit/s. Infiniband support will be done later. The code added is not compiled by default, which will be done by a separate commit. Sponsored by: Mellanox Technologies MFC after: 2 weeks Notes: svn path=/head/; revision=290650