Skip to content

Commit

Permalink
newdevice: Extend informative guidance on capability, resource objects
Browse files Browse the repository at this point in the history
Add few informative guidance/notes about which use cases to use
device and driver capabilities and device resource objects.

Fixes: oasis-tcs#179
Signed-off-by: Parav Pandit <[email protected]>
Acked-by: Satananda Burla <[email protected]>
  • Loading branch information
paravmellanox committed Jul 11, 2024
1 parent 51dab19 commit 830ed65
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions newdevice.tex
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,27 @@ \section{What Device Configuration Space Layout?}\label{sec:Creating New Device
writable by the driver. Therefore, no writeable field which triggers an
action ought to be wider than 32 bits.

\section{When to use device resource object?}\label{sec:Creating New Device Types or Extending the Device / When to use device resource object?}
Device resource objects are best suited to represent device resources used
dynamically by the driver. Limits on resource usage appear as limit
fields in a device capability.

\section{When to use the capabilities?}\label{sec:Creating New Device Types or Extending the Device / When to use the capabilities?}
Capabilities allow the device and the driver to negotiate support and resources
used for specific functionality. For example, for a networking device, a
capability can represent the limit on the number of flow filter groups. In
another example, a capability can represent the allowed flow filter classifiers.

\section{When to use administration virtqueue vs control virtqueue?}\label{sec:Creating New Device Types or Extending the Device / When to use administration virtqueue vs control virtqueue?}
Any new device configuration, through device capabilities and resources as
either implicit or driver-created resource objects, should preferably use
administration commands via the administration virtqueue. Furthermore, even for devices with a
control virtqueue for configuration, implementing new functionality using
administration commands that leverage generic infrastructure is desirable.

Future enhancements may involve provisioning member devices using
standardized administration commands that reuse existing capability structures.

\section{What Device Number?}\label{sec:Creating New Device Types or Extending the Device / What Device Number?}

Device numbers can be reserved by the OASIS committee: email
Expand Down

0 comments on commit 830ed65

Please sign in to comment.