[PATCH v3 0/4] Add support for ABI change in driver
by ramesh.thomas@intel.com
From: Ramesh Thomas <ramesh.thomas(a)intel.com>
v3:
- Get driver unbind path from symlink in device/driver to support cases
where devices get auto-bound
v2:
- Fixed naming of driver bind paths to not incorrectly use "portal"
- Reworded commit messages correcting use of "portal"
v1: (reworded)
The new ABI changes the way devices are enumerated in sysfs and the
device portals used to bind and unbind wqs to driver. These patches add
support for the new ABI as well as compatibility with the ones in older
kernels.
Following are the modes that are supported.
1. New ABI:
- Both iax and dsa devices will be in same bus /sys/bus/dsa
- Different device portals for "user", "kernel" and "mdev" type wqs
2. Kernel 5.11 and 5.12:
- iax and dsa will be in 2 separate buses
- Bus, device and device portal names are same
3. Older kernels :
- Has only dsa bus
4. OSV having kernel with CONFIG_INTEL_IDXD_COMPAT enabled:
- Only one dsa bus
- Both iax and dsa devices will be on dsa bus.
- Only one device portal for all wq types
Following are the changes added.
- Detect compatibility mode during init and store bus type in device
contexts.
- Currently enumeration assumes device, bus and driver have the same
name and relies on that to construct driver bind paths. Change it to
dynamically construct the paths based on compatibility mode that was
detected during init.
Ramesh Thomas (4):
accel-config: Fix some indentation and coding style issues
accel-config: Add compatibility mode detection
accel-config: Store bus type in device context
accel-config: Add support for new device bind paths
accfg/lib/libaccfg.c | 109 ++++++++++++++++++++++++++++++----------
accfg/lib/private.h | 70 +++++++++++++-------------
accfg/libaccel_config.h | 37 +++++++-------
util/sysfs.c | 5 +-
util/sysfs.h | 13 ++---
5 files changed, 147 insertions(+), 87 deletions(-)
--
2.26.2