2006-11-28 14:11:22

by Jaroslav Kysela

[permalink] [raw]
Subject: [ALSA PATCH] alsa-git merge request

Linus, please do an update from:

http://www.kernel.org/pub/scm/linux/kernel/git/perex/alsa.git
(linus branch)

The GNU patch is available at:

ftp://ftp.alsa-project.org/pub/kernel-patches/alsa-git-2006-11-28.patch.gz

Additional notes:

This update contains only serious fixes.


The following files will be updated:

include/sound/version.h | 2 +-
sound/aoa/codecs/snd-aoa-codec-tas.c | 13 +++++++++----
sound/core/oss/pcm_oss.c | 3 ++-
sound/core/pcm_native.c | 6 ++++--
sound/core/rtctimer.c | 20 ++++++++++++++------
sound/pci/emu10k1/emu10k1_main.c | 1 +
sound/pci/hda/patch_realtek.c | 2 +-
sound/pci/hda/patch_sigmatel.c | 14 +++++++-------
sound/usb/usbaudio.c | 3 ++-
9 files changed, 41 insertions(+), 23 deletions(-)


The following things were done:

Clemens Ladisch:
[ALSA] rtctimer: handle RTC interrupts with a tasklet

James Courtier-Dutton:
[ALSA] snd-emu10k1: Fix capture for one variant.

Jaroslav Kysela:
[ALSA] version 1.0.13

John W. Linville:
[ALSA] hda: fix typo for xw4400 PCI sub-ID

Matt Porter:
[ALSA] hda: fix sigmatel dell system detection

Paul Mackerras:
[ALSA] Enable stereo line input for TAS codec

Takashi Iwai:
[ALSA] Fix hang-up at disconnection of usb-audio


-----
Jaroslav Kysela <[email protected]>
Linux Kernel Sound Maintainer
ALSA Project, SUSE Labs


2006-12-15 08:13:30

by Andrew Morton

[permalink] [raw]
Subject: Re: [ALSA PATCH] alsa-git merge request

On Fri, 15 Dec 2006 08:52:48 +0100 (CET)
Jaroslav Kysela <[email protected]> wrote:

> Linus, please do an update from:
>
> http://www.kernel.org/pub/scm/linux/kernel/git/perex/alsa.git
> (linus branch)
>
> The GNU patch is available at:
>
> ftp://ftp.alsa-project.org/pub/kernel-patches/alsa-git-2006-12-15.patch.gz
>

It's going to need this fix

From: Andrew Morton <[email protected]>

Cc: Jaroslav Kysela <[email protected]>
Cc: Takashi Iwai <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---

drivers/input/touchscreen/ucb1400_ts.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/input/touchscreen/ucb1400_ts.c~git-alsa-more-borkage drivers/input/touchscreen/ucb1400_ts.c
--- a/drivers/input/touchscreen/ucb1400_ts.c~git-alsa-more-borkage
+++ a/drivers/input/touchscreen/ucb1400_ts.c
@@ -83,7 +83,7 @@


