[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [PATCH 07/11] transport-pci: Introduce transitional MMR device id
On Fri, Mar 31, 2023 at 01:58:30AM +0300, Parav Pandit wrote: > Transitional MMR device PCI Device IDs are unique. Hence, > any of the existing drivers do not bind to it. > This further maintains the backward compatibility with > existing drivers. > > Co-developed-by: Satananda Burla <sburla@marvell.com> > Signed-off-by: Parav Pandit <parav@nvidia.com> This is IMO just too big a change: fundamentally this is a completely new transport since no existing drivers can use this device at all. Not a thing we should do lightly. And we have options on the table such as AQ, which address most of the issue. Yes they do not work for passthrough of a PF but that seems like a minor issue. If we want to save the MMR idea, let's find a way to cut down this patchset's size significantly. On a more positive side, I do not really see a reason to have a new ID at all. Device can have a normal device ID and additionally the new capability. > --- > transport-pci.tex | 45 +++++++++++++++++++++++++++++++++++++++++---- > 1 file changed, 41 insertions(+), 4 deletions(-) > > diff --git a/transport-pci.tex b/transport-pci.tex > index ee11ba5..665448e 100644 > --- a/transport-pci.tex > +++ b/transport-pci.tex > @@ -19,12 +19,14 @@ \section{Virtio Over PCI Bus}\label{sec:Virtio Transport Options / Virtio Over P > \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery} > > Any PCI device with PCI Vendor ID 0x1af4, and PCI Device ID 0x1000 through > -0x107f inclusive is a virtio device. The actual value within this range > -indicates which virtio device is supported by the device. > +0x107f inclusive and DeviceID 0x10f9 through 0x10ff is a virtio device. > +The actual value within this range indicates which virtio device > +type it is. > The PCI Device ID is calculated by adding 0x1040 to the Virtio Device ID, > as indicated in section \ref{sec:Device Types}. > -Additionally, devices MAY utilize a Transitional PCI Device ID range, > -0x1000 to 0x103f depending on the device type. > +Additionally, devices MAY utilize a Transitional PCI Device ID range > +0x1000 to 0x103f inclusive or a Transitional MMR PCI Device ID range > +0x10f9 to 0x10ff inclusive, depending on the device type. > > \devicenormative{\subsubsection}{PCI Device Discovery}{Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery} > > @@ -95,6 +97,41 @@ \subsubsection{Legacy Interfaces: A Note on PCI Device Discovery}\label{sec:Virt > > This is to match legacy drivers. > > +\subsubsection{Transitional MMR Interface: A Note on PCI Device > +Discovery}\label{sec:Virtio Transport Options / Virtio Over PCI > +Bus / PCI Device Discovery / Transitional MMR Interface: A Note on PCI Device Discovery} > + > +The transitional MMR 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 > +0x10f9 & network device \\ > +\hline > +0x10fa & block device \\ > +\hline > +0x10fb & memory ballooning (traditional) \\ > +\hline > +0x10fc & console \\ > +\hline > +0x10fd & SCSI host \\ > +\hline > +0x10fe & entropy source \\ > +\hline > +0x10ff & 9P transport \\ > +\hline > +\end{tabular} > + > +The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY > +reflect the PCI Vendor and Device ID of the environment. > + > +The transitional MMR driver MUST match any PCI Revision ID value. > + > +The transitional MMR driver MAY match any PCI Subsystem Vendor ID and > +any PCI Subsystem Device ID value. > + > \subsection{PCI Device Layout}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout} > > The device is configured via I/O and/or memory regions (though see > -- > 2.26.2
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]