2
0
mirror of https://git.missingno.dev/kolibrios-nvme-driver/ synced 2024-12-23 06:18:47 +01:00
Commit Graph

108 Commits

Author SHA1 Message Date
2fc8e7f34e perf: remove unneeded timeout code in controller reset/startup
Due to a misunderstanding, I thought the spec stated that you have to
wait for a specified duration after CSTS.RDY changes, but in reality
it's just the timeout value. I've included the timeout on debug builds
anyway just so you can see the messages it prints to the board without
dissapearing instantly.
2024-06-21 14:22:22 -04:00
5b1f690ef2 refactor: allocate ring buffers for submission/completion queues 2024-06-21 14:17:18 -04:00
a1a24073c3 chore: remove write_admin_cmd 2024-06-21 13:54:40 -04:00
38b93a8240 refactor: fix sqytdbl_write and dont use write_admin_cmd for admin command submissions anymore 2024-06-21 13:49:05 -04:00
c6c6aea5ea feat: implement nvme_write and sqytdbl_write + add TODOS 2024-06-21 13:33:32 -04:00
6360db0733 fix: remove long delay after set features cmd
This also fixes the `nvme_cmd_wait` function.
2024-06-20 18:31:31 -04:00
ca5ccaa86b refactor(nvme_init): use separately allocated queue pointers instead of using dptr 2024-06-20 18:14:28 -04:00
0cb86ee2ab refactor(nvme_init): pass nullptr as parameter to set_features
Getting number of queues doesn't involve DPTR field in any way at all,
so no point in having it there.
2024-06-20 16:29:52 -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
b0f9e47c9b remove some debug messages 2024-06-19 13:50:54 -04:00
5974fc7fb0 feat: create I/O queues and fix other admin commands 2024-06-18 18:21:32 -04:00
abeaf82e38 feat: get set_features working and improve IRQ handler 2024-06-14 20:26:41 -04:00
f1caae2a8c refactor 2024-06-14 16:12:53 -04:00
2eb22ef14b fix IRQ, set_features, abort command bugs 2024-06-13 14:09:13 -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
544565bde9 wip: controller initialization 2024-06-12 18:03:01 -04:00
5f43171b7e add new fields and constants 2024-06-12 18:02:46 -04:00
569a11e64f add lib.asm 2024-06-12 18:02:32 -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
4e9a9cc8c2 more refactoring and fixes 2024-06-09 18:13:01 -04:00
83004aca87 add NVM_QUEUE struct 2024-06-09 18:12:45 -04:00
34bfcf8719 fix nvme_identify and irq_handler 2024-06-09 14:57:42 -04:00
dd3ebb1716 wip: add interrupt handling code 2024-06-09 13:07:01 -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
c177893309 apply some fixes for submitting admin commands 2024-06-08 14:32:25 -04:00
81a102ad6a chore: set to filetype to asm in vim 2024-06-08 12:25:46 -04:00
cec15b9114 add get_log_page (incomplete) 2024-06-08 12:25:29 -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
654b095d6f add assertions for nvme_identify and wip implementation of create_namespace 2024-06-06 13:28:31 -04:00
8b8dca1c05 add NSGRANLS struct and controller version constants 2024-06-06 13:28:02 -04:00
f4ded13c9a feat: implement set_features and abort 2024-06-06 12:43:57 -04:00
a693301a4c fix: set SQ_ENTRY.CDW0 to valid value in commands 2024-06-04 16:12:19 -04:00
c74cff54cb add set_cdw0 proc 2024-06-04 16:06:32 -04:00
721fe6582f add constants 2024-06-04 15:59:25 -04:00
786f696de8 feat: implement get_features 2024-06-04 15:43:12 -04:00
ee43919267 feat: implement delete_io_submission_queue and delete_io_completion_queue 2024-06-04 15:09:39 -04:00
021012d350 feat: implement create_io_submission_queue 2024-06-04 15:02:44 -04:00
2b9f8d7f37 feat: implement create_io_completion_queue 2024-06-04 14:44:06 -04:00
80eac9303c remove unused code and fix sqytdbl_write 2024-06-04 13:47:08 -04:00
4041563623 fix embarassing bugs 2024-06-03 16:49:42 -04:00
09aa423d8d fix: irq_handler 2024-06-03 14:28:35 -04:00
356350e593 wip: implement IRQ 2024-06-03 14:14:59 -04:00
0da7af8254 change NVM_ASQS size 2024-06-03 14:14:36 -04:00
7393da0eb5 wip: submit command support 2024-06-03 12:02:36 -04:00