0f140a9c90
chore: remove useless fields from pcidev struct
2024-08-02 13:16:09 -04:00
7cc1601d90
add assertions to make sure submission and completion queue sizes are the same
2024-07-31 16:05:55 -04:00
a88a44c627
initialize command entries
2024-07-30 17:22:28 -04:00
c3901b163e
bug fixes
2024-07-30 14:38:53 -04:00
0d7f6b1c8f
misc: set vim syntax to fasm
2024-07-30 12:39:00 -04:00
bee583765f
disable MSI interrupts if present
2024-07-26 14:42:46 -04:00
0a2b3bfe9d
remove useless phase_tag field
2024-07-25 18:31:15 -04:00
a5c1920c0e
more bloat removal
2024-07-23 14:59:08 -04:00
39dcfd2edc
perf: remove some unneeded code bloat
2024-07-23 14:10:42 -04:00
0eea7a6130
refactor: tweak some things
...
First of all, the driver will now abort initialization if it encounters
the first found namespace LBADS is not 512, since KolibriOS doesn't
support a LBADS greater than 512 as of now.
This commit also removes verbose debug logs and adds appropriate error
codes to nvme_readwrite
2024-07-20 16:38:12 -04:00
b88c5185a7
fix: get correct physical address of PRP2
2024-07-18 15:17:27 -04:00
14f01df0f7
style: fix indentation
2024-07-05 17:11:51 -04:00
d4bb46c00b
some refactoring and fixes
2024-07-04 14:42:06 -04:00
5f2adab1ab
wip: read command
2024-07-01 17:10:36 -04:00
274a5681a2
more I/O command fixes
2024-06-27 18:31:51 -04:00
34ff6d786e
fix: initialize I/O queues correctly
2024-06-27 15:55:29 -04:00
5bc4a832f1
feat: add support for consuming completion queues entries from multiple queues
2024-06-27 15:19:32 -04:00
7bba4781fb
feat: implement disk registering code
2024-06-25 18:37:04 -04:00
43f29c791a
add num
field to each detected NVMe device
2024-06-25 15:44:04 -04:00
f612befee6
implement reporting on namespace info
2024-06-25 15:24:52 -04:00
603a48e351
refactor: change NVM_ASQS
to 63
2024-06-25 14:28:29 -04:00
8f806cfb6f
lots of refactoring
2024-06-24 16:55:29 -04:00
bb59692ca4
add nn
field to pcidev
struct
2024-06-22 14:42:30 -04:00
d6f62cc4f3
add nsids
field to pcidev
struct
2024-06-22 14:32:40 -04:00
528d469ab0
refactor: allocate sq_ptr/cq_ptr for each queue
2024-06-20 16:27:09 -04:00
2f07187623
fix fatal bugs in write_admin_cmd
and dont handle IRQs if they dont belong to the NVMe device
2024-06-20 15:55:32 -04:00
5974fc7fb0
feat: create I/O queues and fix other admin commands
2024-06-18 18:21:32 -04:00
3b1028b5dd
add code for freeing cid slots
2024-06-13 13:53:59 -04:00
9c1147b31d
fix admin commands and auto assign CIDS
2024-06-13 12:46:34 -04:00
5f43171b7e
add new fields and constants
2024-06-12 18:02:46 -04:00
8f67604ddf
lots of fixes
2024-06-12 15:47:32 -04:00
cc3e3f6ec4
refactor some stuff
2024-06-11 19:57:02 -04:00
83004aca87
add NVM_QUEUE
struct
2024-06-09 18:12:45 -04:00
482d186c1a
change pcidev.dstrd
to byte
2024-06-09 13:06:40 -04:00
bc3435ad09
add new fields to pcidev struct
2024-06-08 14:32:36 -04:00
81a102ad6a
chore: set to filetype to asm in vim
2024-06-08 12:25:46 -04:00
04f89899de
rename: LPI to LID
2024-06-06 14:25:24 -04:00
1444ffc605
add log page identifier constants
2024-06-06 14:22:32 -04:00
d5a4850be7
style: rename pcidev.mmio_ptr
to pcidev.io_addr
2024-06-06 14:00:10 -04:00
8b8dca1c05
add NSGRANLS struct and controller version constants
2024-06-06 13:28:02 -04:00
721fe6582f
add constants
2024-06-04 15:59:25 -04:00
2b9f8d7f37
feat: implement create_io_completion_queue
2024-06-04 14:44:06 -04:00
0da7af8254
change NVM_ASQS size
2024-06-03 14:14:36 -04:00
c462215a17
add ipin
and iline
fields to pcidev struct
2024-05-30 16:06:27 -04:00
97d9fc0c76
perf: add padding in pcidev
2024-05-29 19:28:41 -04:00
dd16f8428a
add dstrd field to pcidev struct
2024-05-29 15:42:03 -04:00
87983602bb
fix: field padding in structs
2024-05-29 13:49:49 -04:00
182f82e20d
add IDENTN data structure
2024-05-29 13:16:26 -04:00
739fa59206
fix: SQ_ENTRY field padding
2024-05-28 21:46:07 -04:00
b15fb4d9a2
fix IDENTC struct
2024-05-28 20:24:57 -04:00