Commit Graph

71 Commits

Author SHA1 Message Date
HiFiPhile
eed294fbb5 audio: move ISO transfers into xfer_isr
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-06-14 22:46:51 +02:00
HiFiPhile
dc0038f614 uac2: remove support fifo
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-05-29 13:56:46 +02:00
HiFiPhile
f2ed60e9fc Update audio class with dcache support.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2024-11-30 21:49:33 +01:00
HiFiPhile
0e907b49c9 Add callback to to set feedback format correction at runtime. 2024-05-08 23:17:56 +02:00
HiFiPhile
ab539895a5 Reorganize feedback documentation. 2024-05-08 23:08:47 +02:00
HiFiPhile
73d61fa2b8 Migrate to weak default implementation. 2024-05-08 21:03:49 +02:00
HiFiPhile
1b66c148cc UAC2: Implement feedback by fifo counting. 2024-04-26 20:06:19 +02:00
hathach
c3c0648456 add class driver deinit 2024-04-08 22:07:56 +07:00
HiFiPhile
05f9cab191 UAC2: refactor interrupt endpoint support. 2024-04-01 20:02:35 +02:00
HiFiPhile
a1f01fcbe0 Merge remote-tracking branch 'upstream/master' into pr/1702 2024-04-01 12:35:57 +02:00
HiFiPhile
0a1d6cf4d0 Read sample rate directly from control transfer to eliminate callback. 2023-10-17 13:06:55 +02:00
HiFiPhile
656e1e416a Add flow control for IN transfer. 2023-10-17 09:46:01 +02:00
hathach
3623ba1884 fix trailing space and new line
temporarily disable codespell
2023-03-17 16:12:49 +07:00
Mark K Cowan
9673d20901 PanRe refactor applied: s{_int_ctr_}{_int_}g; s{_INT_CTR_}{_INT_}g; 2022-10-26 21:43:27 +03:00
Mark K Cowan
025d3477e8 fixed spec reference 2022-10-24 20:41:09 +03:00
Mark K Cowan
f931983469 UAC2 supports interrupt-endpoint for providing control-change notifications to the host 2022-10-23 13:38:24 +03:00
hathach
06392247eb add TU_ATTR_FAST_FUNC for audio sof isr call chain 2022-06-07 11:50:50 +07:00
hathach
f2926670cc comment out fifo count method for now 2022-05-31 20:26:37 +07:00
hathach
dce2ad4ffb adding feedback fifo count (WIP) 2022-05-27 23:11:25 +07:00
hathach
15aa593790 wrap feedback and compute to its own struct/union 2022-05-27 12:27:31 +07:00
hathach
e5113a1cfc prototype for feedback method 2022-05-19 16:05:55 +07:00
hathach
5766c9ac4e rename tud_audio_sof_isr() to tud_audio_feedback_interval_isr()
- also add interval_log2 to isr callback
- also rename other variables
2022-05-19 13:44:10 +07:00
hathach
20b810d25b fix ci build 2022-05-13 23:01:06 +07:00
hathach
c5ba1ea8c1 changes proposal to audio feedback computation 2022-05-13 22:54:47 +07:00
Reinhard Panhuber
7094ff7125 Introduce 3 fb calc options: NO_SOF_BY_USER, SOF_BY_AUDIO_D, SOF_BY_USER 2022-04-09 16:36:26 +02:00
Reinhard Panhuber
5cd67baf15 Disable SOF ISR feedback calcuation by default s.t. examples still work 2022-03-20 12:57:53 +01:00
Reinhard Panhuber
ff2dc0a547 Streamline feedback calc, find fb interval from descriptors, inc. checks 2022-03-20 11:21:33 +01:00
Reinhard Panhuber
fdfde8883f Implement power of two, shift, and float calculation 2022-03-19 13:37:54 +01:00
Reinhard Panhuber
ceac9d64c0 Disable CFG_TUD_AUDIO_ENABLE_FEEDBACK_DETERMINATION_WITHIN_SOF_ISR
By default disable
CFG_TUD_AUDIO_ENABLE_FEEDBACK_DETERMINATION_WITHIN_SOF_ISR such that
current examples still work.
2022-03-16 08:05:31 +01:00
Reinhard Panhuber
f212899b54 Add SOF callback function for feedback value determination in uac - wip! 2022-03-14 20:40:33 +01:00
Valentin Milea
a284e438f1 Disable feedback format correction by default #1234 2022-01-07 15:02:52 +02:00
Valentin Milea
ef879e8a8a Support disabling feedback format correction #1234 2021-12-06 18:49:58 +02:00
hathach
9736e54734 include clean up 2021-05-27 17:40:39 +07:00
hathach
c9177246d2 temporarily fix include recusrive loop 2021-04-28 12:31:24 +07:00
Reinhard Panhuber
4dd1f1f3b5 Fix include path in audio_device.h 2021-04-23 10:32:22 +02:00
Reinhard Panhuber
03f974c9b9 Implement functions to allow for DMA usage in audio driver.
- Add tud_audio_n_get_ep_out_ff(), tud_audio_n_get_ep_in_ff(),
tud_audio_n_get_rx_support_ff(), and tud_audio_n_get_tx_support_ff()
- Change get_linear_read/write_info() to return linear and wrapped part
at once
- Adjusted affected code in audio_device.c and tested with
audio_4_channel.
2021-04-23 10:27:48 +02:00
Reinhard Panhuber
29bcc83d0f Remove unnecessary volatile and short audio function index to func_id 2021-04-21 17:01:38 +02:00
Reinhard Panhuber
c7c11b181c Clean up old depracted and misleading variable names 2021-04-20 20:15:02 +02:00
Reinhard Panhuber
8eacdffebd Optimize encode/decode - refactor unnecessary repetitive division 2021-04-07 20:07:28 +02:00
hathach
58bab86d79 minor clean up 2021-04-06 21:09:23 +07:00
Reinhard Panhuber
ec6b240de2 Fix #define error in audio_device.h 2021-04-03 15:44:44 +02:00
Reinhard Panhuber
6236effb14 Fix #define error in audio_device.h 2021-04-03 15:29:39 +02:00
Reinhard Panhuber
8b90c08b35 Fix #define errors in audio_device.h 2021-04-03 15:24:38 +02:00
Reinhard Panhuber
9b2ddd9cc6 Generalize audio driver for 3 audio functions plus a lot more.
- Audio format and parameters are parsed from descriptors thus user no
longer needs to give them explicitely

- Tested for 4 channel software type I PCM encoding with 16 bit with 1
channel per FIFO and 2 channels per FIFO (this is I2S specific)
2021-04-03 09:49:27 +02:00
Reinhard Panhuber
d5a5a1cab6 Implement audio PCM type I enc./decoding acc. to 2.3.1.5 Audio Streams
Extending capabilities of support FIFOs
Removing copy from to FIFO
Adjusting audio examples
Remove peek/read into other FIFO
2021-03-10 19:32:13 +01:00
Reinhard Panhuber
8ec99694d2 audio_decive clean up and bootstrapping of linear (formerly evade) buff. 2021-03-01 09:09:15 +01:00
Reinhard Panhuber
c098da9803 Implement left and right justifications for 24 to 32 bit PCM encoding 2021-02-18 19:25:08 +01:00
Reinhard Panhuber
9e2a1d2e6a Fix CFG_TUD_AUDIO_EP_IN/OUT_SW_BUFFER_SIZE to be defined anyway 2021-02-12 18:31:54 +01:00
Reinhard Panhuber
185414721f Formating 2021-02-12 18:04:45 +01:00
Reinhard Panhuber
a9fd0a454a Complete redesign of audio driver. 2021-02-12 16:28:41 +01:00