Discussion of the VIRTIO specification
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Keqian Zhu <zhukeqian1@huawei.com>
Cc: virtio-comment@lists.oasis-open.org, wanghaibin.wang@huawei.com,
	sundongxu3@huawei.com
Subject: Re: [virtio-comment] [PATCH] pci: Update ISR related description about MSI-X
Date: Thu, 8 Sep 2022 17:16:31 -0400	[thread overview]
Message-ID: <20220908171550-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20220902093548.52248-1-zhukeqian1@huawei.com>

On Fri, Sep 02, 2022 at 05:35:48PM +0800, Keqian Zhu wrote:
> 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 | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/content.tex b/content.tex
> index e863709..fea576d 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,8 @@ \subsubsection{Notification of Device Configuration Changes}\label{sec:Virtio Tr
>  
>    \item If MSI-X capability is enabled:
>      \begin{enumerate}
> +    \item If \field{config_msix_vector} is not NO_VECTOR, set the second
> +      lower bit of the ISR Status field for the device.

I think it has to be set always. With NO_VECTOR driver
can poll for config changes.

>      \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 +1720,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
> +        MSI-X vector is equal to \field{config_msix_vector}, re-examine
> +        the configuration space to see what changed.
>      \end{itemize}
>  \end{itemize}
>  
> -- 
> 2.33.0
> 
> 
> This publicly archived list offers a means to provide input to the
> OASIS Virtual I/O Device (VIRTIO) TC.
> 
> In order to verify user consent to the Feedback License terms and
> to minimize spam in the list archive, subscription is required
> before posting.
> 
> Subscribe: virtio-comment-subscribe@lists.oasis-open.org
> Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
> List help: virtio-comment-help@lists.oasis-open.org
> List archive: https://lists.oasis-open.org/archives/virtio-comment/
> Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
> List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
> Committee: https://www.oasis-open.org/committees/virtio/
> Join OASIS: https://www.oasis-open.org/join/


This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/


  reply	other threads:[~2022-09-08 21:16 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-02  9:35 [virtio-comment] [PATCH] pci: Update ISR related description about MSI-X Keqian Zhu
2022-09-08 21:16 ` Michael S. Tsirkin [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-09-13  6:46 zhukeqian

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220908171550-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=sundongxu3@huawei.com \
    --cc=virtio-comment@lists.oasis-open.org \
    --cc=wanghaibin.wang@huawei.com \
    --cc=zhukeqian1@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox