From: Adrian Knoth <adi@drcomp.erfurt.thur.de>
To: patch@alsa-project.org
Cc: Adrian Knoth <adi@drcomp.erfurt.thur.de>,
alsa-devel@alsa-project.org, andre.schramm@iosono-sound.com
Subject: [PATCH 1/9] ALSA: hdspm - Allow DDS/Varispeed to be set from userspace
Date: Fri, 19 Oct 2012 17:42:22 +0200 [thread overview]
Message-ID: <1350661350-5000-2-git-send-email-adi@drcomp.erfurt.thur.de> (raw)
In-Reply-To: <1350661350-5000-1-git-send-email-adi@drcomp.erfurt.thur.de>
The DDS value is the actual physical sample rate. We set it indirectly
when selecting 44100, 48000 and so on via snd_hdspm_hw_params or
hdspm_set_clock_source.
This commit now allows the DDS value to be altered at runtime, thus
speeding up or slowing down the physical sample rate. This is required
for MADI's varispeed that allows for ±12.5% speed adjustment from the
"selected" rate (32kHz, 44100kHz, 48kHz and so on).
Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c
index b12308b..742bd5e 100644
--- a/sound/pci/rme9652/hdspm.c
+++ b/sound/pci/rme9652/hdspm.c
@@ -2003,8 +2003,10 @@ static int hdspm_get_system_sample_rate(struct hdspm *hdspm)
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
.name = xname, \
.index = xindex, \
- .access = SNDRV_CTL_ELEM_ACCESS_READ, \
+ .access = SNDRV_CTL_ELEM_ACCESS_READWRITE |\
+ SNDRV_CTL_ELEM_ACCESS_VOLATILE, \
.info = snd_hdspm_info_system_sample_rate, \
+ .put = snd_hdspm_put_system_sample_rate, \
.get = snd_hdspm_get_system_sample_rate \
}
@@ -2030,6 +2032,16 @@ static int snd_hdspm_get_system_sample_rate(struct snd_kcontrol *kcontrol,
return 0;
}
+static int snd_hdspm_put_system_sample_rate(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *
+ ucontrol)
+{
+ struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
+
+ hdspm_set_dds_value(hdspm, ucontrol->value.enumerated.item[0]);
+ return 0;
+}
+
/**
* Returns the WordClock sample rate class for the given card.
--
1.7.10.4
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next prev parent reply other threads:[~2012-10-19 15:42 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-19 15:42 [PATCH 0/9] Fixes for RME MADI cards Adrian Knoth
2012-10-19 15:42 ` Adrian Knoth [this message]
2012-10-19 20:48 ` [PATCH 1/9] ALSA: hdspm - Allow DDS/Varispeed to be set from userspace Takashi Iwai
2012-10-20 8:35 ` Adrian Knoth
2012-10-20 8:46 ` Takashi Iwai
2012-10-19 15:42 ` [PATCH 2/9] ALSA: hdspm - Report external rate in slave mode on PCI MADI Adrian Knoth
2012-10-19 15:42 ` [PATCH 3/9] ALSA: hdspm - Fix sync check reporting on all RME HDSPM cards Adrian Knoth
2012-10-19 15:42 ` [PATCH 4/9] ALSA: hdspm - Fix reported autosync_sample_rate Adrian Knoth
2012-10-19 15:42 ` [PATCH 5/9] ALSA: hdspm - Also report autosync_sample_rate on MADI and MADIface Adrian Knoth
2012-10-20 8:46 ` Takashi Iwai
2012-10-19 15:42 ` [PATCH 6/9] ALSA: hdspm - Fix sync_in reporting on RME MADI cards Adrian Knoth
2012-10-19 15:42 ` [PATCH 7/9] ALSA: hdspm - Fix sync_in detection on AES/AES32 Adrian Knoth
2012-10-19 15:42 ` [PATCH 8/9] ALSA: hdspm - Fix typo in kcontrol element on RME MADI cards Adrian Knoth
2012-10-19 15:42 ` [PATCH 9/9] ALSA: hdspm - Fix coding style in CTL_ELEM macros Adrian Knoth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1350661350-5000-2-git-send-email-adi@drcomp.erfurt.thur.de \
--to=adi@drcomp.erfurt.thur.de \
--cc=alsa-devel@alsa-project.org \
--cc=andre.schramm@iosono-sound.com \
--cc=patch@alsa-project.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).