• R
    drm: bridge/dw_hdmi: replace CTS calculation for the ACR · dfbdaf50
    Russell King 提交于
    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: NFabio Estevam <fabio.estevam@freescale.com>
    Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
    dfbdaf50
dw_hdmi.c 50.8 KB