From 6a83c1d41748dd79ec16c7faaa44bed904d79879 Mon Sep 17 00:00:00 2001
From: rusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652>
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 <mst@redhat.com>
Signed-off-by: Rusty Russell <rusty@au1.ibm.com>

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(-)

(limited to 'content.tex')

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

