[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [PATCH 02/11] transport-pci: Move transitional device id to legacy section
On Fri, Mar 31, 2023 at 01:58:25AM +0300, Parav Pandit wrote: > Currently PCI device discovery details for the transitional device > are documented in two different sections. > > For example, PCI device and vendor ID registers are documented in > 'Device Requirements: PCI Device Discovery' section, while PCI > revision id is documented in 'Legacy Interfaces: A Note on PCI > Device Discovery' section. > > Transitional devices requirements should be documented in "legacy > interfaces" section as clearly mentioned in > 'Legacy Interface: A Note on Feature Bits'. I already commented on this, I disagree. Modern drivers must be able to completely ignore legacy interface sections, but they do bind to transitional device IDs. This change breaks this assumption. > Hence, > 1. Move transitional device requirements to its designated Legacy > interface section > 2. Describe regular device requirements without quoting it as "non > transitional device" > > While at it, write the description using a singular object definition. > > Reviewed-by: Satananda Burla <sburla@marvell.com> > Signed-off-by: Parav Pandit <parav@nvidia.com> > --- > transport-pci.tex | 70 ++++++++++++++++++++++++----------------------- > 1 file changed, 36 insertions(+), 34 deletions(-) > > diff --git a/transport-pci.tex b/transport-pci.tex > index 7f27107..1f74c6f 100644 > --- a/transport-pci.tex > +++ b/transport-pci.tex > @@ -28,46 +28,24 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov > > \devicenormative{\subsubsection}{PCI Device Discovery}{Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery} > > -Devices MUST have the PCI Vendor ID 0x1af4. > -Devices MUST either have the PCI Device ID calculated by adding 0x1040 > +The device MUST have the PCI Vendor ID 0x1af4. > +The device MUST calculate PCI Device ID by adding 0x1040 > to the Virtio Device ID, as indicated in section \ref{sec:Device > -Types} or have the Transitional PCI Device ID depending on the device type, > -as follows: > - > -\begin{tabular}{|l|c|} > -\hline > -Transitional PCI Device ID & Virtio Device \\ > -\hline \hline > -0x1000 & network device \\ > -\hline > -0x1001 & block device \\ > -\hline > -0x1002 & memory ballooning (traditional) \\ > -\hline > -0x1003 & console \\ > -\hline > -0x1004 & SCSI host \\ > -\hline > -0x1005 & entropy source \\ > -\hline > -0x1009 & 9P transport \\ > -\hline > -\end{tabular} > +Types}. > > For example, the network device with the Virtio Device ID 1 > -has the PCI Device ID 0x1041 or the Transitional PCI Device ID 0x1000. > - > -The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY reflect > -the PCI Vendor and Device ID of the environment (for informational purposes by the driver). > +has the PCI Device ID 0x1041. > > -Non-transitional devices SHOULD have a PCI Device ID in the range > -0x1040 to 0x107f. > -Non-transitional devices SHOULD have a PCI Revision ID of 1 or higher. > -Non-transitional devices SHOULD have a PCI Subsystem Device ID of 0x40 or higher. > +The device SHOULD have a PCI Device ID in the range 0x1040 to 0x107f. > +The device SHOULD have a PCI Revision ID of 1 or higher. > +The device SHOULD have a PCI Subsystem Device ID of 0x40 or higher. > > This is to reduce the chance of a legacy driver attempting > to drive the device. > > +The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY reflect > +the PCI Vendor and Device ID of the environment (for informational purposes by the driver). > + > \drivernormative{\subsubsection}{PCI Device Discovery}{Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery} > Drivers MUST match devices with the PCI Vendor ID 0x1af4 and > the PCI Device ID in the range 0x1040 to 0x107f, > @@ -85,8 +63,32 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov > PCI Subsystem Device ID value. > > \subsubsection{Legacy Interfaces: A Note on PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery / Legacy Interfaces: A Note on PCI Device Discovery} > -Transitional devices MUST have a PCI Revision ID of 0. > -Transitional devices MUST have the PCI Subsystem Device ID > + > +The transitional device has one of the following PCI Device ID > +depending on the device type: > + > +\begin{tabular}{|l|c|} > +\hline > +Transitional PCI Device ID & Virtio Device \\ > +\hline \hline > +0x1000 & network device \\ > +\hline > +0x1001 & block device \\ > +\hline > +0x1002 & memory ballooning (traditional) \\ > +\hline > +0x1003 & console \\ > +\hline > +0x1004 & SCSI host \\ > +\hline > +0x1005 & entropy source \\ > +\hline > +0x1009 & 9P transport \\ > +\hline > +\end{tabular} > + > +The transitional device MUST have a PCI Revision ID of 0. > +The transitional device MUST have the PCI Subsystem Device ID > matching the Virtio Device ID, as indicated in section \ref{sec:Device Types}. > Transitional devices MUST have the Transitional PCI Device ID in > the range 0x1000 to 0x103f. > -- > 2.26.2
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]