From 6a83c1d41748dd79ec16c7faaa44bed904d79879 Mon Sep 17 00:00:00 2001 From: rusty Date: Thu, 5 Jun 2014 06:44:38 +0000 Subject: pci: set ISR bit on config change with MSI-X config changes are slow path anyway, so we can as well set ISR bit to help drivers detect changes. This allows sharing config interrupts which is what issue reporter seems to ask for. VIRTIO-104 (Approved at 2014-06-04 meeting: https://lists.oasis-open.org/archives/virtio/201406/msg00013.html ) Signed-off-by: Michael S. Tsirkin Signed-off-by: Rusty Russell git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@375 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652 --- content.tex | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/content.tex b/content.tex index b82748a..514982f 100644 --- a/content.tex +++ b/content.tex @@ -1379,6 +1379,14 @@ See sections \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-speci The device MUST present at least one VIRTIO_PCI_CAP_ISR_CFG capability. +The device MUST set the Device Configuration Interrupt bit +in \field{ISR status} before sending a device configuration +change notification to the driver. + +If MSI-X capability is disabled, the device MUST set the Queue +Interrupt bit in \field{ISR status} before sending a virtqueue +notification to the driver. + If MSI-X capability is disabled, the device MUST set the Interrupt Status bit in the PCI Status register in the PCI Configuration Header of the device to the logical OR of all bits in \field{ISR status} of @@ -1389,8 +1397,8 @@ The device MUST reset \field{ISR status} to 0 on driver read. \drivernormative{\paragraph}{ISR status capability}{Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / ISR status capability} -The driver MUST NOT access the ISR field when MSI-X capability -is enabled. +If MSI-X capability is enabled, the driver SHOULD NOT access +\field{ISR status} upon detecting a Queue Interrupt. \subsubsection{Device-specific configuration}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Device-specific configuration} -- cgit v1.2.3