From dcf49aa018371267239adf28938e6315cace1505 Mon Sep 17 00:00:00 2001 From: Changpeng Liu Date: Wed, 17 Aug 2016 14:17:17 +0800 Subject: [PATCH] nvme: disable the controller from generating INTx# interrupts Since we bind the NVMe device to UIO driver to protect against native NVMe driver, but for Admin queue, there are still INTx interrupts exist, as all the completion for Admin queue will be processed in user space, so we don't need INTx anymore. Change-Id: Ife5b3e410ae95690ed0f3f9a2f2dfaf55a7797b5 Signed-off-by: Changpeng Liu --- lib/nvme/nvme_ctrlr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/nvme/nvme_ctrlr.c b/lib/nvme/nvme_ctrlr.c index 7b458fcf0..2814be705 100644 --- a/lib/nvme/nvme_ctrlr.c +++ b/lib/nvme/nvme_ctrlr.c @@ -1094,9 +1094,9 @@ nvme_ctrlr_construct(struct spdk_nvme_ctrlr *ctrlr, void *devhandle) return status; } - /* Enable PCI busmaster. */ + /* Enable PCI busmaster and disable INTx */ nvme_pcicfg_read32(devhandle, &cmd_reg, 4); - cmd_reg |= 0x4; + cmd_reg |= 0x0404; nvme_pcicfg_write32(devhandle, cmd_reg, 4); cap.raw = nvme_mmio_read_8(ctrlr, cap.raw);