• Oder Chiou's avatar
    ASoC: rt5645: Add the HWEQ for the speaker output · be77b38a
    Oder Chiou authored
    The patch adds the HWEQ function for the speaker output. User can set the
    HWEQ parameters using the ALSA binary control byte-by-byte. We use the
    following struct array to store the HWEQ parameters for implementing as
    simple as possible.
    struct rt5645_eq_param_s {
    	unsigned short reg;
    	unsigned short val;
    };
    It supports the variant length of the HWEQ parameters that are required.
    We add the validating function in the function "rt5645_hweq_put" of the
    ALSA binary control to avoid the user that puts the invalid parameters.
    In the HWEQ enable function of speaker event, we also add the validating
    function to prevent that the invalid parameters are applied to codec.
    The HWEQ parameters should be controlled by DAPM for a specific sequence,
    so the parameters will be applied to the codec in the speaker power up
    event of DAPM, and will be disabled in the speaker power down event of
    DAPM.
    Signed-off-by: default avatarOder Chiou <oder_chiou@realtek.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    be77b38a
rt5645.c 109 KB