From patchwork Tue Apr 19 17:13:03 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Auger Eric X-Patchwork-Id: 66123 Delivered-To: patches@linaro.org Received: by 10.140.93.198 with SMTP id d64csp1977997qge; Tue, 19 Apr 2016 10:13:19 -0700 (PDT) X-Received: by 10.194.92.132 with SMTP id cm4mr4217843wjb.25.1461085999527; Tue, 19 Apr 2016 10:13:19 -0700 (PDT) Return-Path: Received: from mail-wm0-x232.google.com (mail-wm0-x232.google.com. [2a00:1450:400c:c09::232]) by mx.google.com with ESMTPS id c76si5259795wmh.32.2016.04.19.10.13.19 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 19 Apr 2016 10:13:19 -0700 (PDT) Received-SPF: pass (google.com: domain of eric.auger@linaro.org designates 2a00:1450:400c:c09::232 as permitted sender) client-ip=2a00:1450:400c:c09::232; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org; spf=pass (google.com: domain of eric.auger@linaro.org designates 2a00:1450:400c:c09::232 as permitted sender) smtp.mailfrom=eric.auger@linaro.org; dmarc=pass (p=NONE dis=NONE) header.from=linaro.org Received: by mail-wm0-x232.google.com with SMTP id u206so41047228wme.1 for ; Tue, 19 Apr 2016 10:13:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=+UdZMEJYjTYjk3eT/FOf6lNV1QTL6DVbdnW7Mleb8Mk=; b=U35I/f1ReWgnD47K4N0/9YjZR27hsJTgm0wrGvINnsqEI/o986aJrtG/6jPPze90LX LHfG+SjytWsmmIq47olVBJgbMFtcX1CXnMjGT4K0SxNxG/fpBeVj+5uak0llr8RZY79h EQXBRglWQyKy+iIyqXP+yk22Etsf+++pmdEuk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=+UdZMEJYjTYjk3eT/FOf6lNV1QTL6DVbdnW7Mleb8Mk=; b=RFNUMJ2N+d509l8ZrWuePRXhNoV9QKGOqg4pFNaly0McFZS/L1KwJR79IgTSNtSxsD Zow+GXnywmVZSpeV3ZfpIiQ5njCUVUrw/Lt9TlKG0rtW5yvfRZifWG8a+toqk31rLRGa XSncSIAUyMB9vQXtkmLtuDO77Sj8JOxcD66CRefrODKN49djzhPU0489kMcMJDV/RdMY 1MOcX0K4LFXABanH0xXHEBbYfB1ULLSnnFRX8u7YzgqCm3F8FBkMIrHmTP6dafp716Me JgTtErSFS0Vi4/PTgIXEylKeAmmmKwqu4YXEvP5Kxcf3ds67mHMSRB1CTcqL/2nDjyVw Oq6g== X-Gm-Message-State: AOPr4FUQNo9agSfxisz40qteRPT+C7h/v6QPStbDnc2TYFl+0DHh3Fk6pUg6tosJZfb2qePWCCY= X-Received: by 10.194.20.193 with SMTP id p1mr4370253wje.87.1461085999175; Tue, 19 Apr 2016 10:13:19 -0700 (PDT) Return-Path: Received: from new-host-34.home (LMontsouris-657-1-37-90.w80-11.abo.wanadoo.fr. [80.11.198.90]) by smtp.gmail.com with ESMTPSA id gr4sm1243604wjd.23.2016.04.19.10.13.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 19 Apr 2016 10:13:18 -0700 (PDT) From: Eric Auger To: eric.auger@st.com, eric.auger@linaro.org, robin.murphy@arm.com, alex.williamson@redhat.com, will.deacon@arm.com, joro@8bytes.org, tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com, christoffer.dall@linaro.org, linux-arm-kernel@lists.infradead.org Cc: patches@linaro.org, linux-kernel@vger.kernel.org, Bharat.Bhushan@freescale.com, pranav.sawargaonkar@gmail.com, p.fedin@samsung.com, iommu@lists.linux-foundation.org, Jean-Philippe.Brucker@arm.com, julien.grall@arm.com Subject: [PATCH v7 1/8] genirq/msi: Add a new MSI_FLAG_IRQ_REMAPPING flag Date: Tue, 19 Apr 2016 17:13:03 +0000 Message-Id: <1461085990-2547-2-git-send-email-eric.auger@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1461085990-2547-1-git-send-email-eric.auger@linaro.org> References: <1461085990-2547-1-git-send-email-eric.auger@linaro.org> Let's introduce a new msi_domain_info flag value, MSI_FLAG_IRQ_REMAPPING meant to tell the domain supports IRQ REMAPPING, also known as Interrupt Translation Service. On Intel HW this IRQ remapping capability is abstracted on IOMMU side while on ARM it is abstracted on MSI controller side. This flag will be used to know whether the MSI passthrough is safe. Signed-off-by: Eric Auger --- v4 -> v5: - seperate flag introduction from first user addition (ITS) --- include/linux/msi.h | 2 ++ 1 file changed, 2 insertions(+) -- 1.9.1 diff --git a/include/linux/msi.h b/include/linux/msi.h index 8b425c6..08441b1 100644 --- a/include/linux/msi.h +++ b/include/linux/msi.h @@ -270,6 +270,8 @@ enum { MSI_FLAG_MULTI_PCI_MSI = (1 << 3), /* Support PCI MSIX interrupts */ MSI_FLAG_PCI_MSIX = (1 << 4), + /* Support MSI IRQ remapping service */ + MSI_FLAG_IRQ_REMAPPING = (1 << 5), }; int msi_domain_set_affinity(struct irq_data *data, const struct cpumask *mask,