1. a2b6703 Commit FS#12150 - Fully-functional audio mixer - and finally whip old limitations about playback of voice and other sounds when paused. Channels are independent in state and amplitude. Fade on stop/pause is handled by the channel's volume control rather than global volume which means it now works from anywhere. Opens up the possibility of plugin sounds during music playback by merely adding an additional channel enum. If any PCM drivers were not properly modified, see one of the last comments in the task for a description of the simple change that is expected. Some params are tunable in firmware/export/pcm-mixer.h as well. by Michael Sevakis · 13 years ago
  2. 71c9521 pcm-pp: revert r26756 by Rafaël Carré · 14 years ago
  3. 45c7498 FS#11335 by me: make ARM assembly functions thumb-friendly by Rafaël Carré · 14 years ago
  4. d569998 Make PCM->driver interface about as simple as it will get. Registered callback, zero data, alignment and stops are handled entirely inside pcm.c; driver merely calls fixed pcm.c callback. Remove pcm_record_more and do it just like playback; the original reason behind it isn't very practical in general. Everything checks out on supported targets. There wer some compat changes I can't check out on many unsupoorted but if there's a problem it will be a minor oops. Plugins become incompatible due to recording tweak-- full update. Sorted API. by Michael Sevakis · 14 years ago
  5. cc7457e Fix r25970 red and yellow *and* a bug uncovered for pp5002 where pcm_play_dma_start wasn't actually initializing the dma_play_data with the first buffer info (must've happened during pp502x DMA conversion). by Michael Sevakis · 14 years ago
  6. 4d04132 PCM bottom layer simplification. pcm_rec_peak_addr variable no longer has to be handled there. Driver can just return current pointer for recording peaks. A new define, HAVE_PCM_REC_DMA_ADDRESS, specifies that physical addresses are being used for recording and translation is needed before starting a new block. The drivers need not worry about aligning start and size nor should care if either will be zero. All this will be checked in the logical layer first. by Michael Sevakis · 14 years ago
  7. 44c15ee Fix FS#9949 - Song not playing, noise instead. Stale code was left from before transferring in segments and one calculation was just wrong for limiting trasfer size. Make buffer aligning consistent, change <= 0 on size_t variable to == 0 and remove pointless limit on overall buffer size. by Michael Sevakis · 16 years ago
  8. b1dccc4 PP502x: Improve accuracy of header file. It looks as though DMA channels share the same interrupt enable (tested that 0 and 2 do at least). by Michael Sevakis · 16 years ago
  9. 6c399b8 Use DMA for audio playback on PP502x (FS#9910 + some further mods). I can't say at this point about any change in battery life but it frees up a percent or two of CPU cycles as measured in the buffering screen. No change in recording transfers yet. Testing seemed to check out so put it out for general use and see what happens. by Michael Sevakis · 16 years ago
  10. b6e78ac Get rid of some pcm_apply_settings cruft at the low level I somehow missed. Move the ones in pcm.c around to better spots. Remove a variable from pcm-pnx0101.c that should no longer be there. by Michael Sevakis · 16 years ago
  11. e69d567 Bring consistency to pcm implementation and samplerate handling. Less low-level duplication. A small test_sampr fix so it works on coldfire again. by Michael Sevakis · 16 years ago
  12. 2e8266d Fix a PortalPlayer PCM bug that made keyclick malfunction. Should fix FS#8836. Move FIQ banked register init out of crt0-pp.S and into pcm-pp.c to keep setups local to PCM driver. by Michael Sevakis · 16 years ago
  13. ea929a3 Have drivers merged for WM8711/21/31 since they are so similar but respect all register differences between codecs. Change minis to #define the actual codec type. If anything breaks check if OSCPD and CLKOUTPD need to be clear for the target- H10 is fine. A nice naming convention suggestion for WM codec multidrivers would be welcome rather than naming for a specific chip. by Michael Sevakis · 16 years ago
  14. 888451f Get rid of remaining audiohw_enable_output style codec setup and use pre/post split initialization. Move some SoC-specific code like i2s_reset out of the codec drivers. Helps to unify drivers and it was only ever used to enable. I cannot possibly test everything so report (I'll be on call ;) or fix problems if any crop up. by Michael Sevakis · 16 years ago
  15. 3511d94 Add register bit defines for as3514 and clean stuff up. Reduce poppiness at startup and shutdown (and even powerup for e200). Really, I can't honestly say it will help anything but an e200v1 but I'm sick of the noises. ;) by Michael Sevakis · 16 years ago
  16. 66f5eec Fix samplerate setting for mini 1g/2g by Peter D'Hoye · 16 years ago
  17. b297eb9 Codepolice: the patch I accepted contained some tabs. Oops by Peter D'Hoye · 16 years ago
  18. 11ef4ce Accept FS #9394 by Christian Lees and extend it to all PP targets with a WM8731: More samplerates for playback and recording. Only tested on H10 but should work on the others too. by Peter D'Hoye · 16 years ago
  19. 6938083 iPod Video: Fix playback after recording (FS #7402). Implement recording gain adjustment. * Enable timeout for zero-crossing detection (SLOWCLK), avoids hanging volume/ gain due to DC offsets. by Jens Arnold · 16 years ago
  20. 3656382 iPod G4, Color/Photo and Nano audio driver rework: Fix playback after recording (FS #7402). Implement recording gain adjustment. * Fix slightly off Bass/Treble scale. by Jens Arnold · 16 years ago
  21. 2acc0ac Updated our source code header to explicitly mention that we are GPL v2 or by Daniel Stenberg · 16 years ago
  22. a5d3029 Update source files to include the header file for the functions they implement, to make sure the header and the implementation is consistent (and fix it for a case where it wasn't). by Bertrik Sikken · 16 years ago
  23. a73b13c Fix ticking noise on PP5002 introduced with tthe transfer optimisation in r17097. by Jens Arnold · 16 years ago
  24. b90a766 ASM optimization for fiq_playback(). Saves about 0.4MHz of CPU while playback on PP502x/PP5002. by Andree Buschmann · 16 years ago
  25. 0509914 Enable nocache sections using the linker. PP5022/4 must use SW_CORELOCK now with shared variables in DRAM (it seems swp(b) is at least partially broken on all PP or I'm doing something very wrong here :\). For core-shared data use SHAREDBSS/DATA_ATTR. NOCACHEBSS/DATA_ATTR is available whether or not single core is forced for static peripheral-DMA buffer allocation without use of the UNCACHED_ADDR macro in code and is likely useful on a non-PP target with a data cache (although not actually enabled in config.h and the .lds's in this commit). by Michael Sevakis · 17 years ago
  26. af395f4 Do core interrupt masking in a less general fashion and save some instructions to decrease size and speed things up a little bit. Small fix to a few places where interrupts would get enabled again where they shouldn't have been (context switching calls when disabled). by Michael Sevakis · 17 years ago
  27. 47cfed1 audio on the m:robe 100 by Robert Kukla · 17 years ago
  28. 782aae4 Finish the conversion to packed i2s for PP502x. Karl Kurbjun-approved for Mini-1G. Simplify the pcm format selection #ifdefs. by Michael Sevakis · 17 years ago
  29. 1092edf Packed I2S for ipod Color (tested) and ipod 4G (untested, but assumed to be the same as the Color - everything else is). by Dave Chapman · 17 years ago
  30. 6c98c8c Packed I2S for iPod Mini G2. by Jens Arnold · 17 years ago
  31. 8500f48 FS #7917 by Andree Buschmann. Packed I2S also for Ipod Video. by Thom Johansen · 17 years ago
  32. 3fd073e Unbloat the PCM changes on PortalPlayer by Michael Sevakis · 17 years ago
  33. eb1e35f Make Ipod Nano use packed 16 bit IIS FIFO transfers as well. by Thom Johansen · 17 years ago
  34. 4512f1a Finally get packed samples to work in a nice way on H10 in IIS mode. Add some more register defs. by Michael Sevakis · 17 years ago
  35. 856ca78 Use halfword IIS FIFO mode for H10. Won't save interrupts but seems it should be the DMA compatible mode. Setup pcm-pp.c to ease evaluating setting up PortalPlayer targets for DMA audio and for building an inventory of proper I2S settings and transfer sizes for all. by Michael Sevakis · 17 years ago
  36. 6077e5b Unify PCM interface just above the hardware driver level for all targets including the sims. Perform lockout of audio callback when changing states. Weird new playback or recording trouble? Check before and after this revision first though things seem quite sound. by Michael Sevakis · 17 years ago
  37. 84d28e8 Fix up the recording monitoring for e200 and I expect for c200 as well whenever recording is enabled there. by Michael Sevakis · 17 years ago
  38. 4748dc3 Fix a little bug I introduced earier than can cause i2s to fail to start with voice running on pp5020. by Michael Sevakis · 17 years ago
  39. 15b7321 Split wm8731 and wm8721 drivers. wm8721 can be much simpler since it has no recording. Provide reg bit definitions for those. Add some temporary hacks pcm-pp to prevent crashing when playing after recording. Make playback start after recording on pp5020. Get wm8731 to monitor recording but plans are to do that digitally. by Michael Sevakis · 17 years ago
  40. 31cf7e9 Reenable scaling on Sansa since a reasonable solution to clicks has been found. by Michael Sevakis · 17 years ago
  41. 7785d69 Temporary fix for FS#7257 and FS#7261 - playback resumes while paused when seeking by Robert Keevil · 17 years ago
  42. fe23dc8 Improved CPU clock setup for PP502x. PP5020 and PP5022 are not register compatible here, so define the PP5022 targets properly, and introduce a CPU_PP502x macro for easier family check. Improves stability on PP5020 (less freezing, tested with Mini G1) and reduces clock change penalty (500us on PP5020; uses the relock bit on PP5022). by Jens Arnold · 17 years ago
  43. 21a4a87 Accept FS#7178 - Sansa e200 FM tuner support by Ivan Zupan. Do the needed integration work into recording and the AS3514 audio driver. Do a little AS3514 fiq_record tweak to have it all work nicely from the start. by Michael Sevakis · 17 years ago
  44. bcb8a88 e200: Add recording. Just from MIC right now and FM integration will happen soon. Most every bit of weirdness is nescessary and no problems seem to exist that the retailos doesn't exhibit too (namely noise when LCD is on when recording from MIC). by Michael Sevakis · 17 years ago
  45. e7075db e200: Use 16-16 L-R pairs when writing to the TX FIFO. Kill the channel swapping and clicks. Reduce number of FIQs. Should be adaptable to iPods and other PP targets in a few minutes work, eh? by Michael Sevakis · 17 years ago
  46. 705d2f8 Reset the pcm_paused flag in the PP FIQ as well to complement the fix for FS #7187. Now it also works on Mini G2. by Jens Arnold · 17 years ago
  47. eb7603f always reset the pcm_paused flag when stopping playback. fixes FS #7187 by Marcoen Hirschberg · 17 years ago
  48. dfad406 Sound for Sansa E200 - based on work by myself, Rene Peinthor, Barry Wardell and Christian Gmeiner from the AS3514 datasheet. by Daniel Ankers · 18 years ago
  49. c2d2106 Audio Init: Just can't stand that heirarchy. Add one level of abstraction. Might come in handy anyhow. Use sound.h instead of the conditional includes for audio hardware headers. If someone doesn't like that, yell at my evil twin. :) by Michael Sevakis · 18 years ago
  50. c5cd27f Pop a stub in there for the e200 until playback is ready. Move it to the proper place at that time. by Michael Sevakis · 18 years ago
  51. 38b64f7 Get rid of C99 style variable declaration. Also, add one more use of #define instead of inl/outl that I missed last time. by Barry Wardell · 18 years ago
  52. 169ebdb Some more replacing of inl/outl with register #define's (doesn't change end-result binary). Add lots more #define's based on the ipodlinux wiki and some extrapolation. by Barry Wardell · 18 years ago
  53. f05b9e3 Get rid of some outl/inl in favour of #define. by Barry Wardell · 18 years ago
  54. 1476938 Split the enable_fiq(fiq_handler) function into separate set_fiq_handler(fiq_handler) and enable_fiq(void) functions. This allows temporary disabling of the FIQ without knowing which fiq handler is in use. by Dave Chapman · 18 years ago
  55. 1cf6cdf Fix more warnings. Don't compile PortalPlayer pcm code in bootloader builds. by Barry Wardell · 18 years ago
  56. f2c03e8 Fix more compile errors/warnings. by Barry Wardell · 18 years ago
  57. decef18 Fix some warnings from previous commit. by Barry Wardell · 18 years ago
  58. df0dc22 FS#6096. Recording on PortalPlayer targets (H10, iPod Video, iPod 4g, iPod Color, iPod Nano). by Barry Wardell · 18 years ago