summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdrian Knoth <adi@drcomp.erfurt.thur.de>2012-10-19 17:42:27 +0200
committerTakashi Iwai <tiwai@suse.de>2012-10-20 10:43:33 +0200
commit2e0452f544758d798ba76016c00783f654b43fe3 (patch)
treee307086914fab0ece2b44528db17a0e31ec3c40e
parentb8812c55c5e59596bbf4b1d3e5b4b3ef50a89cad (diff)
downloadlinux-2e0452f544758d798ba76016c00783f654b43fe3.tar.gz
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;