• Nicolin Chen's avatar
    ASoC: fsl_ssi: Caculate bit clock rate using slot number and width · b0a7043d
    Nicolin Chen authored
    The set_sysclk() now is used to override the output bit clock rate.
    But this is not a common way to implement a set_dai_sysclk(). And
    this creates a problem when a general machine driver (simple-card
    for example) tries to do set_dai_sysclk() by passing an input clock
    rate for the baud clock instead of setting the bit clock rate as
    fsl_ssi driver expected.
    
    So this patch solves this problem by firstly removing set_sysclk()
    since the hw_params() can calculate the bit clock rate. Secondly,
    in order not to break those TDM use cases which previously might
    have been using set_sysclk() to override the bit clock rate, this
    patch changes the driver to calculate the bit clock rate using the
    slot number and the slot width from the via set_tdm_slot().
    
    The patch also removes an obsolete comment of the dir parameter.
    Signed-off-by: default avatarNicolin Chen <nicoleotsuka@gmail.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    b0a7043d
fsl_ssi.c 48.7 KB