From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35142) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X7DjI-0002T0-Ty for qemu-devel@nongnu.org; Tue, 15 Jul 2014 21:10:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X7DjC-0006Mn-7F for qemu-devel@nongnu.org; Tue, 15 Jul 2014 21:09:56 -0400 Received: from mail-pa0-f52.google.com ([209.85.220.52]:42532) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X7DjC-0006Mh-1D for qemu-devel@nongnu.org; Tue, 15 Jul 2014 21:09:50 -0400 Received: by mail-pa0-f52.google.com with SMTP id bj1so282512pad.11 for ; Tue, 15 Jul 2014 18:09:49 -0700 (PDT) Message-ID: <53C5D0D8.9000709@ozlabs.ru> Date: Wed, 16 Jul 2014 11:09:44 +1000 From: Alexey Kardashevskiy MIME-Version: 1.0 References: <1405470005-9957-1-git-send-email-gwshan@linux.vnet.ibm.com> <1405470005-9957-4-git-send-email-gwshan@linux.vnet.ibm.com> In-Reply-To: <1405470005-9957-4-git-send-email-gwshan@linux.vnet.ibm.com> Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v12 3/4] headers: Update kernel header List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gavin Shan , qemu-ppc@nongnu.org Cc: alex.williamson@redhat.com, qemu-devel@nongnu.org, agraf@suse.de On 07/16/2014 10:20 AM, Gavin Shan wrote: > This updates kernel header (vfio.h) for EEH support on VFIO PCI > devices. Has this reached kernel upstream? The way linux headers update normally happens is you have to run scripts/update-linux-headers.sh against some linux kernel tag which you know that it won't change (like v3.16-rc5) and post all the changes as a single patch. It is never a header update for a specific feature, it is just an update. > > Signed-off-by: Gavin Shan > --- > linux-headers/linux/vfio.h | 34 ++++++++++++++++++++++++++++++++++ > 1 file changed, 34 insertions(+) > > diff --git a/linux-headers/linux/vfio.h b/linux-headers/linux/vfio.h > index 26c218e..95b591b 100644 > --- a/linux-headers/linux/vfio.h > +++ b/linux-headers/linux/vfio.h > @@ -30,6 +30,9 @@ > */ > #define VFIO_DMA_CC_IOMMU 4 > > +/* Check if EEH is supported */ > +#define VFIO_EEH 5 > + > /* > * The IOCTL interface is designed for extensibility by embedding the > * structure length (argsz) and flags into structures passed between > @@ -455,6 +458,37 @@ struct vfio_iommu_spapr_tce_info { > > #define VFIO_IOMMU_SPAPR_TCE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12) > > +/* > + * EEH PE operation struct provides ways to: > + * - enable/disable EEH functionality; > + * - unfreeze IO/DMA for frozen PE; > + * - read PE state; > + * - reset PE; > + * - configure PE. > + */ > +struct vfio_eeh_pe_op { > + __u32 argsz; > + __u32 flags; > + __u32 op; > +}; > + > +#define VFIO_EEH_PE_DISABLE 0 /* Disable EEH functionality */ > +#define VFIO_EEH_PE_ENABLE 1 /* Enable EEH functionality */ > +#define VFIO_EEH_PE_UNFREEZE_IO 2 /* Enable IO for frozen PE */ > +#define VFIO_EEH_PE_UNFREEZE_DMA 3 /* Enable DMA for frozen PE */ > +#define VFIO_EEH_PE_GET_STATE 4 /* PE state retrieval */ > +#define VFIO_EEH_PE_STATE_NORMAL 0 /* PE in functional state */ > +#define VFIO_EEH_PE_STATE_RESET 1 /* PE reset in progress */ > +#define VFIO_EEH_PE_STATE_STOPPED 2 /* Stopped DMA and IO */ > +#define VFIO_EEH_PE_STATE_STOPPED_DMA 4 /* Stopped DMA only */ > +#define VFIO_EEH_PE_STATE_UNAVAIL 5 /* State unavailable */ > +#define VFIO_EEH_PE_RESET_DEACTIVATE 5 /* Deassert PE reset */ > +#define VFIO_EEH_PE_RESET_HOT 6 /* Assert hot reset */ > +#define VFIO_EEH_PE_RESET_FUNDAMENTAL 7 /* Assert fundamental reset */ > +#define VFIO_EEH_PE_CONFIGURE 8 /* PE configuration */ > + > +#define VFIO_EEH_PE_OP _IO(VFIO_TYPE, VFIO_BASE + 21) > + > /* ***************************************************************** */ > > #endif /* VFIO_H */ > -- Alexey