* Lockups reading from i.MX51 SSI registers @ 2012-08-10 19:50 Mark Brown 2012-08-10 19:56 ` Sascha Hauer 0 siblings, 1 reply; 12+ messages in thread From: Mark Brown @ 2012-08-10 19:50 UTC (permalink / raw) To: linux-arm-kernel Hi, I'm trying to use -next to test AC'97 register I/O on an i.MX51 board but I'm seeing the CPU hang during probe at: lreg = (reg & 0x7f) << 12 ; writel(lreg, base + SSI_SACADD); in imx_ssi_ac97_read(). I'm somewhat suspicious this might be because the IP block isn't clocked properly, I do notice the recent conversion to the clock API which looks rather involved but it's possible something else broke. Does anyone have any bright ideas what might be going on here? The board doesn't have the reste functions defined so this is the first interaction with the hardware block AFAICT. Thanks, Mark ^ permalink raw reply [flat|nested] 12+ messages in thread
* Lockups reading from i.MX51 SSI registers 2012-08-10 19:50 Lockups reading from i.MX51 SSI registers Mark Brown @ 2012-08-10 19:56 ` Sascha Hauer 2012-08-10 20:14 ` Uwe Kleine-König 0 siblings, 1 reply; 12+ messages in thread From: Sascha Hauer @ 2012-08-10 19:56 UTC (permalink / raw) To: linux-arm-kernel On Fri, Aug 10, 2012 at 08:50:08PM +0100, Mark Brown wrote: > Hi, > > I'm trying to use -next to test AC'97 register I/O on an i.MX51 board > but I'm seeing the CPU hang during probe at: > > lreg = (reg & 0x7f) << 12 ; > writel(lreg, base + SSI_SACADD); > > in imx_ssi_ac97_read(). I'm somewhat suspicious this might be because > the IP block isn't clocked properly, I do notice the recent conversion > to the clock API which looks rather involved but it's possible something > else broke. Does anyone have any bright ideas what might be going on > here? The board doesn't have the reste functions defined so this is the > first interaction with the hardware block AFAICT. No idea currently, just adding Uwe to Cc because I think he has seen something similar on an i.MX35 board recently. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ^ permalink raw reply [flat|nested] 12+ messages in thread
* Lockups reading from i.MX51 SSI registers 2012-08-10 19:56 ` Sascha Hauer @ 2012-08-10 20:14 ` Uwe Kleine-König 2012-08-10 21:06 ` Sascha Hauer 0 siblings, 1 reply; 12+ messages in thread From: Uwe Kleine-König @ 2012-08-10 20:14 UTC (permalink / raw) To: linux-arm-kernel Hi, On Fri, Aug 10, 2012 at 09:56:38PM +0200, Sascha Hauer wrote: > On Fri, Aug 10, 2012 at 08:50:08PM +0100, Mark Brown wrote: > > I'm trying to use -next to test AC'97 register I/O on an i.MX51 board > > but I'm seeing the CPU hang during probe at: > > > > lreg = (reg & 0x7f) << 12 ; > > writel(lreg, base + SSI_SACADD); > > > > in imx_ssi_ac97_read(). I'm somewhat suspicious this might be because > > the IP block isn't clocked properly, I do notice the recent conversion > > to the clock API which looks rather involved but it's possible something > > else broke. Does anyone have any bright ideas what might be going on > > here? The board doesn't have the reste functions defined so this is the > > first interaction with the hardware block AFAICT. > > No idea currently, just adding Uwe to Cc because I think he has seen > something similar on an i.MX35 board recently. I havn't debugged that yet, but one issue I think needs to be solved is that since the clk conversion there are two ssi clocks. And from a quick look the ssi driver only handles one of them. Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 12+ messages in thread
* Lockups reading from i.MX51 SSI registers 2012-08-10 20:14 ` Uwe Kleine-König @ 2012-08-10 21:06 ` Sascha Hauer 2012-08-17 19:08 ` [alsa-devel] " Fabio Estevam 0 siblings, 1 reply; 12+ messages in thread From: Sascha Hauer @ 2012-08-10 21:06 UTC (permalink / raw) To: linux-arm-kernel On Fri, Aug 10, 2012 at 10:14:56PM +0200, Uwe Kleine-K?nig wrote: > Hi, > > On Fri, Aug 10, 2012 at 09:56:38PM +0200, Sascha Hauer wrote: > > On Fri, Aug 10, 2012 at 08:50:08PM +0100, Mark Brown wrote: > > > I'm trying to use -next to test AC'97 register I/O on an i.MX51 board > > > but I'm seeing the CPU hang during probe at: > > > > > > lreg = (reg & 0x7f) << 12 ; > > > writel(lreg, base + SSI_SACADD); > > > > > > in imx_ssi_ac97_read(). I'm somewhat suspicious this might be because > > > the IP block isn't clocked properly, I do notice the recent conversion > > > to the clock API which looks rather involved but it's possible something > > > else broke. Does anyone have any bright ideas what might be going on > > > here? The board doesn't have the reste functions defined so this is the > > > first interaction with the hardware block AFAICT. > > > > No idea currently, just adding Uwe to Cc because I think he has seen > > something similar on an i.MX35 board recently. > I havn't debugged that yet, but one issue I think needs to be solved is > that since the clk conversion there are two ssi clocks. And from a quick > look the ssi driver only handles one of them. One clock is for the bus which must be turned on. The other is for the bitclock which we currently can ignore since we only support clock slave mode. On an i.MX5 ssi[123]_ipg_gate must be turned on by the ssi driver. From a quick look to the clock code it looks correct. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ^ permalink raw reply [flat|nested] 12+ messages in thread
* [alsa-devel] Lockups reading from i.MX51 SSI registers 2012-08-10 21:06 ` Sascha Hauer @ 2012-08-17 19:08 ` Fabio Estevam 2012-08-17 22:27 ` Mark Brown 0 siblings, 1 reply; 12+ messages in thread From: Fabio Estevam @ 2012-08-17 19:08 UTC (permalink / raw) To: linux-arm-kernel On Fri, Aug 10, 2012 at 6:06 PM, Sascha Hauer <s.hauer@pengutronix.de> wrote: > One clock is for the bus which must be turned on. The other is for the > bitclock which we currently can ignore since we only support clock slave > mode. > On an i.MX5 ssi[123]_ipg_gate must be turned on by the ssi driver. From > a quick look to the clock code it looks correct. I tested audio playback on a mx51evk board last week using linux-next and it worked fine (it has a sgtl5000). I don't have any hardware with ac97 to try it. Also, for the playback to work you need to install the SDMA firmware. Regards, Fabio Estevam ^ permalink raw reply [flat|nested] 12+ messages in thread
* [alsa-devel] Lockups reading from i.MX51 SSI registers 2012-08-17 19:08 ` [alsa-devel] " Fabio Estevam @ 2012-08-17 22:27 ` Mark Brown 2012-08-17 23:35 ` Fabio Estevam 2012-08-18 7:42 ` Uwe Kleine-König 0 siblings, 2 replies; 12+ messages in thread From: Mark Brown @ 2012-08-17 22:27 UTC (permalink / raw) To: linux-arm-kernel On Fri, Aug 17, 2012 at 04:08:47PM -0300, Fabio Estevam wrote: > Also, for the playback to work you need to install the SDMA firmware. This is deadlocking during boot, I'm getting nowhere near trying playback. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120817/4714a7a7/attachment.sig> ^ permalink raw reply [flat|nested] 12+ messages in thread
* [alsa-devel] Lockups reading from i.MX51 SSI registers 2012-08-17 22:27 ` Mark Brown @ 2012-08-17 23:35 ` Fabio Estevam 2012-08-18 6:31 ` Christoph Fritz 2012-08-20 13:18 ` Mark Brown 2012-08-18 7:42 ` Uwe Kleine-König 1 sibling, 2 replies; 12+ messages in thread From: Fabio Estevam @ 2012-08-17 23:35 UTC (permalink / raw) To: linux-arm-kernel On Fri, Aug 17, 2012 at 7:27 PM, Mark Brown <broonie@opensource.wolfsonmicro.com> wrote: > On Fri, Aug 17, 2012 at 04:08:47PM -0300, Fabio Estevam wrote: > >> Also, for the playback to work you need to install the SDMA firmware. > > This is deadlocking during boot, I'm getting nowhere near trying > playback. Are you running a dt or non-dt kernel? In case of a dt kernel, can you share the dts file? ^ permalink raw reply [flat|nested] 12+ messages in thread
* [alsa-devel] Lockups reading from i.MX51 SSI registers 2012-08-17 23:35 ` Fabio Estevam @ 2012-08-18 6:31 ` Christoph Fritz 2012-08-20 13:18 ` Mark Brown 1 sibling, 0 replies; 12+ messages in thread From: Christoph Fritz @ 2012-08-18 6:31 UTC (permalink / raw) To: linux-arm-kernel On Fri, 2012-08-17 at 20:35 -0300, Fabio Estevam wrote: > On Fri, Aug 17, 2012 at 7:27 PM, Mark Brown > <broonie@opensource.wolfsonmicro.com> wrote: > > On Fri, Aug 17, 2012 at 04:08:47PM -0300, Fabio Estevam wrote: > > > >> Also, for the playback to work you need to install the SDMA firmware. > > > > This is deadlocking during boot, I'm getting nowhere near trying > > playback. > > Are you running a dt or non-dt kernel? In case of a dt kernel, can you > share the dts file? I suppose Mark means an i.MX35 not an i.MX51. ^ permalink raw reply [flat|nested] 12+ messages in thread
* [alsa-devel] Lockups reading from i.MX51 SSI registers 2012-08-17 23:35 ` Fabio Estevam 2012-08-18 6:31 ` Christoph Fritz @ 2012-08-20 13:18 ` Mark Brown 2012-08-20 13:24 ` Fabio Estevam 1 sibling, 1 reply; 12+ messages in thread From: Mark Brown @ 2012-08-20 13:18 UTC (permalink / raw) To: linux-arm-kernel On Fri, Aug 17, 2012 at 08:35:49PM -0300, Fabio Estevam wrote: > Are you running a dt or non-dt kernel? In case of a dt kernel, can you > share the dts file? Non-DT. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120820/ba0bd2b2/attachment.sig> ^ permalink raw reply [flat|nested] 12+ messages in thread
* [alsa-devel] Lockups reading from i.MX51 SSI registers 2012-08-20 13:18 ` Mark Brown @ 2012-08-20 13:24 ` Fabio Estevam 0 siblings, 0 replies; 12+ messages in thread From: Fabio Estevam @ 2012-08-20 13:24 UTC (permalink / raw) To: linux-arm-kernel On 8/20/12, Mark Brown <broonie@opensource.wolfsonmicro.com> wrote: > On Fri, Aug 17, 2012 at 08:35:49PM -0300, Fabio Estevam wrote: > >> Are you running a dt or non-dt kernel? In case of a dt kernel, can you >> share the dts file? > > Non-DT. Please try this patch: http://www.spinics.net/lists/arm-kernel/msg190040.html Regards, Fabio Estevam ^ permalink raw reply [flat|nested] 12+ messages in thread
* [alsa-devel] Lockups reading from i.MX51 SSI registers 2012-08-17 22:27 ` Mark Brown 2012-08-17 23:35 ` Fabio Estevam @ 2012-08-18 7:42 ` Uwe Kleine-König 2012-08-18 14:53 ` Fabio Estevam 1 sibling, 1 reply; 12+ messages in thread From: Uwe Kleine-König @ 2012-08-18 7:42 UTC (permalink / raw) To: linux-arm-kernel On Fri, Aug 17, 2012 at 11:27:38PM +0100, Mark Brown wrote: > On Fri, Aug 17, 2012 at 04:08:47PM -0300, Fabio Estevam wrote: > > > Also, for the playback to work you need to install the SDMA firmware. > > This is deadlocking during boot, I'm getting nowhere near trying > playback. You're on i.MX35, right. I had to add clk_register_clkdev(clk[ssi1_gate], NULL, "imx-ssi.0"); to arch/arm/mach-imx/clk-imx35.c to be able to access the codec. (Obviously this is a hack, and to do it better, you'd need to change clk_register_clkdev(clk[ssi1_div_post], "per", "imx-ssi.0"); to use ssi1_gate and fix the ssi-driver to be aware that there are two clocks to handle.) Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 12+ messages in thread
* [alsa-devel] Lockups reading from i.MX51 SSI registers 2012-08-18 7:42 ` Uwe Kleine-König @ 2012-08-18 14:53 ` Fabio Estevam 0 siblings, 0 replies; 12+ messages in thread From: Fabio Estevam @ 2012-08-18 14:53 UTC (permalink / raw) To: linux-arm-kernel On Sat, Aug 18, 2012 at 4:42 AM, Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> wrote: > You're on i.MX35, right. I had to add > > clk_register_clkdev(clk[ssi1_gate], NULL, "imx-ssi.0"); Ah, ok. This is the same we have on arch/arm/mach-imx/clk-imx31.c , and mx31 audio playback is functional in next, so it looks like this will fix Mark's issue on mx35. Uwe, would you like to send this patch for clk-imx35.c ? Regards, Fabio Estevam ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2012-08-20 13:24 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-08-10 19:50 Lockups reading from i.MX51 SSI registers Mark Brown 2012-08-10 19:56 ` Sascha Hauer 2012-08-10 20:14 ` Uwe Kleine-König 2012-08-10 21:06 ` Sascha Hauer 2012-08-17 19:08 ` [alsa-devel] " Fabio Estevam 2012-08-17 22:27 ` Mark Brown 2012-08-17 23:35 ` Fabio Estevam 2012-08-18 6:31 ` Christoph Fritz 2012-08-20 13:18 ` Mark Brown 2012-08-20 13:24 ` Fabio Estevam 2012-08-18 7:42 ` Uwe Kleine-König 2012-08-18 14:53 ` Fabio Estevam
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).