mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-27 08:14:35 +08:00
drm/i2c: tda998x: set the PLL division factor in range 0..3
The predivider division factor of the register PLL_SERIAL_2 is in the range 0..3, the value 0 being used for a division by 1. Tested-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
2eb4c7b1e7
commit
3ae471f73a
@ -208,7 +208,7 @@ struct tda998x_priv {
|
||||
# define PLL_SERIAL_1_SRL_IZ(x) (((x) & 3) << 1)
|
||||
# define PLL_SERIAL_1_SRL_MAN_IZ (1 << 6)
|
||||
#define REG_PLL_SERIAL_2 REG(0x02, 0x01) /* read/write */
|
||||
# define PLL_SERIAL_2_SRL_NOSC(x) (((x) & 3) << 0)
|
||||
# define PLL_SERIAL_2_SRL_NOSC(x) ((x) << 0)
|
||||
# define PLL_SERIAL_2_SRL_PR(x) (((x) & 0xf) << 4)
|
||||
#define REG_PLL_SERIAL_3 REG(0x02, 0x02) /* read/write */
|
||||
# define PLL_SERIAL_3_SRL_CCIR (1 << 0)
|
||||
@ -824,6 +824,11 @@ tda998x_encoder_mode_set(struct drm_encoder *encoder,
|
||||
}
|
||||
|
||||
div = 148500 / mode->clock;
|
||||
if (div != 0) {
|
||||
div--;
|
||||
if (div > 3)
|
||||
div = 3;
|
||||
}
|
||||
|
||||
/* mute the audio FIFO: */
|
||||
reg_set(encoder, REG_AIP_CNTRL_0, AIP_CNTRL_0_RST_FIFO);
|
||||
|
Loading…
Reference in New Issue
Block a user