• Russell King's avatar
    drm: bridge/dw_hdmi: replace CTS calculation for the ACR · dfbdaf50
    Russell King authored
    Given the TDMS clock, audio sample rate, and the N parameter, we can
    calculate the CTS value for the audio clock regenerator (ACR) using the
    following calculation given in the HDMI specification:
    
    	CTS = ftdms * N / (128 * fs)
    
    The specification says that the CTS value is an average value, which is
    true if the source hardware measures it.  Where source hardware needs it
    to be programmed, it is particularly difficult to alternate between two
    values correctly to ensure that we achieve a correct "average"
    fractional value at the sink.
    
    Also, there's the problem that our "ftdms" is not a fully accurate
    value; it is rounded to a kHz value.  This introduces an unnecessary
    (and harmless) fractional value into the above equation for combinations
    like 148.5MHz/1.001 for 44100Hz - we still calculate the correct CTS
    value.
    Tested-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    dfbdaf50
dw_hdmi.c 50.8 KB