From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: Shawn Guo <shawn.guo@linaro.org>
Cc: alsa-devel@alsa-project.org,
Sascha Hauer <s.hauer@pengutronix.de>,
linux-arm-kernel@lists.infradead.org,
Timur Tabi <timur@freescale.com>
Subject: Re: [PATCH v2 17/17] ASoC: fsl: add imx-sgtl5000 machine driver
Date: Tue, 6 Mar 2012 12:02:47 +0000 [thread overview]
Message-ID: <20120306120247.GF19635@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <20120306073900.GP16232@S2101-09.ap.freescale.net>
[-- Attachment #1.1: Type: text/plain, Size: 3450 bytes --]
On Tue, Mar 06, 2012 at 03:39:02PM +0800, Shawn Guo wrote:
> On Mon, Mar 05, 2012 at 02:46:01PM +0000, Mark Brown wrote:
> > This you can just set in the card struct, no need for explicit code at
> > all.
> Yes, I just tried. It also works but a little bit differently. We
> only set_fmt for codec_dai here, while ASoC core will set_fmt for both
> codec_dai and cpu_dai if dai_link->dai_fmt is set. However, the
> fsl_ssi does not provide .set_fmt implementation, and consequently we
> will see error message below, which does not impact functionality
> though.
> fsl-ssi-dai 83fcc000.ssi: Failed to set DAI format: -22
> I hope we keep the code as it is now and improve later when fsl_ssi
> gets improved.
No, we should fix the core to work better in this case - not having a
DAI operation is perfectly normal and should be supported.
> > > + ret = of_property_read_u32(np, "fsl,mux-int-port", &int_port);
> > > + ret = of_property_read_u32(np, "fsl,mux-ext-port", &ext_port);
> > It seems very odd to have namespacing on the individual property names.
> > Why are you doing that? The properties are already defined in terms of
> > the device binding. Though everyone else is doing it so not really a
> > problem.
> The general device tree binding practice is we'd better have a vendor
> prefix on the property name, if the property applies on specific vendor
> drivers instead of common ones across different vendors.
There's nothing generic about this device, it only applies to a specific
combination of things and in so far as it applies to those the
properties are generic - any board combining i.MX and this CODEC is
going to have an audmux.
> > > + /*
> > > + * The port numbering in the hardware manual starts at 1, while
> > > + * the audmux API expects it starts at 0.
> > > + */
> > > + int_port--;
> > > + ext_port--;
> > Should have error checking somewhere to make sure that the user
> > remembered this.
> Because different i.MX SoC may have different internal and external
> port number, I do not think of a way to check that. And I would not
In that case the audmux code should be validating the arguments.
> worry about it that much, since all the hardware documents number the
> port from 1, while device tree user/author will have to look at those
> documents for the data.
OTOH the in kernel API uses a different numbering and if the user is
porting their existing code over to device tree...
> > > + imx_audmux_v2_configure_port(int_port,
> > > + IMX_AUDMUX_V2_PTCR_SYN |
> > > + IMX_AUDMUX_V2_PTCR_TFSEL(ext_port) |
> > > + IMX_AUDMUX_V2_PTCR_TCSEL(ext_port) |
> > > + IMX_AUDMUX_V2_PTCR_TFSDIR |
> > > + IMX_AUDMUX_V2_PTCR_TCLKDIR,
> > > + IMX_AUDMUX_V2_PDCR_RXDSEL(ext_port));
> > I'm not sure we've really gained much from converting to a platform
> > driver given that the device just registers something globally...
> Converting audmux to a platform driver does not change anything about
> that. It makes device tree support easier, and gets the audmux users
> (imx machine drivers) stay away from including <mach/audmux.h>.
It's not actually fixed anything in the APIs though and we've now also
got a race in the driver probes since the audmux now need to come up via
the device model instead of just being there - we could try to configure
the audmux with no platform driver bound. We should really have the
audmux as at least an aux_dev in the card to make sure it's there.
[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: broonie@opensource.wolfsonmicro.com (Mark Brown)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 17/17] ASoC: fsl: add imx-sgtl5000 machine driver
Date: Tue, 6 Mar 2012 12:02:47 +0000 [thread overview]
Message-ID: <20120306120247.GF19635@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <20120306073900.GP16232@S2101-09.ap.freescale.net>
On Tue, Mar 06, 2012 at 03:39:02PM +0800, Shawn Guo wrote:
> On Mon, Mar 05, 2012 at 02:46:01PM +0000, Mark Brown wrote:
> > This you can just set in the card struct, no need for explicit code at
> > all.
> Yes, I just tried. It also works but a little bit differently. We
> only set_fmt for codec_dai here, while ASoC core will set_fmt for both
> codec_dai and cpu_dai if dai_link->dai_fmt is set. However, the
> fsl_ssi does not provide .set_fmt implementation, and consequently we
> will see error message below, which does not impact functionality
> though.
> fsl-ssi-dai 83fcc000.ssi: Failed to set DAI format: -22
> I hope we keep the code as it is now and improve later when fsl_ssi
> gets improved.
No, we should fix the core to work better in this case - not having a
DAI operation is perfectly normal and should be supported.
> > > + ret = of_property_read_u32(np, "fsl,mux-int-port", &int_port);
> > > + ret = of_property_read_u32(np, "fsl,mux-ext-port", &ext_port);
> > It seems very odd to have namespacing on the individual property names.
> > Why are you doing that? The properties are already defined in terms of
> > the device binding. Though everyone else is doing it so not really a
> > problem.
> The general device tree binding practice is we'd better have a vendor
> prefix on the property name, if the property applies on specific vendor
> drivers instead of common ones across different vendors.
There's nothing generic about this device, it only applies to a specific
combination of things and in so far as it applies to those the
properties are generic - any board combining i.MX and this CODEC is
going to have an audmux.
> > > + /*
> > > + * The port numbering in the hardware manual starts at 1, while
> > > + * the audmux API expects it starts at 0.
> > > + */
> > > + int_port--;
> > > + ext_port--;
> > Should have error checking somewhere to make sure that the user
> > remembered this.
> Because different i.MX SoC may have different internal and external
> port number, I do not think of a way to check that. And I would not
In that case the audmux code should be validating the arguments.
> worry about it that much, since all the hardware documents number the
> port from 1, while device tree user/author will have to look at those
> documents for the data.
OTOH the in kernel API uses a different numbering and if the user is
porting their existing code over to device tree...
> > > + imx_audmux_v2_configure_port(int_port,
> > > + IMX_AUDMUX_V2_PTCR_SYN |
> > > + IMX_AUDMUX_V2_PTCR_TFSEL(ext_port) |
> > > + IMX_AUDMUX_V2_PTCR_TCSEL(ext_port) |
> > > + IMX_AUDMUX_V2_PTCR_TFSDIR |
> > > + IMX_AUDMUX_V2_PTCR_TCLKDIR,
> > > + IMX_AUDMUX_V2_PDCR_RXDSEL(ext_port));
> > I'm not sure we've really gained much from converting to a platform
> > driver given that the device just registers something globally...
> Converting audmux to a platform driver does not change anything about
> that. It makes device tree support easier, and gets the audmux users
> (imx machine drivers) stay away from including <mach/audmux.h>.
It's not actually fixed anything in the APIs though and we've now also
got a race in the driver probes since the audmux now need to come up via
the device model instead of just being there - we could try to configure
the audmux with no platform driver bound. We should really have the
audmux as at least an aux_dev in the card to make sure it's there.
-------------- 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/20120306/ff5dab18/attachment.sig>
next prev parent reply other threads:[~2012-03-06 12:02 UTC|newest]
Thread overview: 122+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-05 14:30 [PATCH v2 00/17] ASoC: add imx-sgtl5000 machine driver working with fsl_ssi Shawn Guo
2012-03-05 14:30 ` Shawn Guo
2012-03-05 14:20 ` Mark Brown
2012-03-05 14:20 ` Mark Brown
2012-03-05 14:44 ` Shawn Guo
2012-03-05 14:44 ` Shawn Guo
2012-03-05 14:35 ` Mark Brown
2012-03-05 14:35 ` Mark Brown
2012-03-05 14:30 ` [PATCH v2 01/17] ASoC: imx: move eukrea audmux call into ASoC machine driver Shawn Guo
2012-03-05 14:30 ` Shawn Guo
2012-03-05 17:46 ` Mark Brown
2012-03-05 17:46 ` Mark Brown
2012-03-05 17:55 ` Matt Sealey
2012-03-05 17:55 ` Matt Sealey
2012-03-05 20:36 ` Mark Brown
2012-03-05 20:36 ` Mark Brown
2012-03-05 19:27 ` Sascha Hauer
2012-03-05 19:27 ` Sascha Hauer
2012-03-05 23:45 ` Shawn Guo
2012-03-05 23:45 ` Shawn Guo
2012-03-06 0:06 ` Mark Brown
2012-03-06 0:06 ` Mark Brown
2012-03-05 14:30 ` [PATCH v2 02/17] ASoC: imx: move phycore " Shawn Guo
2012-03-05 14:30 ` Shawn Guo
2012-03-05 14:30 ` [PATCH v2 03/17] ARM: imx: merge audmux-v1 and audmux-v2 Shawn Guo
2012-03-05 14:30 ` Shawn Guo
2012-03-05 14:30 ` [PATCH v2 04/17] ARM: imx: convert audmux to a platform driver Shawn Guo
2012-03-05 14:30 ` Shawn Guo
2012-03-05 14:30 ` [PATCH v2 05/17] ASoC: imx: move audmux driver into sound/soc/imx Shawn Guo
2012-03-05 14:30 ` Shawn Guo
2012-03-05 14:30 ` [PATCH v2 06/17] ASoC: imx: rename audmux prefix mxc to imx Shawn Guo
2012-03-05 14:30 ` Shawn Guo
2012-03-05 14:30 ` [PATCH v2 07/17] ASoC: imx: separate imx-pcm bits from imx-ssi driver Shawn Guo
2012-03-05 14:30 ` Shawn Guo
2012-03-05 14:30 ` [PATCH v2 08/17] ASoC: imx: add an explicit Kconfig option for " Shawn Guo
2012-03-05 14:30 ` Shawn Guo
2012-03-05 14:30 ` [PATCH v2 09/17] ASoC: fsl: separate SSI and DMA Kconfig options Shawn Guo
2012-03-05 14:30 ` Shawn Guo
2012-03-07 20:20 ` Timur Tabi
2012-03-07 20:20 ` Timur Tabi
2012-03-08 13:08 ` Shawn Guo
2012-03-08 13:08 ` Shawn Guo
2012-03-05 14:30 ` [PATCH v2 10/17] ASoC: imx: merge sound/soc/imx into sound/soc/fsl Shawn Guo
2012-03-05 14:30 ` Shawn Guo
2012-03-05 17:39 ` Sascha Hauer
2012-03-05 17:39 ` Sascha Hauer
2012-03-05 23:46 ` Shawn Guo
2012-03-05 23:46 ` Shawn Guo
2012-03-06 5:46 ` Shawn Guo
2012-03-06 5:46 ` Shawn Guo
2012-03-05 14:30 ` [PATCH v2 11/17] ASoC: fsl: create fsl_utils to accommodate the common functions Shawn Guo
2012-03-05 14:30 ` Shawn Guo
2012-03-05 14:49 ` Mark Brown
2012-03-05 14:49 ` Mark Brown
2012-03-05 15:48 ` Timur Tabi
2012-03-05 15:48 ` Timur Tabi
2012-03-05 16:15 ` Mark Brown
2012-03-05 16:15 ` Mark Brown
2012-03-06 6:27 ` Shawn Guo
2012-03-06 6:27 ` Shawn Guo
2012-03-05 14:31 ` [PATCH v2 12/17] ASoC: fsl: check property 'compatible' for the machine name Shawn Guo
2012-03-05 14:31 ` Shawn Guo
2012-03-05 14:31 ` [PATCH v2 13/17] ASoC: fsl: make fsl_ssi driver compilable on ARM/IMX Shawn Guo
2012-03-05 14:31 ` Shawn Guo
2012-03-05 14:31 ` [PATCH v2 14/17] ASoC: fsl: remove the fatal error checking on codec-handle Shawn Guo
2012-03-05 14:31 ` Shawn Guo
2012-03-05 14:31 ` [PATCH v2 15/17] ASoC: fsl: let fsl_ssi work with imx pcm and machine drivers Shawn Guo
2012-03-05 14:31 ` Shawn Guo
2012-03-05 14:31 ` [PATCH v2 16/17] ASoC: fsl: add dt support for imx-audmux Shawn Guo
2012-03-05 14:31 ` Shawn Guo
2012-03-06 12:49 ` Mark Brown
2012-03-06 12:49 ` Mark Brown
2012-03-06 13:13 ` Shawn Guo
2012-03-06 13:13 ` Shawn Guo
2012-03-05 14:31 ` [PATCH v2 17/17] ASoC: fsl: add imx-sgtl5000 machine driver Shawn Guo
2012-03-05 14:31 ` Shawn Guo
2012-03-05 14:46 ` Mark Brown
2012-03-05 14:46 ` Mark Brown
2012-03-06 7:39 ` Shawn Guo
2012-03-06 7:39 ` Shawn Guo
2012-03-06 12:02 ` Mark Brown [this message]
2012-03-06 12:02 ` Mark Brown
2012-03-06 13:34 ` Shawn Guo
2012-03-06 13:34 ` Shawn Guo
2012-03-06 13:35 ` Mark Brown
2012-03-06 13:35 ` Mark Brown
2012-03-05 17:42 ` Sascha Hauer
2012-03-05 17:42 ` Sascha Hauer
2012-03-05 18:09 ` Matt Sealey
2012-03-05 18:09 ` Matt Sealey
2012-03-05 19:32 ` Sascha Hauer
2012-03-05 19:32 ` Sascha Hauer
2012-03-05 20:44 ` Mark Brown
2012-03-05 20:44 ` Mark Brown
2012-03-05 21:08 ` Timur Tabi
2012-03-05 21:08 ` Timur Tabi
2012-03-06 15:50 ` Shawn Guo
2012-03-06 15:50 ` Shawn Guo
2012-03-07 8:37 ` Sascha Hauer
2012-03-07 8:37 ` Sascha Hauer
2012-03-07 21:05 ` [PATCH v2 00/17] ASoC: add imx-sgtl5000 machine driver working with fsl_ssi Timur Tabi
2012-03-07 21:05 ` Timur Tabi
2012-03-07 21:08 ` Mark Brown
2012-03-07 21:08 ` Mark Brown
2012-03-07 23:03 ` Timur Tabi
2012-03-07 23:03 ` Timur Tabi
2012-03-08 11:51 ` Mark Brown
2012-03-08 11:51 ` Mark Brown
2012-03-08 12:33 ` Shawn Guo
2012-03-08 12:33 ` Shawn Guo
2012-03-08 12:36 ` Tabi Timur-B04825
2012-03-08 12:36 ` Tabi Timur-B04825
2012-03-07 23:18 ` Timur Tabi
2012-03-07 23:18 ` Timur Tabi
2012-03-08 12:02 ` Mark Brown
2012-03-08 12:02 ` Mark Brown
2012-03-08 12:37 ` Shawn Guo
2012-03-08 12:37 ` Shawn Guo
2012-03-08 13:11 ` Shawn Guo
2012-03-08 13:11 ` Shawn Guo
2012-03-08 14:45 ` Tabi Timur-B04825
2012-03-08 14:45 ` Tabi Timur-B04825
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120306120247.GF19635@opensource.wolfsonmicro.com \
--to=broonie@opensource.wolfsonmicro.com \
--cc=alsa-devel@alsa-project.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=s.hauer@pengutronix.de \
--cc=shawn.guo@linaro.org \
--cc=timur@freescale.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.