Commit Graph

1363 Commits

Author SHA1 Message Date
bjorn3 374e5fbfab xhcid: Use redox-scheme 2025-03-13 17:00:54 +01:00
bjorn3 f2d3d16455 graphics/bgad: Use redox-scheme 2025-03-13 17:00:54 +01:00
bjorn3 09ef96ae80 graphics/drivers-graphics: Fix some comments and remove no longer necessary feature 2025-03-13 17:00:54 +01:00
Jeremy Soller 451480a3e0 xhcid: do not panic if unable to find configuration descriptor 2025-03-13 08:41:23 -06:00
Jeremy Soller f91f3926cf Merge branch 'fix_usb_harddrive' into 'master'
Bunch of improvements to usb storage

See merge request redox-os/drivers!250
2025-03-09 18:00:42 +00:00
bjorn3 674b8c6724 xhcid: Fix a bunch of things to make usb storage work
configuration_value is not an index into config_descs, so scan for a
config_desc with the right configuration_value instead. And fix get_desc
getting confused by companion descriptors.
2025-03-09 17:04:25 +01:00
bjorn3 258ea4e6a5 storage/usbscsid: Use the unified disk scheme implementation 2025-03-09 17:04:25 +01:00
bjorn3 9800c57133 storage/driver-block: Fix couple of error condition checks 2025-03-09 17:04:25 +01:00
Jeremy Soller 5c374ab4e2 Merge branch 'unify_disk_scheme_handling' into 'master'
Mostly unify disk scheme implementations

See merge request redox-os/drivers!249
2025-03-08 22:45:40 +00:00
bjorn3 269fd9abc0 storage/lived: Use the unified disk scheme implementation 2025-03-08 22:52:36 +01:00
bjorn3 865ca86666 storage: Mostly unify disk scheme implementations
lived and usbscsid still keep their old scheme implementations.
2025-03-08 13:06:31 +01:00
bjorn3 c68a50faf2 storage: Move irq methods out of the scheme structs 2025-03-08 12:38:14 +01:00
Jeremy Soller 4a0b0bdf14 Merge branch 'storage_cleanup' into 'master'
Deduplicate a fair bit of code between block device drivers

See merge request redox-os/drivers!248
2025-03-08 01:36:49 +00:00
bjorn3 60a141b51c storage: Move most partition handling into DiskWrapper 2025-03-07 22:49:22 +01:00
bjorn3 b1dcda4cf7 storage/nvmed: Use DiskWrapper 2025-03-07 22:35:01 +01:00
bjorn3 371e8c0326 storage/virtio-blkd: Use DiskWrapper 2025-03-07 22:22:21 +01:00
bjorn3 9d27fad3d5 storage/driver-block: Make DiskWrapper generic over the disk type
This allows it to contain non-'static disks.
2025-03-07 22:22:21 +01:00
bjorn3 d0a7aed2fd storage/virtio-blk: Introduce VirtioDisk type 2025-03-07 22:22:20 +01:00
bjorn3 dfe23b0683 storage/driver-block: Make Disk::block_length infallible
It should be read when creating the struct implementing Disk and every
disk needs to have some block length.
2025-03-07 21:35:49 +01:00
bjorn3 f01a8c8d3e storage: Use DiskWrapper::pt in nvmed and virtio-blkd 2025-03-07 20:58:01 +01:00
bjorn3 ebdfc89e7a storage/nvmed: Pass NvmeNamespace by value and remove the separate nsid arguments 2025-03-07 20:46:33 +01:00
bjorn3 aacf09cef4 storage/driver-block: Remove id method from Disk trait 2025-03-07 20:42:41 +01:00
bjorn3 03329430b4 storage/driver-block: Handle block_read read buffer internally 2025-03-07 20:34:33 +01:00
Jeremy Soller 2fc0008db0 Merge branch 'partitionlib_improvements' into 'master'
Vendor and cleanup partitionlib

See merge request redox-os/drivers!247
2025-03-07 01:51:31 +00:00
Jeremy Soller b4d82c82bf Merge branch 'graphics_driver_api_refactor' into 'master'
A bunch of improvements to the graphics subsystem

