summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Knoth <adi@drcomp.erfurt.thur.de>2012-10-19 19:42:27 +0400
committerTakashi Iwai <tiwai@suse.de>2012-10-20 12:43:33 +0400
commit2e0452f544758d798ba76016c00783f654b43fe3 (patch)
treee307086914fab0ece2b44528db17a0e31ec3c40e
parentb8812c55c5e59596bbf4b1d3e5b4b3ef50a89cad (diff)
downloadlinux-2e0452f544758d798ba76016c00783f654b43fe3.tar.xz
ALSA: hdspm - Fix sync_in reporting on RME MADI cards
In contrast to AES32, MADI uses the first status register to report the sync_in status. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/rme9652/hdspm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c
index 5f243aedeef7..5d70efec26c0 100644
--- a/sound/pci/rme9652/hdspm.c
+++ b/sound/pci/rme9652/hdspm.c
@@ -3885,6 +3885,11 @@ static int hdspm_sync_in_sync_check(struct hdspm *hdspm)
break;
case MADI:
+ status = hdspm_read(hdspm, HDSPM_statusRegister);
+ lock = (status & HDSPM_syncInLock) ? 1 : 0;
+ sync = (status & HDSPM_syncInSync) ? 1 : 0;
+ break;
+
case AES32:
status = hdspm_read(hdspm, HDSPM_statusRegister2);
lock = (status & HDSPM_syncInLock) ? 1 : 0;