[media] snd_tea575x: set_freq: update cached freq to the actual achieved frequency
Signed-off-by: Hans de Goede <hdegoede@redhat.com> CC: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
5daf53a6eb
commit
40e006aea8
1 changed files with 8 additions and 2 deletions
|
@ -120,9 +120,9 @@ static u32 snd_tea575x_read(struct snd_tea575x *tea)
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 snd_tea575x_get_freq(struct snd_tea575x *tea)
|
static u32 snd_tea575x_val_to_freq(struct snd_tea575x *tea, u32 val)
|
||||||
{
|
{
|
||||||
u32 freq = snd_tea575x_read(tea) & TEA575X_BIT_FREQ_MASK;
|
u32 freq = val & TEA575X_BIT_FREQ_MASK;
|
||||||
|
|
||||||
if (freq == 0)
|
if (freq == 0)
|
||||||
return freq;
|
return freq;
|
||||||
|
@ -139,6 +139,11 @@ static u32 snd_tea575x_get_freq(struct snd_tea575x *tea)
|
||||||
return clamp(freq * 16, FREQ_LO, FREQ_HI); /* from kHz */
|
return clamp(freq * 16, FREQ_LO, FREQ_HI); /* from kHz */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static u32 snd_tea575x_get_freq(struct snd_tea575x *tea)
|
||||||
|
{
|
||||||
|
return snd_tea575x_val_to_freq(tea, snd_tea575x_read(tea));
|
||||||
|
}
|
||||||
|
|
||||||
static void snd_tea575x_set_freq(struct snd_tea575x *tea)
|
static void snd_tea575x_set_freq(struct snd_tea575x *tea)
|
||||||
{
|
{
|
||||||
u32 freq = tea->freq;
|
u32 freq = tea->freq;
|
||||||
|
@ -156,6 +161,7 @@ static void snd_tea575x_set_freq(struct snd_tea575x *tea)
|
||||||
tea->val &= ~TEA575X_BIT_FREQ_MASK;
|
tea->val &= ~TEA575X_BIT_FREQ_MASK;
|
||||||
tea->val |= freq & TEA575X_BIT_FREQ_MASK;
|
tea->val |= freq & TEA575X_BIT_FREQ_MASK;
|
||||||
snd_tea575x_write(tea, tea->val);
|
snd_tea575x_write(tea, tea->val);
|
||||||
|
tea->freq = snd_tea575x_val_to_freq(tea, tea->val);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue