lpc_ip3516: fix isochronous transfer scheduling
- Select one ISO service slot per transfer: the PTD uFrame field holds the
frame number in [7:3] (UM11126 Table 814), and the microframe goes in
uframe_active. The next slot keeps the endpoint's interval phase.
- Keep the ISO scheduling fields (S-mask, C-mask, split slot) per PTD and
restore them on every transfer, since the controller consumes them;
activate the PTD only afterwards. Each submission covers at most one
endpoint packet.
- FS endpoints behind a HS hub use split transactions with windows from the
shared best-effort allocator (hub_iso_split_slot()), keyed by the upstream
HS hub and port, also through an intervening FS hub. IN is limited to
564 bytes, OUT to 1023; split ISO intervals are limited to 16 ms and HS to
32 ms by the five frame bits the controller compares.
- audio_host builds for LPCXpresso55S28/S69. Host audio needs RHPORT_HOST=1
(IP3516); port 0 (OHCI) does not support ISO.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2 files changed