struct ucb1400 {
- ac97_t *ac97;
+ struct snd_ac97 *ac97;
struct input_dev *ts_idev;

int irq;
_

2006-12-15 08:17:35

by Andrew Morton

[permalink] [raw]
Subject: Re: [ALSA PATCH] alsa-git merge request

On Fri, 15 Dec 2006 00:13:19 -0800
Andrew Morton <[email protected]> wrote:

> It's going to need this fix

And this one, which was sent and ignored a week ago.

Consideration of the below review comments would be useful, too.




From: Andrew Morton <[email protected]>

Fix the soc code after dhowells workqueue changes.

I converted the workqueues to per-device while I was there. It seems strange
to create a new kernel thread (on each CPU!) and to then only have a single
global work to ever be queued upon it.

Plus without this, I'd have to use the _NAR stuff, gawd help me.

Does that workqueue really need to be per-cpu?

Does that workqueue really need to exist? Why not use keventd?

Cc: Jaroslav Kysela <[email protected]>
Cc: Takashi Iwai <[email protected]>
Cc: David Howells <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---

include/sound/soc.h | 2 ++
sound/soc/soc-core.c | 12 ++++++------
2 files changed, 8 insertions(+), 6 deletions(-)

diff -puN sound/soc/soc-core.c~alsa-workqueue-fixes sound/soc/soc-core.c
--- a/sound/soc/soc-core.c~alsa-workqueue-fixes
+++ a/sound/soc/soc-core.c
@@ -56,7 +56,6 @@
static DEFINE_MUTEX(pcm_mutex);
static DEFINE_MUTEX(io_mutex);
static struct workqueue_struct *soc_workq;
-static struct work_struct soc_stream_work;
static DECLARE_WAIT_QUEUE_HEAD(soc_pm_waitq);

/* supported sample rates */
@@ -728,9 +727,10 @@ out:
* This is to ensure there are no pops or clicks in between any music tracks
* due to DAPM power cycling.
*/
-static void close_delayed_work(void *data)
+static void close_delayed_work(struct work_struct *work)
{
- struct snd_soc_device *socdev = data;
+ struct snd_soc_device *socdev =
+ container_of(work, struct snd_soc_device, delayed_work.work);
struct snd_soc_codec *codec = socdev->codec;
struct snd_soc_codec_dai *codec_dai;
int i;
@@ -805,7 +805,7 @@ static int soc_codec_close(struct snd_pc
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
/* start delayed pop wq here for playback streams */
rtd->codec_dai->pop_wait = 1;
- queue_delayed_work(soc_workq, &soc_stream_work,
+ queue_delayed_work(soc_workq, &socdev->delayed_work,
msecs_to_jiffies(pmdown_time));
} else {
/* capture streams can be powered down now */
@@ -865,7 +865,7 @@ static int soc_pcm_prepare(struct snd_pc
SND_SOC_DAPM_STREAM_START);
else {
rtd->codec_dai->pop_wait = 0;
- cancel_delayed_work(&soc_stream_work);
+ cancel_delayed_work(&socdev->delayed_work);
if (rtd->codec_dai->digital_mute)
rtd->codec_dai->digital_mute(codec, rtd->codec_dai, 0);
}
@@ -1225,7 +1225,7 @@ static int soc_probe(struct platform_dev
soc_workq = create_workqueue("kdapm");
if (soc_workq == NULL)
goto work_err;
- INIT_WORK(&soc_stream_work, close_delayed_work, socdev);
+ INIT_DELAYED_WORK(&socdev->delayed_work, close_delayed_work);
return 0;

work_err:
diff -puN include/sound/soc.h~alsa-workqueue-fixes include/sound/soc.h
--- a/include/sound/soc.h~alsa-workqueue-fixes
+++ a/include/sound/soc.h
@@ -15,6 +15,7 @@

#include <linux/platform_device.h>
#include <linux/types.h>
+#include <linux/workqueue.h>
#include <sound/driver.h>
#include <sound/core.h>
#include <sound/pcm.h>
@@ -454,6 +455,7 @@ struct snd_soc_device {
struct snd_soc_platform *platform;
struct snd_soc_codec *codec;
struct snd_soc_codec_device *codec_dev;
+ struct delayed_work delayed_work;
void *codec_data;
};

_

2006-12-15 08:44:59

by Jaroslav Kysela

[permalink] [raw]
Subject: Re: [ALSA PATCH] alsa-git merge request

On Fri, 15 Dec 2006, Andrew Morton wrote:

> On Fri, 15 Dec 2006 00:13:19 -0800
> Andrew Morton <[email protected]> wrote:
>
> > It's going to need this fix
>
> And this one, which was sent and ignored a week ago.
>
> Consideration of the below review comments would be useful, too.
>
>
>
>
> From: Andrew Morton <[email protected]>
>
> Fix the soc code after dhowells workqueue changes.

I applied this patch to alsa-git tree.

Thanks,
Jaroslav

-----
Jaroslav Kysela <[email protected]>
Linux Kernel Sound Maintainer
ALSA Project, SUSE Labs

2006-12-15 08:46:00

by Jaroslav Kysela

[permalink] [raw]
Subject: Re: [ALSA PATCH] alsa-git merge request

On Fri, 15 Dec 2006, Andrew Morton wrote:

> On Fri, 15 Dec 2006 08:52:48 +0100 (CET)
> Jaroslav Kysela <[email protected]> wrote:
>
> > Linus, please do an update from:
> >
> > http://www.kernel.org/pub/scm/linux/kernel/git/perex/alsa.git
> > (linus branch)
> >
> > The GNU patch is available at:
> >
> > ftp://ftp.alsa-project.org/pub/kernel-patches/alsa-git-2006-12-15.patch.gz
> >
>
> drivers/input/touchscreen/ucb1400_ts.c | 2 +-

I applied this patch to alsa-git tree.

Thanks,
Jaroslav

-----
Jaroslav Kysela <[email protected]>
Linux Kernel Sound Maintainer
ALSA Project, SUSE Labs