Commit Graph

1183 Commits

Author SHA1 Message Date
bjorn3 e14e56349f pcid: Remove method to get the current feature status
Devices should never change the feature status behind the back of the
driver, so storing the current status after setting it is fine. Drivers
should reset all state when they start to recover from a crashed driver,
so they shouldn't need to get the current feature status at startup
either.
2024-06-10 19:44:12 +02:00
bjorn3 123eef9635 pcid: Move capability offset into the Capability enum
This makes it easier to move to using pci_types for parsing PCI
capabilities.
2024-06-10 19:44:12 +02:00
Jeremy Soller 1fba5f7505 Merge branch 'pcid_cleanup2' into 'master'
Split up pcid's main.rs and remove parsing for unused capabilities

See merge request redox-os/drivers!159
2024-06-10 17:43:35 +00:00
bjorn3 027d952c39 pcid: Remove parsing of unused capabilities
This will make it easier to switch to pci_types for capability parsing
in the future.
2024-06-09 20:38:46 +02:00
bjorn3 8f9bbecd0c pcid: Rustfmt main.rs 2024-06-09 20:38:46 +02:00
bjorn3 fd3cf79884 pcid: Move spawning and interacting with subdrivers out of main.rs 2024-06-09 20:38:46 +02:00
Jeremy Soller 59120be16a Merge branch 'pcid_cleanup' into 'master'
More pcid cleanups

See merge request redox-os/drivers!158
2024-06-09 18:10:48 +00:00
bjorn3 eb2e670cd6 pcid: Explain why PciBar is used instead of pcid_types::Bar 2024-06-09 18:53:19 +02:00
bjorn3 b04915673d pcid: Remove ConfigReader and ConfigWriter traits
Only PciFunc implements this trait.
2024-06-09 18:51:55 +02:00
bjorn3 d70cf080bb pcid: Remove with_pci_func_raw 2024-06-09 18:46:35 +02:00
bjorn3 9aed7d560e pcid: Merge CapabilityOffsetsIter into CapabilitiesIter 2024-06-09 18:21:50 +02:00
bjorn3 9d37d15827 pcid: Avoid duplicate read of vendor and device id 2024-06-09 18:14:52 +02:00
bjorn3 1593884938 pcid: Use capability_pointer method instead of a raw read 2024-06-09 18:14:49 +02:00
bjorn3 7f5a340c83 pcid: Remove cap_pointer from PciHeader::PciToPci
It is never used.
2024-06-09 18:14:46 +02:00
bjorn3 ba6b91d561 pcid: Move print_pci_function to a PciHeader method 2024-06-09 16:46:59 +02:00
Jeremy Soller 9bd0a8a0e5 Merge branch 'pci_types_update_interrupt' into 'master'
Use pci_types for setting the interrupt line

See merge request redox-os/drivers!157
2024-06-09 13:10:35 +00:00
bjorn3 4b384066f2 Use pci_types for setting the interrupt line 2024-06-09 15:05:47 +02:00
Jeremy Soller 43f5641285 Merge branch 'update_pci_types' into 'master'
Several pcid cleanups

See merge request redox-os/drivers!156
2024-06-09 12:11:50 +00:00
bjorn3 7ddae5fa03 pcid: Add fixme 2024-06-09 14:03:32 +02:00
bjorn3 3737a70cc1 pcid: Reduce visibility of server handle send/recv 2024-06-09 14:03:16 +02:00
bjorn3 6825d9b2ba pcid: Remove support for connecting to non-default server 2024-06-09 14:03:16 +02:00
bjorn3 785f53c70c pcid: Stop explicitly passing PciAddress to several functions
The PciHeader/PciEndpointHeader argument already contains the
PciAddress.
2024-06-09 14:03:13 +02:00
bjorn3 38a729bc76 Handle some stabilized rustc features 2024-06-09 14:03:13 +02:00
bjorn3 020a3ef631 pcid: Update to pci_types 0.9.0 2024-06-09 14:03:10 +02:00
Jeremy Soller ccfe5ece20 Update feature required for aarch64 yield 2024-05-11 14:16:08 -06:00
Jeremy Soller 67df958d11 Update to new nightly 2024-05-11 14:11:58 -06:00
Jeremy Soller 8caf28793e Implement USB HID scroll 2024-05-01 13:29:21 -06:00
Jeremy Soller fd973a1d7d xhcid: allow configuring multiple interfaces 2024-04-17 09:24:28 -06:00
Jeremy Soller 9ec71c6ba4 xhcid/usbhidd: build out USB HUB driver 2024-04-17 08:51:02 -06:00
Jeremy Soller 68d838650a Init usbhubd 2024-04-16 21:44:37 -06:00
Jeremy Soller f3dc1e0c7e xhcid: add hub descriptor and do not return error if driver not found 2024-04-16 21:26:47 -06:00
Jeremy Soller c0a4448c0b xhcid/usbhidd: remove extra set idle code, just use device request 2024-04-16 21:26:14 -06:00
Jeremy Soller 42f612bfda xhcid/usbhidd: WIP spawning drivers on all interfaces 2024-04-16 13:07:17 -06:00
Jeremy Soller 12c28e90fd usbhidd: do not log vendor defined events 2024-04-16 11:21:51 -06:00
Jeremy Soller 13ebe960dd xhcid: always use polling 2024-04-16 11:13:50 -06:00
Jeremy Soller 9069c64b87 xhcid: fixes for setting config and interface when CIC is false 2024-04-16 11:09:57 -06:00
Jeremy Soller 18eab7c0dc xhcid: always set CIE to match CIC 2024-04-16 11:09:38 -06:00
Jeremy Soller 667a8e42f9 xhcid: fix set_interface request type 2024-04-16 11:09:26 -06:00
Jeremy Soller 784575032f usbhidd: fix configuration request 2024-04-16 11:09:11 -06:00
Jeremy Soller a2c024c03e Add HID protocol and idle configuration to USB stack 2024-04-16 10:20:25 -06:00
Jeremy Soller ec4f2f594c xhcid: document arguments to trb.normal 2024-04-16 09:47:34 -06:00
Jeremy Soller 29b1c1aa0d xhcid: fix isoch and interrupt endpoint types being swapped 2024-04-16 09:13:44 -06:00
Jeremy Soller c85baf220e xhcid: add number to trb completion codes 2024-04-16 08:56:16 -06:00
Jeremy Soller bd09256991 usbhidd: find endpoint number 2024-04-16 08:55:55 -06:00
Jeremy Soller a3be1d88d4 usbhidd: dynamically locate config, interface, and alternate setting 2024-04-16 08:11:05 -06:00
Jeremy Soller 61e2ee224a xhcid: improve endpoint parsing 2024-04-16 08:10:32 -06:00
Jeremy Soller 806be9bdc6 xhcid: associate stalls on setup stage with transfers 2024-04-15 15:02:05 -06:00
Jeremy Soller 64fcd0a323 xhcid: ensure max packet size is set correctly before reading descriptors 2024-04-15 12:54:05 -06:00
Jeremy Soller 12bc7273bf xhcid: add more debugging 2024-04-12 11:25:15 -06:00
Jeremy Soller e070abc7cb Fix network device logging paths 2024-04-12 10:37:42 -06:00