Commit Graph

452 Commits

Author SHA1 Message Date
4lDO2 6c2f103841 WIP: Complete the NVME CQ reactor (doesn't compile yet) 2020-04-29 19:35:48 +02:00
4lDO2 d485176bd6 Improve startup interrupt initialization. 2020-04-27 15:59:06 +02:00
4lDO2 e6a46bb6a6 Begin with NVME MSI support. 2020-04-25 23:02:16 +02:00
4lDO2 4016b0c7b8 Fix failing pcid config parsing. 2020-04-23 15:35:44 +02:00
4lDO2 7b69d5b9b5 WIP: Use the enhanced pcid IPC. 2020-04-22 21:21:55 +02:00
4lDO2 07d4ae0e60 Recognize the AHCI-specific SATA PCI capability. 2020-04-22 18:52:51 +02:00
4lDO2 fe95c942ac Add pcid logging. 2020-04-22 18:27:43 +02:00
4lDO2 aea6e1b84c Improve xhcid logging. 2020-04-22 18:09:56 +02:00
4lDO2 85691b8f4e Fix xhcid. 2020-04-22 14:43:06 +02:00
4lDO2 cafee6ad7b Allow per-cpu IRQ allocation. 2020-04-22 13:43:53 +02:00
4lDO2 4f62888bb4 Various fixes. 2020-04-21 15:42:51 +02:00
4lDO2 afe9c88f37 Allow every settable MSI field to be set. 2020-04-21 15:42:51 +02:00
Jeremy Soller 1d3978c69f Merge branch 'ps2d' 2020-04-20 14:16:30 -06:00
Jeremy Soller 751f5490bd Disable vmmouse again, for performance 2020-04-20 13:00:34 -06:00
Jeremy Soller 5795a7a27d Merge branch 'pcie' into 'master'
Add support for reading the extended PCIe configuration space

See merge request redox-os/drivers!60
2020-04-20 18:42:48 +00:00
Jeremy Soller af039d9507 Support relative vmmouse mode, and use by default 2020-04-20 11:24:18 -06:00
Jeremy Soller 9150f7cc85 Use serio: from kernel 2020-04-20 11:23:29 -06:00
Jeremy Soller a6dbe788f6 Undo some changes 2020-04-20 11:23:15 -06:00
Jeremy Soller 255e5fcb68 WIP: ps2d interrupt fixes 2020-04-19 14:27:44 -06:00
4lDO2 cee5a39ccc Fix pcie memory destructor. 2020-04-19 17:32:45 +02:00
4lDO2 14206f0e5c Successfully read config space with PCIe MMIO*.
*to the extent where all the subdriver appear to function as normal.
2020-04-19 17:32:45 +02:00
4lDO2 31d5a95cf9 Add MCFG parsing for PCIe. 2020-04-19 17:32:45 +02:00
Jeremy Soller 55645674d3 Merge branch 'msi' into 'master'
Greatly improve xhcid by using real MSI-X irqs.

See merge request redox-os/drivers!59
2020-04-19 15:32:02 +00:00
4lDO2 da188109d4 Change the default log level to debug. 2020-04-19 17:11:08 +02:00
4lDO2 81afdb2750 Remove two todo comments. 2020-04-19 14:45:46 +02:00
4lDO2 57bde84edb usbscsid works again, AFAICT. 2020-04-19 14:45:46 +02:00
4lDO2 0e802e2085 Fix two deadlocks. 2020-04-19 14:45:46 +02:00
4lDO2 f4398854fc Add trace debug printlns for opening handles. 2020-04-19 14:45:46 +02:00
4lDO2 74c77412bf Replace all calls to [e]println with log macros. 2020-04-19 14:45:46 +02:00
4lDO2 80d3affa1c Enable xhci logging, powered by redox-log. 2020-04-19 14:45:46 +02:00
4lDO2 ae49a0ba30 Update chashmap version. 2020-04-19 14:45:46 +02:00
4lDO2 08616920d6 Get descriptor fetching working. 2020-04-19 14:45:46 +02:00
4lDO2 f3d2d3e2d1 Fix the IRQ reactor when doing subsequent cmds. 2020-04-19 14:45:46 +02:00
4lDO2 ddf71d48e6 Get the Enable Slot cmd working, asynchronously!
This is the first command that actually worked by calling the IRQ
reactor and then getting a response. While this may not be that much on
its own, it means the async/await model actually works in this context.

Now the major problem is getting rid of all the deadlocks, and later
remove block_on(future) in the Scheme impl, and instead go async with
future spawning instead.
2020-04-19 14:45:46 +02:00
4lDO2 e58245b280 Use an event queue in the IRQ reactor. 2020-04-19 14:45:46 +02:00
4lDO2 9e34ed3fbf It compiles! 2020-04-19 14:45:46 +02:00
4lDO2 078a929bfc Fix borrow checker errors, except SchemeMut::handle. 2020-04-19 14:45:46 +02:00
4lDO2 6791429cd2 Fix most high-level errors in xhcid. 2020-04-19 14:45:46 +02:00
4lDO2 bae238bbef Asyncify Xhci::execute_transfer. 2020-04-19 14:45:46 +02:00
4lDO2 443b160b6d Add internal locking to the Xhci struct. 2020-04-19 14:45:46 +02:00
4lDO2 cfc4d65d48 THE INTERRUPTS ARE GETTING GENERATED! 2020-04-19 14:45:46 +02:00
4lDO2 cb5a72fbc1 Successfully recognize (only one) MSI-X IRQ.
Somehow it only happens once though.
2020-04-19 14:45:46 +02:00
4lDO2 fa594155c9 Allow subdrivers to get the capability structs. 2020-04-19 14:45:46 +02:00
4lDO2 735c55f656 Rebase. 2020-04-19 14:45:46 +02:00
4lDO2 7536048ceb Parse some of the PCI capabilities, and setup IPC. 2020-04-19 14:45:46 +02:00
Jeremy Soller bd860de51e Temporarily disable qemu mouse integration 2020-04-18 11:24:05 -06:00
Jeremy Soller a24b73efcf nvmed: Simplify init logging 2020-03-29 19:56:37 -06:00
Jeremy Soller 2cac3cb752 nvmed: Fix partition offset check 2020-03-29 19:26:13 -06:00
Jeremy Soller a01f1c4c80 nvmed: fix block size conversion 2020-03-28 13:53:42 -06:00
Jeremy Soller 4fd8664deb pcid: Skip empty buses and devices 2020-03-28 13:35:50 -06:00