From a43e2b53a23bbd6955209a01a8388508f9205857 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Tue, 30 Oct 2007 15:21:19 +0000 Subject: linux-rp: update Tosa patchset in 2.6.22 and 2.6.23 - close #3233 USB Host patches are not updated --- .../linux-rp-2.6.23/wm9712-reset-loop-r2.patch | 88 ++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch (limited to 'packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch') diff --git a/packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch b/packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch new file mode 100644 index 0000000000..0e32a62ea6 --- /dev/null +++ b/packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch @@ -0,0 +1,88 @@ + sound/soc/codecs/wm9712.c | 28 ++++++++++++++++++---------- + 1 file changed, 18 insertions(+), 10 deletions(-) + +Index: git/sound/soc/codecs/wm9712.c +=================================================================== +--- git.orig/sound/soc/codecs/wm9712.c 2006-11-07 22:10:01.000000000 +0000 ++++ git/sound/soc/codecs/wm9712.c 2006-11-07 22:11:50.000000000 +0000 +@@ -618,18 +618,26 @@ static int wm9712_dapm_event(struct snd_ + + static int wm9712_reset(struct snd_soc_codec *codec, int try_warm) + { +- if (try_warm && soc_ac97_ops.warm_reset) { +- soc_ac97_ops.warm_reset(codec->ac97); +- if (!(ac97_read(codec, 0) & 0x8000)) +- return 1; +- } ++ int retry = 3; + +- soc_ac97_ops.reset(codec->ac97); +- if (ac97_read(codec, 0) & 0x8000) +- goto err; +- return 0; ++ while (retry--) ++ { ++ if(try_warm && soc_ac97_ops.warm_reset) { ++ soc_ac97_ops.warm_reset(codec->ac97); ++ if(ac97_read(codec, 0) & 0x8000) ++ continue; ++ else ++ return 1; ++ } ++ ++ soc_ac97_ops.reset(codec->ac97); ++ if(ac97_read(codec, 0) & 0x8000) ++ continue; ++ else ++ return 0; ++ ++ } + +-err: + printk(KERN_ERR "WM9712 AC97 reset failed\n"); + return -EIO; + } + sound/soc/codecs/wm9712.c | 28 ++++++++++++++++++---------- + 1 file changed, 18 insertions(+), 10 deletions(-) + +Index: git/sound/soc/codecs/wm9712.c +=================================================================== +--- git.orig/sound/soc/codecs/wm9712.c 2006-11-07 22:10:01.000000000 +0000 ++++ git/sound/soc/codecs/wm9712.c 2006-11-07 22:11:50.000000000 +0000 +@@ -618,18 +618,26 @@ static int wm9712_dapm_event(struct snd_ + + static int wm9712_reset(struct snd_soc_codec *codec, int try_warm) + { +- if (try_warm && soc_ac97_ops.warm_reset) { +- soc_ac97_ops.warm_reset(codec->ac97); +- if (!(ac97_read(codec, 0) & 0x8000)) +- return 1; +- } ++ int retry = 3; + +- soc_ac97_ops.reset(codec->ac97); +- if (ac97_read(codec, 0) & 0x8000) +- goto err; +- return 0; ++ while (retry--) ++ { ++ if(try_warm && soc_ac97_ops.warm_reset) { ++ soc_ac97_ops.warm_reset(codec->ac97); ++ if(ac97_read(codec, 0) & 0x8000) ++ continue; ++ else ++ return 1; ++ } ++ ++ soc_ac97_ops.reset(codec->ac97); ++ if(ac97_read(codec, 0) & 0x8000) ++ continue; ++ else ++ return 0; ++ ++ } + +-err: + printk(KERN_ERR "WM9712 AC97 reset failed\n"); + return -EIO; + } -- cgit v1.2.3 From 566c8bb147d8ba79662edcd755883793e0c945f5 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Wed, 31 Oct 2007 10:44:22 +0000 Subject: linux-rp: cleaned Tosa patches (my fault) --- .../linux-rp-2.6.23/wm9712-reset-loop-r2.patch | 44 ---------------------- 1 file changed, 44 deletions(-) (limited to 'packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch') diff --git a/packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch b/packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch index 0e32a62ea6..78e81ea83a 100644 --- a/packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch +++ b/packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch @@ -38,50 +38,6 @@ Index: git/sound/soc/codecs/wm9712.c + + } --err: - printk(KERN_ERR "WM9712 AC97 reset failed\n"); - return -EIO; - } - sound/soc/codecs/wm9712.c | 28 ++++++++++++++++++---------- - 1 file changed, 18 insertions(+), 10 deletions(-) - -Index: git/sound/soc/codecs/wm9712.c -=================================================================== ---- git.orig/sound/soc/codecs/wm9712.c 2006-11-07 22:10:01.000000000 +0000 -+++ git/sound/soc/codecs/wm9712.c 2006-11-07 22:11:50.000000000 +0000 -@@ -618,18 +618,26 @@ static int wm9712_dapm_event(struct snd_ - - static int wm9712_reset(struct snd_soc_codec *codec, int try_warm) - { -- if (try_warm && soc_ac97_ops.warm_reset) { -- soc_ac97_ops.warm_reset(codec->ac97); -- if (!(ac97_read(codec, 0) & 0x8000)) -- return 1; -- } -+ int retry = 3; - -- soc_ac97_ops.reset(codec->ac97); -- if (ac97_read(codec, 0) & 0x8000) -- goto err; -- return 0; -+ while (retry--) -+ { -+ if(try_warm && soc_ac97_ops.warm_reset) { -+ soc_ac97_ops.warm_reset(codec->ac97); -+ if(ac97_read(codec, 0) & 0x8000) -+ continue; -+ else -+ return 1; -+ } -+ -+ soc_ac97_ops.reset(codec->ac97); -+ if(ac97_read(codec, 0) & 0x8000) -+ continue; -+ else -+ return 0; -+ -+ } - -err: printk(KERN_ERR "WM9712 AC97 reset failed\n"); return -EIO; -- cgit v1.2.3