linux-stable/Documentation
David S. Miller a89dc58703 mlx5-updates-2023-06-09
1) Embedded CPU Virtual Functions
 2) Lightweight local SFs
 
 Daniel Jurgens says:
 ====================
 Embedded CPU Virtual Functions
 
 This series enables the creation of virtual functions on Bluefield (the
 embedded CPU platform). Embedded CPU virtual functions (EC VFs). EC VF
 creation, deletion and management interfaces are the same as those for
 virtual functions in a server with a Connect-X NIC.
 
 When using EC VFs on the ARM the creation of virtual functions on the
 host system is still supported. Host VFs eswitch vports occupy a range
 of 1..max_vfs, the EC VF vport range is max_vfs+1..max_ec_vfs.
 
 Every function (PF, ECPF, VF, EC VF, and subfunction) has a function ID
 associated with it. Prior to this series the function ID and the eswitch
 vport were the same. That is no longer the case, the EC VF function ID
 range is 1..max_ec_vfs. When querying or setting the capabilities of an
 EC VF function an new bit must be set in the query/set HCA cap
 structure.
 
 This is a high level overview of the changes made:
 	- Allocate vports for EC VFs if they are enabled.
 	- Create representors and devlink ports for the EC VF vports.
 	- When querying/setting HCA caps by vport break the assumption
 	  that function ID is the same a vport number and adjust
 	  accordingly.
 	- Create a new type of page, so that when SRIOV on the ARM is
 	  disabled, but remains enabled on the host, the driver can
 	  wait for the correct pages.
 	- Update SRIOV code to support EC VF creation/deletion.
 
 ===================
 
 Lightweight local SFs:
 
 Last 3 patches form Shay Drory:
 
 SFs are heavy weight and by default they come with the full package of
 ConnectX features. Usually users want specialized SFs for one specific
 purpose and using devlink users will almost always override the set of
 advertises features of an SF and reload it.
 
 Shay Drory says:
 ================
 In order to avoid the wasted time and resources on the reload, local SFs
 will probe without any auxiliary sub-device, so that the SFs can be
 configured prior to its full probe.
 
 The defaults of the enable_* devlink params of these SFs are set to
 false.
 
 Usage example:
 Create SF:
 $ devlink port add pci/0000:08:00.0 flavour pcisf pfnum 0 sfnum 11
 $ devlink port function set pci/0000:08:00.0/32768 \
                hw_addr 00:00:00:00:00:11 state active
 
 Enable ETH auxiliary device:
 $ devlink dev param set auxiliary/mlx5_core.sf.1 \
               name enable_eth value true cmode driverinit
 
 Now, in order to fully probe the SF, use devlink reload:
 $ devlink dev reload auxiliary/mlx5_core.sf.1
 
 At this point the user have SF devlink instance with auxiliary device
 for the Ethernet functionality only.
 
 ================
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEGhZs6bAKwk/OTgTpSD+KveBX+j4FAmSD1KUACgkQSD+KveBX
 +j5JMwf/SGo0DwXm0GTu+RlUmoUpCYG40QjJwNwJ9WUNIB/zMpnGrx59dtdhuVUb
 3gD8T9MVT08NXjQIzQReAZu9hm9MvM6jvTnUG++fFyjjlHuI/9hXWBgz1aSPcQOC
 ZR2ZHuFZsTTRWNe3JU5v9tuHOE0c6xZBAzPdDU3Lib0LvhIbZGK2eiSb11RIGU3V
 FTUskLUPMo5ObUNS55lgcTFquK90Qy41LUv0DX3MpbOY/YnDBiycikopwDoYtYQ6
 9/kOM+VOprW+BgalLyGHJ77BDg7O/k1ZxnL6J7mGn7tAhOkKX5+06xGfZnEifI2F
 nTuXYI5O8TDBdZYpmO+sBOh+SVyUrg==
 =H9kD
 -----END PGP SIGNATURE-----

Merge tag 'mlx5-updates-2023-06-09' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux

mlx5-updates-2023-06-09

1) Embedded CPU Virtual Functions
2) Lightweight local SFs

Daniel Jurgens says:
====================
Embedded CPU Virtual Functions

This series enables the creation of virtual functions on Bluefield (the
embedded CPU platform). Embedded CPU virtual functions (EC VFs). EC VF
creation, deletion and management interfaces are the same as those for
virtual functions in a server with a Connect-X NIC.

When using EC VFs on the ARM the creation of virtual functions on the
host system is still supported. Host VFs eswitch vports occupy a range
of 1..max_vfs, the EC VF vport range is max_vfs+1..max_ec_vfs.

Every function (PF, ECPF, VF, EC VF, and subfunction) has a function ID
associated with it. Prior to this series the function ID and the eswitch
vport were the same. That is no longer the case, the EC VF function ID
range is 1..max_ec_vfs. When querying or setting the capabilities of an
EC VF function an new bit must be set in the query/set HCA cap
structure.

This is a high level overview of the changes made:
	- Allocate vports for EC VFs if they are enabled.
	- Create representors and devlink ports for the EC VF vports.
	- When querying/setting HCA caps by vport break the assumption
	  that function ID is the same a vport number and adjust
	  accordingly.
	- Create a new type of page, so that when SRIOV on the ARM is
	  disabled, but remains enabled on the host, the driver can
	  wait for the correct pages.
	- Update SRIOV code to support EC VF creation/deletion.

===================

Lightweight local SFs:

Last 3 patches form Shay Drory:

SFs are heavy weight and by default they come with the full package of
ConnectX features. Usually users want specialized SFs for one specific
purpose and using devlink users will almost always override the set of
advertises features of an SF and reload it.

