Commit Graph

444 Commits

Author SHA1 Message Date
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
Jeremy Soller 3dbf9ad3e7 Comment out XHCI interrupt message 2020-03-11 11:58:52 -06:00
Jeremy Soller f00a049439 Enable ahcid interrupts 2020-02-22 20:10:43 -07:00
Jeremy Soller c1b4292675 Improve ahcid interrupt handling 2020-02-22 19:46:28 -07:00
Jeremy Soller fc8cbe847b Merge branch 'usb' into 'master'
Add a fully functioning USB SCSI block device driver.

See merge request redox-os/drivers!58
2020-02-21 17:13:39 +00:00
4lDO2 3203a33498 REDOXFS WORKS (read-only) ON USB! 2020-02-21 16:45:35 +01:00
4lDO2 4072d5d282 Implement READ CAPACITY 10.
This allows the block count and block size to be determined when no
block descriptors in the mode sense data are returned.
2020-02-18 19:18:20 +01:00
4lDO2 fab13d6404 Fix get_mode_sense10 and some bbb error handling. 2020-02-16 21:27:41 +01:00
4lDO2 3c9527206f Add basic SCSI error handling. 2020-02-15 23:54:23 +01:00