On Sat, Dec 17 2022, zhukeqian <
zhukeqian1@huawei.com> wrote:
> Fixes:
https://github.com/oasis-tcs/virtio-spec/issues/145>
> Hi all TC members:
> This is to request a vote on resolving the above issue.
I had hoped that someone familiar with this would review this
patch... I've noted a typo below.
Also, as the end-of-year holiday season is starting in most western
countries, it is better to defer any voting to January.
>
> Thanks,
> Keqian
>
>
> -----????-----
> ???:
virtio-comment@lists.oasis-open.org <
virtio-comment@lists.oasis-open.org> ?? Keqian Zhu
> ????: 2022?9?13? 14:54
> ???:
virtio-comment@lists.oasis-open.org> ??:
mst@redhat.com; Wanghaibin (D) <
wanghaibin.wang@huawei.com>; sundongxu (A) <
sundongxu3@huawei.com>
> ??: [virtio-comment][PATCH v2] pci: Update ISR related description about MSI-X
>
> In commit 6a83c1d41748 ("pci: set ISR bit on config change with MSI-X"), device is required to set ISR bit on config change even when MSI-X enabled.
>
> This update other ISR related description for above commit.
>
> Signed-off-by: Keqian Zhu <
zhukeqian1@huawei.com>
> ---
> content.tex | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/content.tex b/content.tex
> index e863709..01a4bfe 100644
> --- a/content.tex
> +++ b/content.tex
> @@ -1158,10 +1158,10 @@ \subsubsection{ISR status capability}\label{sec:Virtio Transport Options / Virti \end{tabular}
>
> To avoid an extra access, simply reading this register resets it to 0 and -causes the device to de-assert the interrupt.
> +causes the device to de-assert the interrupt when using INT\#x interrupt.
>
> In this way, driver read of ISR status causes the device to de-assert -an interrupt.
> +an INT\#x interrupt.
>
> See sections \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Used Buffer Notifications} and \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Notification of Device Configuration Changes} for how this is used.
>
> @@ -1511,7 +1511,7 @@ \subsubsection{Device Initialization}\label{sec:Virtio Transport Options / Virti
>
> When MSI-X capability is present and enabled in the device (through standard PCI configuration space) \field{config_msix_vector} and \field{queue_msix_vector} are used to map configuration change and queue -interrupts to MSI-X vectors. In this case, the ISR Status is unused.
> +interrupts to MSI-X vectors.
>
> Writing a valid MSI-X Table entry number, 0 to 0x7FF, to \field{config_msix_vector}/\field{queue_msix_vector} maps interrupts triggered @@ -1681,6 +1681,7 @@ \subsubsection{Notification of Device Configuration Changes}\label{sec:Virtio Tr
>
> \item If MSI-X capability is enabled:
> \begin{enumerate}
> + \item Set the second lower bit of the ISR Status field for the device.
> \item If \field{config_msix_vector} is not NO_VECTOR,
> request the appropriate MSI-X interrupt message for the
> device, \field{config_msix_vector} sets the MSI-X Table entry @@ -1718,13 +1719,15 @@ \subsubsection{Driver Handling Interrupts}\label{sec:Virtio Transport Options /
> \end{itemize}
> \item If MSI-X capability is enabled:
> \begin{itemize}
> + \item Read the ISR Status field, which will reset it to zero.
> \item
> Look through all virtqueues mapped to that MSI-X vector for the
> device, to see if any progress has been made by the device
> which requires servicing.
> \item
> - If the MSI-X vector is equal to \field{config_msix_vector},
> - re-examine the configuration space to see what changed.
> + If the second lower bit of ISR Status filed is set and the
"of the ISR Status field", I guess?
> + MSI-X vector is equal to \field{config_msix_vector}, re-examine
> + the configuration space to see what changed.
> \end{itemize}
> \end{itemize}