gint/include/gint
Lephe af5c16a3d3
usb: massively improve writing logic
* Move logic around tracking transfers to asyncio.c.

* Add a "short buffer" holding 0-3 bytes between writes, so that the
  driver performs only 4-byte writes in the FIFO and a short write in
  the commit, if needed.
  - This is partially due to me thinking at some point that degrading
    writing size was impossible, but it might actually be possible by
    writing to FIFO/FIFO+2 or FIFO/FIFO+1/FIFO+2/FIFO+3.
  - In any case I think this new approach wins on performance.

* Get rid of unit_size since we now always use 4 bytes.

* Add a waiting function which is used in usb_close() (and once tested
  should be used in world switches too).

* Eliminate some of the special cases for the DCP, though not all (in
  particular I can't get the commit to rely on the BEMP interrupt yet,
  nor can I properly clear PID to NAK when unbinding).
2023-02-09 23:00:44 +01:00
..
defs defs: allow NULL callbacks in gint_call() 2023-01-31 16:04:35 +01:00
drivers usb: massively improve writing logic 2023-02-09 23:00:44 +01:00
mpu mmu: provide read-only access to ITLB 2023-02-02 14:23:03 +01:00
std std: move endian.h to fxlibc 2021-06-08 10:05:33 +02:00
bfile.h fs: add rename() function on fx-CG 2022-08-22 15:25:14 +02:00
clock.h cpg: add overclock save/restore functions 2023-01-05 20:25:44 +01:00
config.h.in usb: hide USB_LOG() behind a compile-time debug option 2022-11-29 20:03:03 +01:00
cpu.h cpu, dma: add interrupt-cancellable sleep (perfect async sleep) 2021-06-17 14:32:08 +02:00
display-cg.h minor API comment update 2022-09-07 23:25:57 +02:00
display-fx.h add C++ header guards 2021-06-13 18:13:09 +02:00
display.h render: add a window setting to restrict rendering 2022-11-19 17:19:28 +01:00
dma.h add C++ header guards 2021-06-13 18:13:09 +02:00
drivers.h add C++ header guards 2021-06-13 18:13:09 +02:00
exc.h add C++ header guards 2021-06-13 18:13:09 +02:00
fs.h reduce static RAM usage to maintain SH3 support 2022-10-09 18:15:12 +02:00
gint.h kernel: more detailed quit handler documentation 2022-11-27 22:57:50 +01:00
gray.h add C++ header guards 2021-06-13 18:13:09 +02:00
hardware.h Add isSlim() macro 2022-09-25 10:37:18 -07:00
image.h render: add a window setting to restrict rendering 2022-11-19 17:19:28 +01:00
intc.h add C++ header guards 2021-06-13 18:13:09 +02:00
keyboard.h Translate fx-9860G Slim keyboard scancodes to standard scancodes 2022-09-25 01:34:40 -07:00
keycodes.h Translate fx-9860G Slim keyboard scancodes to standard scancodes 2022-09-25 01:34:40 -07:00
kmalloc.h kmalloc: add kmalloc_max() function 2022-11-09 21:35:32 +01:00
mmu.h mmu: provide read-only access to ITLB 2023-02-02 14:23:03 +01:00
rtc.h fs: track offset of Fugue files manually 2022-01-06 14:05:52 +01:00
serial.h serial: add template header for future implementation 2022-12-10 15:27:38 +01:00
timer.h tmu: fix freeze when using sleep_us_spin() with interrupts on 2021-11-15 06:43:00 +01:00
usb-ff-bulk.h (minor) 2022-05-04 19:08:54 +01:00
usb.h usb: massively improve writing logic 2023-02-09 23:00:44 +01:00