summaryrefslogtreecommitdiffstats
path: root/firmware/target/arm/imx233/pcm-imx233.c
AgeCommit message (Collapse)AuthorFilesLines
2021-07-25Fix yellow from e532714d1fAidan MacDonald1-1/+0
Change-Id: I4f49e93fc1efa78874fb76de6a436ad1fc894cc5
2021-07-25pcm: Remove unused function pcm_play_dma_get_peak_buffer()Aidan MacDonald1-11/+0
Change-Id: Ifd20fb14a22489cdb99154c01f69809a1e70d0c5
2020-11-12pcm: Further cleanup of unused bits of the PCM ACPI:Solomon Peachy1-6/+0
* pcm_get_bytes_remaining() * pcm_calculate_peaks() * pcm_get_peak_buffer() Nothing in-tree uses these at all (except for the lua plugin wrapper) Change-Id: I971b7beed6760250c8b1ce58f401a601e1e2d585
2020-10-31pcm: Get rid of pcm_play_pause() and associated APIsSolomon Peachy1-6/+0
Nothing in the core has used it for some time. It's exported to the plugin API but the last plugins to use it were switched to the mixer API back in 2011. This allows us to get rid of pcm_play_dma_pause() from all audio drivers Change-Id: Ic3fa02592316f84963e41d792d1cabb436d1ff6b
2016-05-28imx233: generate register headers using headergen_v2 and update code for itAmaury Pouly1-2/+2
NOTE: this commit does not introduce any change, ideally even the binary should be almost the same. I checked the disassembly by hand and there are only a few differences here and there, mostly the compiler decides to compile very close expressions slightly differently. I tried to run the new code on several targets to make sure and saw no difference. The major syntax changes of the new headers are as follows: - BF_{WR,SET,CLR} are now superpowerful and allows to set several fileds at once: BF_WR(reg, field1(value1), field2(value2), ...) - BF_CS (use like BF_WR) does a write to reg_CLR and then reg_SET instead of RMW - there is no more need for macros like BF_{WR_,SET,CLR}_V, since one can simply BF_WR with field_V(name) - the old BF_SETV macro has no trivial equivalent and is replaced with its its equivalent for BF_WR(reg_SET, ...) I also rename the register headers: "regs/regs-x.h" -> "regs/x.h" to avoid the redundant "regs". Final note: the registers were generated using the following command: ./headergen_v2 -g imx -o ../../firmware/target/arm/imx233/regs/ desc/regs-stmp3{600,700,780}.xml Change-Id: I7485e8b4315a0929a8edb63e7fa1edcaa54b1edc
2014-02-10imx233: increase audio DAC IRQ priorityAmaury Pouly1-0/+1
This should hopefully fix some audio glitches Change-Id: Ic9701d281e7559c9d93fcb8dad9373caaad9bfb6
2013-09-07imx233: fix red when target cannot recordAmaury Pouly1-1/+2
Change-Id: Ia5f6b290da2f645021ef8becdfbac7436407ec0b
2013-06-18imx233: implement recording side of pcmAmaury Pouly1-27/+172
Although everything is implemented, recording still doesn't work, dma is stuck. Add code for reference until this get a proper fix. Change-Id: Ifc016b00876230c6d337a5cd4f8bb90b856efac8
2013-06-16imx233: rewrite dma using new register headersAmaury Pouly1-4/+2
Change-Id: If73b84d9c9f4a152a54fb9d2dbec895e72d2e753
2012-08-18imx233: fix styleAmaury Pouly1-1/+1
Change-Id: I45813d1f34aff74c6b88c84bae6c0feeb4422ed7
2012-05-20imx233: make sure dma descriptors are cache friendlyAmaury Pouly1-5/+14
Because DMA descriptors needs to be committed and discarded from the cache, if they are not cache aligned and/or if their size is not a multiple of cache ligne, nasty side effects could occur with adjacents data. The same applies to DMA buffers which are still potentially broken. Add a macro to ensure that these constraints will not break by error in the future. Change-Id: I1dd69a5a9c29796c156d953eaa57c0d281e79846
2012-05-19imx233: move icoll stuff to its own fileAmaury Pouly1-2/+2
The icoll code now has an IRQ storm detection mechanism which will prevent the device from hard freezing in case it happen. Change-Id: I9861238dce61d29af1e48f9c534ec63a7f23465c
2012-03-03Revise the PCM callback system after adding multichannel audio.Michael Sevakis1-5/+4
Additional status callback is added to pcm_play/rec_data instead of using a special function to set it. Status includes DMA error reporting to the status callback. Playback and recording callback become more alike except playback uses "const void **addr" (because the data should not be altered) and recording uses "void **addr". "const" is put in place throughout where appropriate. Most changes are fairly trivial. One that should be checked in particular because it isn't so much is telechips, if anyone cares to bother. PP5002 is not so trivial either but that tested as working. Change-Id: I4928d69b3b3be7fb93e259f81635232df9bd1df2 Reviewed-on: http://gerrit.rockbox.org/166 Reviewed-by: Michael Sevakis <jethead71@rockbox.org> Tested-by: Michael Sevakis <jethead71@rockbox.org>
2012-02-05imx233: add audioin init code, add adc dma interrupts, fix register definesAmaury Pouly1-0/+4
Change-Id: I204afbd3390f8dcde6ea1315ea6aa8dde12d3749
2012-01-02imx233: add AUDIOIN registers, cosmeticsAmaury Pouly1-2/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31519 a1c6a512-1295-4272-9138-f99709370657
2011-10-18imx233/fuze+: implement pcm out and audio codec, update SOURCESAmaury Pouly1-8/+64
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30800 a1c6a512-1295-4272-9138-f99709370657
2011-09-13imx233/fuze+: implement various audio stubs and update sourceAmaury Pouly1-0/+114
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30535 a1c6a512-1295-4272-9138-f99709370657