All of lore.kernel.org
 help / color / mirror / Atom feed
From: tip-bot for Feng Wu <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, joro@8bytes.org, mingo@kernel.org,
	tglx@linutronix.de, feng.wu@intel.com, hpa@zytor.com
Subject: [tip:x86/apic] iommu, x86: Save the mode (posted or remapped) of an IRTE
Date: Mon, 8 Jun 2015 06:44:11 -0700	[thread overview]
Message-ID: <tip-7737e29368f693c7de97503133d05dc0675a09c0@git.kernel.org> (raw)
In-Reply-To: <1433482974-14614-5-git-send-email-feng.wu@intel.com>

Commit-ID:  7737e29368f693c7de97503133d05dc0675a09c0
Gitweb:     http://git.kernel.org/tip/7737e29368f693c7de97503133d05dc0675a09c0
Author:     Feng Wu <feng.wu@intel.com>
AuthorDate: Fri, 5 Jun 2015 13:42:49 +0800
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Mon, 8 Jun 2015 15:41:32 +0200

iommu, x86: Save the mode (posted or remapped) of an IRTE

Add a new field to struct irq_2_iommu, which captures whether the
associated IRTE is in posted mode or remapped mode. We update this
field when the IRTE is written into the table.

Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Feng Wu <feng.wu@intel.com>
Acked-by: Joerg Roedel <joro@8bytes.org>
Cc: jiang.liu@linux.intel.com
Cc: iommu@lists.linux-foundation.org
Cc: dwmw2@infradead.org
Link: http://lkml.kernel.org/r/1433482974-14614-5-git-send-email-feng.wu@intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 drivers/iommu/intel_irq_remapping.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/iommu/intel_irq_remapping.c b/drivers/iommu/intel_irq_remapping.c
index a643eec..68bce0a 100644
--- a/drivers/iommu/intel_irq_remapping.c
+++ b/drivers/iommu/intel_irq_remapping.c
@@ -18,6 +18,11 @@
 
 #include "irq_remapping.h"
 
+enum irq_mode {
+	IRQ_REMAPPING,
+	IRQ_POSTING,
+};
+
 struct ioapic_scope {
 	struct intel_iommu *iommu;
 	unsigned int id;
@@ -37,6 +42,7 @@ struct irq_2_iommu {
 	u16 irte_index;
 	u16 sub_handle;
 	u8  irte_mask;
+	enum irq_mode mode;
 };
 
 struct intel_ir_data {
@@ -104,6 +110,7 @@ static int alloc_irte(struct intel_iommu *iommu, int irq,
 		irq_iommu->irte_index =  index;
 		irq_iommu->sub_handle = 0;
 		irq_iommu->irte_mask = mask;
+		irq_iommu->mode = IRQ_REMAPPING;
 	}
 	raw_spin_unlock_irqrestore(&irq_2_ir_lock, flags);
 
@@ -144,6 +151,9 @@ static int modify_irte(struct irq_2_iommu *irq_iommu,
 	__iommu_flush_cache(iommu, irte, sizeof(*irte));
 
 	rc = qi_flush_iec(iommu, index, 0);
+
+	/* Update iommu mode according to the IRTE mode */
+	irq_iommu->mode = irte->pst ? IRQ_POSTING : IRQ_REMAPPING;
 	raw_spin_unlock_irqrestore(&irq_2_ir_lock, flags);
 
 	return rc;

  reply	other threads:[~2015-06-08 13:48 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-05  5:42 [v9 0/9] Add VT-d Posted-Interrupts support - IOMMU part Feng Wu
2015-06-05  5:42 ` Feng Wu
     [not found] ` <1433482974-14614-1-git-send-email-feng.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-06-05  5:42   ` [v9 1/9] iommu: Add new member capability to struct irq_remap_ops Feng Wu
2015-06-05  5:42     ` Feng Wu
2015-06-08 13:42     ` [tip:x86/apic] " tip-bot for Feng Wu
2015-06-05  5:42   ` [v9 2/9] iommu: dmar: Extend struct irte for VT-d Posted-Interrupts Feng Wu
2015-06-05  5:42     ` Feng Wu
2015-06-08 13:43     ` [tip:x86/apic] " tip-bot for Thomas Gleixner
2015-06-05  5:42   ` [v9 3/9] iommu, x86: Implement irq_set_vcpu_affinity for intel_ir_chip Feng Wu
2015-06-05  5:42     ` Feng Wu
2015-06-08 13:43     ` [tip:x86/apic] " tip-bot for Feng Wu
2015-06-05  5:42   ` [v9 4/9] iommu, x86: Save the mode (posted or remapped) of an IRTE Feng Wu
2015-06-05  5:42     ` Feng Wu
2015-06-08 13:44     ` tip-bot for Feng Wu [this message]
2015-06-05  5:42   ` [v9 5/9] iommu, x86: No need to migrating irq for VT-d Posted-Interrupts Feng Wu
2015-06-05  5:42     ` Feng Wu
2015-06-08 13:44     ` [tip:x86/apic] iommu, x86: Avoid migrating VT-d posted interrupts tip-bot for Feng Wu
2015-06-05  5:42   ` [v9 6/9] iommu, x86: Add cap_pi_support() to detect VT-d PI capability Feng Wu
2015-06-05  5:42     ` Feng Wu
2015-06-08 13:44     ` [tip:x86/apic] " tip-bot for Feng Wu
2015-06-05  5:42   ` [v9 7/9] iommu, x86: Setup Posted-Interrupts capability for Intel iommu Feng Wu
2015-06-05  5:42     ` Feng Wu
2015-06-08 13:45     ` [tip:x86/apic] " tip-bot for Feng Wu
2015-06-05  5:42   ` [v9 8/9] iommu, x86: define irq_remapping_cap() Feng Wu
2015-06-05  5:42     ` Feng Wu
2015-06-08 13:45     ` [tip:x86/apic] iommu, x86: Provide irq_remapping_cap() interface tip-bot for Feng Wu
2015-06-05  5:42   ` [v9 9/9] iommu, x86: Properly handler PI for IOMMU hotplug Feng Wu
2015-06-05  5:42     ` Feng Wu
2015-06-08 13:45     ` [tip:x86/apic] iommu, x86: Properly handle posted interrupts " tip-bot for Feng Wu
2015-06-05 11:47 ` [v9 0/9] Add VT-d Posted-Interrupts support - IOMMU part Thomas Gleixner
2015-06-05 13:33   ` Joerg Roedel
2015-06-05 13:33     ` Joerg Roedel
     [not found]     ` <20150605133333.GU20384-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2015-06-08  1:23       ` Wu, Feng
2015-06-08  1:23         ` Wu, Feng
  -- strict thread matches above, loose matches on Subject: below --
2015-06-09  5:20 [v10 05/10] iommu, x86: Save the mode (posted or remapped) of an IRTE Feng Wu
2015-06-12  9:49 ` [tip:x86/apic] " tip-bot for Feng Wu

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=tip-7737e29368f693c7de97503133d05dc0675a09c0@git.kernel.org \
    --to=tipbot@zytor.com \
    --cc=feng.wu@intel.com \
    --cc=hpa@zytor.com \
    --cc=joro@8bytes.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=tglx@linutronix.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.