• Timur Tabi's avatar
    ALSA: asoc: restrict sample rate and size in Freescale MPC8610 sound drivers · be41e941
    Timur Tabi authored
    The Freescale MPC8610 SSI device has the option of using one clock for both
    transmit and receive (synchronous mode), or independent clocks (asynchronous).
    The SSI driver, however, programs the SSI into synchronous mode and then
    tries to program the clock registers independently.  The result is that the wrong
    sample size is usually generated during recording.
    
    This patch fixes the discrepancy by restricting the sample rate and sample size
    of the playback and capture streams.  The SSI driver remembers which stream
    is opened first.  When a second stream is opened, that stream is constrained
    to the same sample rate and size as the first stream.
    
    A future version of this driver will lift the sample size restriction.
    Supporting independent sample rates is more difficult, because only certain
    codecs provide dual independent clocks.
    Signed-off-by: default avatarTimur Tabi <timur@freescale.com>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    be41e941
fsl_ssi.c 20 KB