From 027f0903decdc2b9c81b3b06e3b913e04b25db8f Mon Sep 17 00:00:00 2001 From: Matheus Date: Sun, 15 Oct 2023 20:58:36 -0300 Subject: [PATCH] nvme: change where pci stuff is initialised --- kernel-src/io/block/nvme.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/kernel-src/io/block/nvme.c b/kernel-src/io/block/nvme.c index 0cea3682..ca1c807d 100644 --- a/kernel-src/io/block/nvme.c +++ b/kernel-src/io/block/nvme.c @@ -597,6 +597,10 @@ static void initcontroller(pcienum_t *e) { volatile nvmebar0_t *bar0 = (volatile nvmebar0_t *)bar0p.address; __assert(bar0); + pci_setcommand(e, PCI_COMMAND_MMIO, 1); + pci_setcommand(e, PCI_COMMAND_IO, 0); + pci_setcommand(e, PCI_COMMAND_IRQDISABLE, 1); + int vmajor = VERSION_MAJOR(bar0->version); int vminor = VERSION_MINOR(bar0->version); int vpatch = VERSION_PATCH(bar0->version); @@ -618,9 +622,6 @@ static void initcontroller(pcienum_t *e) { printf("nvme: controller doesn't support the processor page size\n"); } - pci_setcommand(e, PCI_COMMAND_MMIO, 1); - pci_setcommand(e, PCI_COMMAND_IO, 0); - // enable interrupts size_t intcount;