Fixed ioctl code and added coeff setting example code
Added de-emphasis filter functions and speaker protection. Added functions to manipulate the filter's coeffs and enable/disable it. Also changed the machine layer (rx51.c) to set up the filter as a highpass and turn it on when on speaker output for speaker protection. TODO: Change filter coeffs if sample rate is changed. Right now it's fit for 48kHz (and possibly fine with 44.1kHz). Filter designed using scilab: fc = [0.015 0.010884354 0.01] hz = iir(1, 'hp', 'ellip', [fc(3) 0], [0.1 0.1]) [hzm,fr]=frmag(hz,256); plot2d(fr',hzm') xtitle('Discrete IIR filter band pass 0.15<fr<0.25 ',' ',' '); q=poly(0,'q'); //to express the result in terms of the ... hzd=horner(hz,1/q) //delay operator q=z^-1
Fixed and tested hwdep device and documentation about it. Now it actually works, and the documentation is accurate. Also very close to removing the warning at the top.
DAC Filter controls and hwdep device added. Added controls for the filter, off/on/custom. hwdep device called "IIR Filter" added, documentation on how to use it also added in: Documentation/sound/alsa/soc/codecs/tlv320aic3x.txt Fixed some things up and refactored some things.
Initial import of patch. What we have right now: - All page 1 registers added as a u16 array of coefficients with routines to read/write the coefficients (aic3x_read_coeff_cache and aic3x_write_coeff respectively) - Added syncing coeff_cache with hardware after a suspend/resume cycle - Added ALSA controls for the 3-D depth simulation filter What's missing: - A lot
Move files for easier patching