I am developing an ASoC driver for a custom SoC (not in tree yet), I have written the platform and board modules and my hardware detects and installs ok, im now trying to play sound using aplay but im having issues.
I get the error "aplay: set_params:1022: Unable to install hw params:" I have traced the problem to a failing ioctl call (snd_pcm_playback_ioctl) the error occurs in snd_pcm_hw_refine when refining the mask for the SNDRV_PCM_HW_PARAM_ACCESS mask, all the bit fields in my runtime->hw_constraints are zero for this field, but the requested params have the value 7, Im not sure what this means, the SNDRV_PCM_ACCESS_xxx defines in asound.h only go upto 4 ?
I have attached logs below (with RULES_DEBUG turned on) hopefully this may shed some light.
Thanks in advance for any help,
Neil Jones
Logs:
# /usr/bin/aplay /var/snd48khz.wav Playing WAVE '/var/snd48khz.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo aplay: set_params:1022: Unable to install hw params: ACCESS: RW_INTERLEAVED FORMAT: S16_LE SUBFORMAT: STD SAMPLE_BITS: 16 FRAME_BITS: 32 CHANNELS: 2 RATE: 48000 PERIOD_TIME: (85333 85334) PERIOD_SIZE: 4096 PERIOD_BYTES: 16384 PERIODS: (5 6) BUFFER_TIME: 500000 BUFFER_SIZE: 24000 BUFFER_BYTES: 96000 TICK_TIME: 0
(klog) ... Rule 0 [4030f9f4]: FORMAT = 4 -> 4 Rule 2 [4030f750]: SAMPLE_BITS = [16 16] -> [16 16] Rule 4 [4030f90c]: FRAME_BITS = [16 16] -> [16 16] Rule 5 [4030f90c]: FRAME_BITS = [16 16] -> [16 16] Rule 7 [4030f90c]: RATE = [48000 48000] -> [48000 48000] Rule 8 [4030f90c]: RATE = [48000 48000] -> [48000 48000] Rule 9 [4030f750]: PERIODS = [1 128] -> [1 128] Rule 10 [4030f750]: PERIOD_SIZE = [16 4096] -> [16 4096] Rule 12 [4030f828]: PERIOD_SIZE = [16 4096] -> [16 4096] Rule 15 [4030f828]: BUFFER_SIZE = [16 65536] -> [16 65536] Rule 18 [4030f90c]: PERIOD_TIME = (166 128000] -> (333 85334) Rule 19 [4030f90c]: BUFFER_TIME = (166 2048000] -> (333 1365334) Rule 7 [4030f90c]: RATE = [48000 48000] -> [48000 48000] Rule 8 [4030f90c]: RATE = [48000 48000] -> [48000 48000] Rule 12 [4030f828]: PERIOD_SIZE = [16 4096] -> [16 4096] Rule 15 [4030f828]: BUFFER_SIZE = [16 65536] -> [16 65536] ACCESS = 0000000000000007 -> 0000000000000000 - This message is subject to Imagination Technologies' e-mail terms: http://www.imgtec.com/e-mail.htm
Imagination Technologies Ltd is a limited company registered in England No: 1306335 Registered Office: Imagination House, Home Park Estate, Kings Langley, Hertfordshire, WD4 8LZ.
Email to and from the company may be monitored for compliance and other administrative purposes. -