See merge request redox-os/drivers!246
2025-03-07 01:50:35 +00:00
bjorn3 9257cbbfa2 storage/partitionlib: Couple of cleanups 2025-03-06 22:48:10 +01:00
bjorn3 398103e710 storage/partitionlib: Rustfmt 2025-03-06 22:18:21 +01:00
bjorn3 f6c3be42e7 storage: Vendor partitionlib to make it easier to change 2025-03-06 22:18:08 +01:00
bjorn3 be5b865058 graphics: Rename resource to framebuffer
This matches the Linux DRM name.
2025-03-06 21:41:26 +01:00
bjorn3 92295f2ea4 graphics/graphics-ipc: Use u32 fields in Damage
The fields should never be negative and this saves a couple of casts.
2025-03-06 20:49:21 +01:00
bjorn3 ee3382aed0 graphics/virtio-gpud: Add helper to submit a fenced request
This is necessary for implementing hardware cursor support.
2025-03-06 20:49:20 +01:00
bjorn3 fc92f0b0ce graphics: Rename the legacy graphics API to the v1 graphics API
It is quite likely that the next graphics API won't be the last one and
as such would become a legacy API too. Consistently using version
numbers makes it easier to refer to the exact version you mean.
2025-03-06 20:49:20 +01:00
bjorn3 972e19e900 graphics: Always pass damage to graphics drivers
This way the drivers don't have to special case switching between VTs.
2025-03-06 20:49:17 +01:00
bjorn3 88cfa76e2c graphics: Merge set_scanout and flush_resource into update_plane
The old api was pretty virtio-gpu specific. The new api is closed to how
atomic mode setting on Linux works.
2025-03-06 20:48:41 +01:00
Jeremy Soller b17933f382 Merge branch 'fmt_all' into 'master'
Format all packages in fmt.sh

See merge request redox-os/drivers!245
2025-03-03 17:44:21 +00:00
Jeremy Soller 2b014e1330 Merge branch 'vt_to_go' into 'master'
Implicitly create a new VT for each consumer

See merge request redox-os/drivers!244
2025-03-03 17:42:10 +00:00
bjorn3 f26fdd7592 Format all packages in fmt.sh 2025-03-02 22:00:36 +01:00
bjorn3 e9d8d7ceaf Implicitly create a new VT for each consumer
Instead of requiring the graphics driver to create a fixed set of VTs in
advance. This fixes the graphical interface when there is a graphics
driver but no boot framebuffer. Previously in that case vesad would exit
before it creates any VT and thus no consumer could show anything as
their VT was missing. In the future creating new VTs on the fly could
also allow a display manager to use a separate VT for each user session.
2025-03-02 20:28:34 +01:00
Jeremy Soller 2e82009412 Merge branch 'centralize_error_handling' into 'master'
Make all pcid_interface methods abort the process on errors

See merge request redox-os/drivers!242
2025-03-02 18:45:17 +00:00
Jeremy Soller f9bbabf431 Merge branch 'inputd_improvements' into 'master'
A whole bunch of inputd improvements

See merge request redox-os/drivers!243
2025-03-02 18:44:47 +00:00
bjorn3 39dd9118c0 graphics/fbcond: Handle missing graphics driver at startup 2025-03-02 19:19:08 +01:00
bjorn3 67e9f29804 inputd: switch_vt is infallible 2025-03-02 18:57:10 +01:00
bjorn3 085a6e32c6 inputd: Unify early and non-early handle opening 2025-03-02 17:37:14 +01:00
bjorn3 f8972400ee inputd: Move handoff logic to fn open 2025-03-02 17:36:41 +01:00
bjorn3 ec442b87a3 inputd: Use a single global display rather than have a per-vt display selection 2025-03-02 17:24:37 +01:00
bjorn3 cd193f2aed inputd: Unconditionally perform handoff for all vts together
In preparation for having a single set of graphics drivers for all vts.
2025-03-02 17:24:18 +01:00
bjorn3 a0a8401e8d inputd: Inline a couple of functions 2025-03-02 16:33:39 +01:00
bjorn3 de0239d3ed inputd: Automatically switch to first vt once created 2025-03-02 16:33:39 +01:00
bjorn3 9779d1884e inputd: Remove the active vt check before post_fevent
No input is added to pending anyway when the vt for the consumer isn't
the active vt anyway.
2025-03-02 16:33:38 +01:00
bjorn3 e7fe3183b0 Make all pcid_interface methods abort the process on errors
Effectively the only way to recover from errors in the communication
with pcid is by restarting the driver from scratch possibly after
restarting pcid. As such moving the aborts from individual drivers to
pcid_interface simplifies drivers while at the same time allowing nicer
error messages.
2025-03-02 12:36:35 +01:00