diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-10 16:12:29 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-10 16:12:29 -0800 |
commit | 05d29cdc69cb4d1671dd92985ab130866139584f (patch) | |
tree | ccc6176303bf6b8b7af4b1a0bd8535d8de599e98 | |
parent | d2153d5b5e0e9dec29aae07b35eeb3adaedf07ea (diff) | |
download | ltsi-kernel-05d29cdc69cb4d1671dd92985ab130866139584f.tar.gz |
some fixes found after -rc2
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"); + @@ -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 |