History log of /netbsd/sys/dev/ic/nvme.c (Results 51 – 67 of 67)
Revision Date Author Comments
# ec26851b 19-Oct-2016 jdolecek <jdolecek@NetBSD.org>

follow advice of spec and block interrupts via INTMS/INTMC for intx handler;
this also makes it possible to offload the actual interrupt processing to softintr
handler, similar as for MSI/MSI-X


# 1479aa82 18-Oct-2016 nonaka <nonaka@NetBSD.org>

fix a sync range size when number of bus_dma segment is greater than 2.


# d9c434c2 05-Oct-2016 nonaka <nonaka@NetBSD.org>

The maximum number of IO queue entries is hardware supported value.


# 24c93e40 27-Sep-2016 pgoyette <pgoyette@NetBSD.org>

Modularize the ld driver and all of its attachments. Ensure that all
parents are capable of rescan (or otherwise provide a means of attaching
children post-initialization).


# b39af5a4 20-Sep-2016 jdolecek <jdolecek@NetBSD.org>

cache flush call must wait for completion; cap wait to 60 seconds just in case
controller won't respond


# c02068e3 19-Sep-2016 jdolecek <jdolecek@NetBSD.org>

slightly optimize memory access - change struct nvme_queue so that the
struct dmamem members are allocated as part of it, instead of separate
kmem_alloc()s


# a1e4b0e3 19-Sep-2016 jdolecek <jdolecek@NetBSD.org>

on further thought, just remove the separately allocated nvme_ns_context
altogether and fold into nvme_ccb; allocating this separately just isn't useful


# 6299e0ef 19-Sep-2016 jdolecek <jdolecek@NetBSD.org>

comment tyop and KNF; pointed out by Nick


# 9b285462 18-Sep-2016 jdolecek <jdolecek@NetBSD.org>

fix several bugs, make nvme(4) MPSAFE by default and also bump default
number of ioq from 128 to 1024; tested with VirtualBox and QEMU

* remove NVME_INTMC/NVME_INTMS writes in hw intr handler as thi

fix several bugs, make nvme(4) MPSAFE by default and also bump default
number of ioq from 128 to 1024; tested with VirtualBox and QEMU

* remove NVME_INTMC/NVME_INTMS writes in hw intr handler as this is not MPSAFE,
fortunately they don't seem to be necessary; shaves two register writes
* need to use full mutex_enter() in nvme_q_complete(), to avoid small
race between one handler exiting the loop and another entering
* for MSI, handover the command result processing to softintr; unfortunately
can't easily do that for INTx interrupts as they require doorbell write
to deassert
* unlock/relock q->q_cq_mtx before calling ccb_done to avoid potential deadlocks
* make sure to destroy queue mutexes when destroying the queue (LOCKDEBUG)
* make ns ctx pool per-device, so that it's deallocated properly on module
unload
* handle ctx allocation failure in ld_nvme_dobio()
* remove splbio() calls in ld_nvme_dobio() and sync, the paths are exercised
only for dump/shutdown, and that already disables interrupts
* free the ns ctx in ld_nvme_biodone() before calling lddone() to avoid
memory starvation, as lddone() can trigger another i/o request
* be more careful with using PR_WAITOK, the paths are called from interrupt
context and there we can't wait

show more ...


# 66e48613 17-Sep-2016 jdolecek <jdolecek@NetBSD.org>

make nvme_dumpregs() compile on LP64 hosts

sprinkle some delays() and extra checks into attach code, so that it follows
more closely what FreeBSD driver does, and is easier to cross-check


# 7fd0fb8d 16-Sep-2016 jdolecek <jdolecek@NetBSD.org>

introduce optional timeout for the polled commands; currently 5 seconds for
queue creation/deletion, 10 seconds for controller/namespace identify,
and unlimited for cache sync and passthrough command

introduce optional timeout for the polled commands; currently 5 seconds for
queue creation/deletion, 10 seconds for controller/namespace identify,
and unlimited for cache sync and passthrough commands

this makes device attach error out instead of hanging the kernel when
the device fails to respond properly, such as under QEMU currently

show more ...


# 141e377d 16-Sep-2016 jdolecek <jdolecek@NetBSD.org>

make nvme_dumpregs() compile when NVME_DEBUG is defined


# 573e4474 08-Sep-2016 nonaka <nonaka@NetBSD.org>

Fix to cannnot be opened a nvme(4) namespace device file.


# 62da6200 08-Sep-2016 nonaka <nonaka@NetBSD.org>

fix off-by-one error in namespace id range check.


# 5bfc0c6c 04-Jun-2016 nonaka <nonaka@NetBSD.org>

Add NVMe command passthrough support.


# d591b4e8 02-May-2016 christos <christos@NetBSD.org>

move scsipi_strvis -> libkern:strnvisx()
change the prototype to match userland
fix sizes of strings passed to it


# 9f1b7ef7 01-May-2016 nonaka <nonaka@NetBSD.org>

Added nvme(4) for Non-Volatile Memory Host Controller Interface devices.
Ported from OpenBSD.


123