Shay Drory says:
================
In order to avoid the wasted time and resources on the reload, local SFs
will probe without any auxiliary sub-device, so that the SFs can be
configured prior to its full probe.

The defaults of the enable_* devlink params of these SFs are set to
false.

Usage example:
Create SF:
$ devlink port add pci/0000:08:00.0 flavour pcisf pfnum 0 sfnum 11
$ devlink port function set pci/0000:08:00.0/32768 \
               hw_addr 00:00:00:00:00:11 state active

Enable ETH auxiliary device:
$ devlink dev param set auxiliary/mlx5_core.sf.1 \
              name enable_eth value true cmode driverinit

Now, in order to fully probe the SF, use devlink reload:
$ devlink dev reload auxiliary/mlx5_core.sf.1

At this point the user have SF devlink instance with auxiliary device
for the Ethernet functionality only.

================
2023-06-12 11:41:57 +01:00
..
ABI dmaengine updates for v6.4 2023-05-03 11:11:56 -07:00
accel
accounting Scheduler changes for v6.4: 2023-04-28 14:53:30 -07:00
admin-guide Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-06-01 15:38:26 -07:00
arch A handful of late-arriving documentation fixes, plus one Spanish 2023-05-05 13:16:42 -07:00
arm ARM: SoC devicetree changes for 6.4 2023-04-25 12:11:54 -07:00
arm64 irqchip/gic-v3: Add Rockchip 3588001 erratum workaround 2023-04-18 17:31:17 +01:00
block Documentation/block: drop the request.rst file 2023-05-12 11:04:58 -06:00
bpf bpf, docs: Shift operations are defined to use a mask 2023-05-17 16:18:33 +02:00
cdrom Documentation: use capitalization for chapters and acronyms 2023-05-16 12:49:31 -06:00
core-api - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of 2023-04-27 19:42:02 -07:00
cpu-freq
crypto
dev-tools Mainly singleton patches all over the place. Series of note are: 2023-04-27 19:57:00 -07:00
devicetree dt-bindings: net: drop unneeded quotes 2023-06-12 10:50:47 +01:00
doc-guide
driver-api pwm: Changes for v6.4-rc1 2023-05-03 11:25:01 -07:00
fault-injection
fb
features
filesystems smb3: move Documentation/filesystems/cifs to Documentation/filesystems/smb 2023-05-24 16:29:21 -05:00
firmware-guide
firmware_class
fpga Documentation: use capitalization for chapters and acronyms 2023-05-16 12:49:31 -06:00
gpu
hid
hwmon hwmon: (aquacomputer_d5next) Add support for Aquacomputer Aquastream XT 2023-04-21 07:27:23 -07:00
i2c
iio
images
infiniband
input
isdn
kbuild parisc: update kbuild doc. aliases for parisc64 2023-05-03 17:43:10 +02:00
kernel-hacking
leds Documentation: leds: leds-class: Document new Hardware driven LEDs APIs 2023-05-31 09:42:08 +01:00
litmus-tests LKMM scripting updates for v6.4 2023-04-24 12:02:25 -07:00
livepatch Objtool changes for v6.4: 2023-04-28 14:02:54 -07:00
locking Documentation: use capitalization for chapters and acronyms 2023-05-16 12:49:31 -06:00
loongarch
maintainer
mhi
mips
misc-devices
mm mm: page_table_check: Make it dependent on EXCLUSIVE_SYSTEM_RAM 2023-05-29 16:14:28 +01:00
netlabel
netlink netlink: specs: ethtool: mark pads as pads 2023-06-12 11:01:03 +01:00
networking net/mlx5: Light probe local SFs 2023-06-09 18:40:53 -07:00
nvdimm
nvme
PCI
pcmcia Documentation: use capitalization for chapters and acronyms 2023-05-16 12:49:31 -06:00
peci
power regulator: consumer.rst: fix 'regulator_enable' typo. 2023-04-27 21:55:38 +01:00
powerpc
process docs: netdev: document the existence of the mail bot 2023-05-23 21:11:54 -07:00
RCU
riscv RISC-V Patches for the 6.4 Merge Window, Part 1 2023-04-28 16:55:39 -07:00
rust
s390 s390/iommu: get rid of S390_CCW_IOMMU and S390_AP_IOMMU 2023-05-17 15:20:18 +02:00
scheduler sh updates for v6.4 2023-04-27 17:41:23 -07:00
scsi
security lsm: move hook comments docs to security/security.c 2023-04-28 11:58:34 -04:00
sound ALSA: docs: Fix code block indentation in ALSA driver example 2023-05-03 08:08:25 +02:00
sphinx
sphinx-static
spi
staging Documentation: use capitalization for chapters and acronyms 2023-05-16 12:49:31 -06:00
target
timers Documentation: use capitalization for chapters and acronyms 2023-05-16 12:49:31 -06:00
tools rtla/timerlat: Add auto-analysis only option 2023-04-25 19:26:17 -04:00
trace tracing: Rename stacktrace field to common_stacktrace 2023-05-23 23:38:23 -04:00
translations A handful of late-arriving documentation fixes, plus one Spanish 2023-05-05 13:16:42 -07:00
usb
userspace-api tools: ynl: user space helpers 2023-06-06 12:31:31 -07:00
virt VFIO updates for v6.4-rc1 2023-05-02 11:56:43 -07:00
w1
watchdog
.gitignore
atomic_bitops.txt
atomic_t.txt
Changes
CodingStyle
conf.py docs: turn off "smart quotes" in the HTML build 2023-04-20 17:53:18 -06:00
docutils.conf
dontdiff
index.rst
Kconfig
Makefile
memory-barriers.txt
SubmittingPatches
subsystem-apis.rst