aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-10 16:12:29 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-10 16:12:29 -0800
commit05d29cdc69cb4d1671dd92985ab130866139584f (patch)
treeccc6176303bf6b8b7af4b1a0bd8535d8de599e98
parentd2153d5b5e0e9dec29aae07b35eeb3adaedf07ea (diff)
downloadltsi-kernel-05d29cdc69cb4d1671dd92985ab130866139584f.tar.gz
some fixes found after -rc2
-rw-r--r--patches.fixes/0001-ASoC-fsi-fixup-channels_min-max.patch67
-rw-r--r--patches.fixes/0002-usb-renesas_usbhs-gadget-remove-usbhsg_uep_init.patch50
-rw-r--r--patches.fixes/0003-usb-renesas_usbhs-gadget-usbhsg_ep_disable-care-pipe.patch50
-rw-r--r--series8
4 files changed, 175 insertions, 0 deletions
diff --git a/patches.fixes/0001-ASoC-fsi-fixup-channels_min-max.patch b/patches.fixes/0001-ASoC-fsi-fixup-channels_min-max.patch
new file mode 100644
index 00000000000000..22db3d58ce0975
--- /dev/null
+++ b/patches.fixes/0001-ASoC-fsi-fixup-channels_min-max.patch
@@ -0,0 +1,67 @@
+From 9354861d155a84b6326ff48f0ee9f37a83285f50 Mon Sep 17 00:00:00 2001
+From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+Date: Tue, 2 Oct 2012 19:08:53 -0700
+Subject: ASoC: fsi: fixup channels_min/max
+
+FSI can support 1 - 8 channel input/output,
+but current driver is supporting 2 channel format only.
+This patch fixes channel mismatch
+
+Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+(cherry picked from commit 2a8c8a569ff3631f6b6d82ea17c57b9f064b2a7b)
+
+Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
+---
+ sound/soc/sh/fsi.c | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+--- a/sound/soc/sh/fsi.c
++++ b/sound/soc/sh/fsi.c
+@@ -1498,7 +1498,7 @@ static struct snd_pcm_hardware fsi_pcm_h
+ .rates = FSI_RATES,
+ .rate_min = 8000,
+ .rate_max = 192000,
+- .channels_min = 1,
++ .channels_min = 2,
+ .channels_max = 2,
+ .buffer_bytes_max = 64 * 1024,
+ .period_bytes_min = 32,
+@@ -1586,14 +1586,14 @@ static struct snd_soc_dai_driver fsi_soc
+ .playback = {
+ .rates = FSI_RATES,
+ .formats = FSI_FMTS,
+- .channels_min = 1,
+- .channels_max = 8,
++ .channels_min = 2,
++ .channels_max = 2,
+ },
+ .capture = {
+ .rates = FSI_RATES,
+ .formats = FSI_FMTS,
+- .channels_min = 1,
+- .channels_max = 8,
++ .channels_min = 2,
++ .channels_max = 2,
+ },
+ .ops = &fsi_dai_ops,
+ },
+@@ -1602,14 +1602,14 @@ static struct snd_soc_dai_driver fsi_soc
+ .playback = {
+ .rates = FSI_RATES,
+ .formats = FSI_FMTS,
+- .channels_min = 1,
+- .channels_max = 8,
++ .channels_min = 2,
++ .channels_max = 2,
+ },
+ .capture = {
+ .rates = FSI_RATES,
+ .formats = FSI_FMTS,
+- .channels_min = 1,
+- .channels_max = 8,
++ .channels_min = 2,
++ .channels_max = 2,
+ },
+ .ops = &fsi_dai_ops,
+ },
diff --git a/patches.fixes/0002-usb-renesas_usbhs-gadget-remove-usbhsg_uep_init.patch b/patches.fixes/0002-usb-renesas_usbhs-gadget-remove-usbhsg_uep_init.patch
new file mode 100644
index 00000000000000..497cc0e18cc606
--- /dev/null
+++ b/patches.fixes/0002-usb-renesas_usbhs-gadget-remove-usbhsg_uep_init.patch
@@ -0,0 +1,50 @@
+From a9e8131d2d9acdd20e597ac769fdedce04db4db9 Mon Sep 17 00:00:00 2001
+From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+Date: Mon, 10 Dec 2012 22:43:45 -0800
+Subject: usb: renesas_usbhs: gadget: remove usbhsg_uep_init()
+
+Current driver always initialized uep->pipe to NULL on usbhsg_try_start().
+But it breaks relationship with
+usb_ep_ops :: enable/disable functions when suspend/resume.
+This patch solved this issue by initializing uep->pipe on probe()
+
+Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
+---
+ drivers/usb/renesas_usbhs/mod_gadget.c | 11 +----------
+ 1 file changed, 1 insertion(+), 10 deletions(-)
+
+--- a/drivers/usb/renesas_usbhs/mod_gadget.c
++++ b/drivers/usb/renesas_usbhs/mod_gadget.c
+@@ -541,15 +541,6 @@ static int usbhsg_pipe_disable(struct us
+ return 0;
+ }
+
+-static void usbhsg_uep_init(struct usbhsg_gpriv *gpriv)
+-{
+- int i;
+- struct usbhsg_uep *uep;
+-
+- usbhsg_for_each_uep_with_dcp(uep, gpriv, i)
+- uep->pipe = NULL;
+-}
+-
+ /*
+ *
+ * usb_ep_ops
+@@ -757,7 +748,6 @@ static int usbhsg_try_start(struct usbhs
+ usbhs_pipe_init(priv,
+ usbhsg_dma_map_ctrl);
+ usbhs_fifo_init(priv);
+- usbhsg_uep_init(gpriv);
+
+ /* dcp init */
+ dcp->pipe = usbhs_dcp_malloc(priv);
+@@ -970,6 +960,7 @@ int usbhs_mod_gadget_probe(struct usbhs_
+ */
+ usbhsg_for_each_uep_with_dcp(uep, gpriv, i) {
+ uep->gpriv = gpriv;
++ uep->pipe = NULL;
+ snprintf(uep->ep_name, EP_NAME_SIZE, "ep%d", i);
+
+ uep->ep.name = uep->ep_name;
diff --git a/patches.fixes/0003-usb-renesas_usbhs-gadget-usbhsg_ep_disable-care-pipe.patch b/patches.fixes/0003-usb-renesas_usbhs-gadget-usbhsg_ep_disable-care-pipe.patch
new file mode 100644
index 00000000000000..478414a6158b6f
--- /dev/null
+++ b/patches.fixes/0003-usb-renesas_usbhs-gadget-usbhsg_ep_disable-care-pipe.patch
@@ -0,0 +1,50 @@
+From ed0a408a51295f69c3b17417b7789f0e8b42abd7 Mon Sep 17 00:00:00 2001
+From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+Date: Mon, 10 Dec 2012 22:44:07 -0800
+Subject: usb: renesas_usbhs: gadget: usbhsg_ep_disable() care pipe settings
+
+Current usbhsg_ep_disable() didn't care
+uep->pipe and pipe->mod_private variable which is used on usbhsg_ep_enable().
+It breaks renesas_usbhs gadget when resume.
+This patch fixes it.
+
+Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
+---
+ drivers/usb/renesas_usbhs/mod_gadget.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+--- a/drivers/usb/renesas_usbhs/mod_gadget.c
++++ b/drivers/usb/renesas_usbhs/mod_gadget.c
+@@ -597,7 +597,12 @@ static int usbhsg_ep_disable(struct usb_
+ {
+ struct usbhsg_uep *uep = usbhsg_ep_to_uep(ep);
+
+- return usbhsg_pipe_disable(uep);
++ usbhsg_pipe_disable(uep);
++
++ uep->pipe->mod_private = NULL;
++ uep->pipe = NULL;
++
++ return 0;
+ }
+
+ static struct usb_request *usbhsg_ep_alloc_request(struct usb_ep *ep,
+@@ -749,7 +754,7 @@ static int usbhsg_try_start(struct usbhs
+ usbhsg_dma_map_ctrl);
+ usbhs_fifo_init(priv);
+
+- /* dcp init */
++ /* dcp init instead of usbhsg_ep_enable() */
+ dcp->pipe = usbhs_dcp_malloc(priv);
+ dcp->pipe->mod_private = dcp;
+ usbhs_pipe_config_update(dcp->pipe, 0, 0, 64);
+@@ -811,7 +816,7 @@ static int usbhsg_try_stop(struct usbhs_
+ usbhs_sys_set_test_mode(priv, 0);
+ usbhs_sys_function_ctrl(priv, 0);
+
+- usbhsg_pipe_disable(dcp);
++ usbhsg_ep_disable(&dcp->ep);
+
+ dev_dbg(dev, "stop gadget\n");
+
diff --git a/series b/series
index 16962397e0bca7..783b8d93acae0a 100644
--- a/series
+++ b/series
@@ -767,3 +767,11 @@ patches.codel/net-codel-Add-missing-include-linux-prefetch.h.patch
patches.codel/net-codel-fix-build-errors.patch
patches.codel/fq_codel-should-use-qdisc-backlog-as-threshold.patch
patches.codel/codel-refine-one-condition-to-avoid-a-nul-rec_inv_sq.patch
+
+
+#############################################################################
+# fixes that go after all of the above
+#
+patches.fixes/0001-ASoC-fsi-fixup-channels_min-max.patch
+patches.fixes/0002-usb-renesas_usbhs-gadget-remove-usbhsg_uep_init.patch
+patches.fixes/0003-usb-renesas_usbhs-gadget-usbhsg_ep_disable-care-pipe.patch