Commit 9bbc5820 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

[media] radio-miropcm20: fix signal and stereo indication

Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent f5e7cc4a
...@@ -82,6 +82,7 @@ static int vidioc_g_tuner(struct file *file, void *priv, ...@@ -82,6 +82,7 @@ static int vidioc_g_tuner(struct file *file, void *priv,
struct v4l2_tuner *v) struct v4l2_tuner *v)
{ {
struct pcm20 *dev = video_drvdata(file); struct pcm20 *dev = video_drvdata(file);
int res;
if (v->index) if (v->index)
return -EINVAL; return -EINVAL;
...@@ -89,8 +90,13 @@ static int vidioc_g_tuner(struct file *file, void *priv, ...@@ -89,8 +90,13 @@ static int vidioc_g_tuner(struct file *file, void *priv,
v->type = V4L2_TUNER_RADIO; v->type = V4L2_TUNER_RADIO;
v->rangelow = 87*16000; v->rangelow = 87*16000;
v->rangehigh = 108*16000; v->rangehigh = 108*16000;
v->signal = 0xffff; res = snd_aci_cmd(dev->aci, ACI_READ_TUNERSTATION, -1, -1);
v->rxsubchans = V4L2_TUNER_SUB_MONO | V4L2_TUNER_SUB_STEREO; v->signal = (res & 0x80) ? 0 : 0xffff;
/* Note: stereo detection does not work if the audio is muted,
it will default to mono in that case. */
res = snd_aci_cmd(dev->aci, ACI_READ_TUNERSTEREO, -1, -1);
v->rxsubchans = (res & 0x40) ? V4L2_TUNER_SUB_MONO :
V4L2_TUNER_SUB_STEREO;
v->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO; v->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO;
v->audmode = dev->audmode; v->audmode = dev->audmode;
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment