From: Timur Tabi <timur@freescale.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: alsa-devel@alsa-project.org,
Sergei Shtylyov <sshtylyov@ru.mvista.com>,
Sascha Hauer <s.hauer@pengutronix.de>,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
Shawn Guo <shawn.guo@linaro.org>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 4/4] ASoC: fsl: make fsl_ssi driver compilable on ARM/IMX
Date: Fri, 24 Feb 2012 17:05:16 -0600 [thread overview]
Message-ID: <4F4817AC.7050406@freescale.com> (raw)
In-Reply-To: <20120224223512.GB15120@n2100.arm.linux.org.uk>
Russell King - ARM Linux wrote:
> Ho hum. So, what that's saying to me is that even implementing in_32be()
> on ARM results in rubbish because it wouldn't be big endian there.
Well, the "be" in in_be32() means to assume that 32-bit integer is stored
in big-endian format, and to convert it to native format during the read.
An ARM implementation of in_be32() would include byte-swapping.
> So are we heading towards driver specific sets of IO accessors? :-( It
> sounds like that's what it needs because of these different endian-ness
> issues.
I'm surprised that ioread32() on PowerPC always does a little-endian read,
but I'm guessing that was done for compatibility. I don't know what to do
about that.
> And lets not forget that we're talking just about this - there's also
> the issue of on-SoC devices on ARM now appearing behind PCI buses on
> x86, which would make those appear as LE. I bet if any of those
> appearing on PPC would appear in BE mode. So, 'native endian' doesn't
> work either.
I think PCI is a special-case on most PowerPC parts, in that the registers
are still little-endian. But I don't know how pervasive that is. In
fact, I think on some Freescale PowerPC SOCs, the PCI registers are
little-endian, and other others they're big-endian. You can see that in
fsl_pci.c.
> So, I'm getting the feeling that something as simple as IO accessors are
> just a huge mountain of crap waiting to bite.
Very few devices are shared between Freescale's PowerPC and ARM SOCs, so
the impact is only a few drivers. That's why it might be okay (for now)
to have "dual" I/O accessors in specific drivers.
--
Timur Tabi
Linux kernel developer at Freescale
WARNING: multiple messages have this Message-ID (diff)
From: timur@freescale.com (Timur Tabi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/4] ASoC: fsl: make fsl_ssi driver compilable on ARM/IMX
Date: Fri, 24 Feb 2012 17:05:16 -0600 [thread overview]
Message-ID: <4F4817AC.7050406@freescale.com> (raw)
In-Reply-To: <20120224223512.GB15120@n2100.arm.linux.org.uk>
Russell King - ARM Linux wrote:
> Ho hum. So, what that's saying to me is that even implementing in_32be()
> on ARM results in rubbish because it wouldn't be big endian there.
Well, the "be" in in_be32() means to assume that 32-bit integer is stored
in big-endian format, and to convert it to native format during the read.
An ARM implementation of in_be32() would include byte-swapping.
> So are we heading towards driver specific sets of IO accessors? :-( It
> sounds like that's what it needs because of these different endian-ness
> issues.
I'm surprised that ioread32() on PowerPC always does a little-endian read,
but I'm guessing that was done for compatibility. I don't know what to do
about that.
> And lets not forget that we're talking just about this - there's also
> the issue of on-SoC devices on ARM now appearing behind PCI buses on
> x86, which would make those appear as LE. I bet if any of those
> appearing on PPC would appear in BE mode. So, 'native endian' doesn't
> work either.
I think PCI is a special-case on most PowerPC parts, in that the registers
are still little-endian. But I don't know how pervasive that is. In
fact, I think on some Freescale PowerPC SOCs, the PCI registers are
little-endian, and other others they're big-endian. You can see that in
fsl_pci.c.
> So, I'm getting the feeling that something as simple as IO accessors are
> just a huge mountain of crap waiting to bite.
Very few devices are shared between Freescale's PowerPC and ARM SOCs, so
the impact is only a few drivers. That's why it might be okay (for now)
to have "dual" I/O accessors in specific drivers.
--
Timur Tabi
Linux kernel developer at Freescale
next prev parent reply other threads:[~2012-02-24 23:05 UTC|newest]
Thread overview: 164+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-23 6:47 [PATCH 1/4] ASoC: imx: let SND_MXC_SOC_FIQ select FIQ Shawn Guo
2012-02-23 6:47 ` Shawn Guo
2012-02-23 6:47 ` [PATCH 2/4] ASoC: imx: move SND_SOC_AC97_BUS selection down to machine driver Shawn Guo
2012-02-23 6:47 ` Shawn Guo
2012-02-23 6:47 ` [PATCH 3/4] ASoC: imx: initialize dma_params burstsize just in imx-ssi Shawn Guo
2012-02-23 6:47 ` Shawn Guo
2012-02-23 6:47 ` [PATCH 4/4] ASoC: imx: separate imx-pcm bits from imx-ssi driver Shawn Guo
2012-02-23 6:47 ` Shawn Guo
2012-02-23 14:48 ` [PATCH 0/4] ASoC: merge imx into fsl Shawn Guo
2012-02-23 14:48 ` Shawn Guo
2012-02-23 14:48 ` [PATCH 1/4] ASoC: imx: add an explicit Kconfig option for imx-ssi driver Shawn Guo
2012-02-23 14:48 ` Shawn Guo
2012-02-23 15:40 ` Timur Tabi
2012-02-23 15:40 ` Timur Tabi
2012-02-24 1:28 ` Shawn Guo
2012-02-24 1:28 ` Shawn Guo
2012-02-24 2:59 ` Tabi Timur-B04825
2012-02-24 2:59 ` Tabi Timur-B04825
2012-02-24 3:37 ` Shawn Guo
2012-02-24 3:37 ` Shawn Guo
2012-02-23 14:48 ` [PATCH 2/4] ASoC: fsl: separate SSI and DMA Kconfig options Shawn Guo
2012-02-23 14:48 ` Shawn Guo
2012-02-23 14:48 ` [PATCH 3/4] ASoC: imx: merge sound/soc/imx into sound/soc/fsl Shawn Guo
2012-02-23 14:48 ` Shawn Guo
2012-02-23 14:48 ` [PATCH 4/4] ASoC: fsl: make fsl_ssi driver compilable on ARM/IMX Shawn Guo
2012-02-23 14:48 ` Shawn Guo
2012-02-23 15:24 ` Sergei Shtylyov
2012-02-23 15:24 ` Sergei Shtylyov
2012-02-23 15:44 ` Timur Tabi
2012-02-23 15:44 ` Timur Tabi
2012-02-23 16:52 ` Russell King - ARM Linux
2012-02-23 16:52 ` Russell King - ARM Linux
2012-02-23 17:04 ` Timur Tabi
2012-02-23 17:04 ` Timur Tabi
2012-02-23 17:14 ` Russell King - ARM Linux
2012-02-23 17:14 ` Russell King - ARM Linux
2012-02-23 19:01 ` Trent Piepho
2012-02-23 19:01 ` [alsa-devel] " Trent Piepho
2012-02-24 21:29 ` Timur Tabi
2012-02-24 21:29 ` Timur Tabi
2012-02-24 21:54 ` Russell King - ARM Linux
2012-02-24 21:54 ` Russell King - ARM Linux
2012-02-24 22:00 ` Timur Tabi
2012-02-24 22:00 ` Timur Tabi
2012-02-24 22:35 ` Russell King - ARM Linux
2012-02-24 22:35 ` Russell King - ARM Linux
2012-02-24 23:05 ` Timur Tabi [this message]
2012-02-24 23:05 ` Timur Tabi
2012-02-24 23:15 ` Russell King - ARM Linux
2012-02-24 23:15 ` Russell King - ARM Linux
2012-02-24 23:22 ` Timur Tabi
2012-02-24 23:22 ` Timur Tabi
2012-02-24 23:28 ` Russell King - ARM Linux
2012-02-24 23:28 ` Russell King - ARM Linux
2012-02-24 23:38 ` Timur Tabi
2012-02-24 23:38 ` Timur Tabi
2012-02-24 14:09 ` [PATCH 0/6] ASoC: a few cleanups on sound/soc/fsl Shawn Guo
2012-02-24 14:09 ` Shawn Guo
2012-02-24 14:02 ` Mark Brown
2012-02-24 14:02 ` Mark Brown
2012-02-24 14:23 ` Shawn Guo
2012-02-24 14:23 ` Shawn Guo
2012-02-24 14:17 ` Mark Brown
2012-02-24 14:17 ` Mark Brown
2012-02-24 23:21 ` Shawn Guo
2012-02-24 23:21 ` Shawn Guo
2012-02-24 23:14 ` Timur Tabi
2012-02-24 23:14 ` Timur Tabi
2012-02-25 0:03 ` Shawn Guo
2012-02-25 0:03 ` Shawn Guo
2012-02-25 1:39 ` Tabi Timur-B04825
2012-02-25 1:39 ` Tabi Timur-B04825
2012-02-25 10:17 ` Russell King - ARM Linux
2012-02-25 10:17 ` Russell King - ARM Linux
2012-02-25 11:44 ` Mark Brown
2012-02-25 11:44 ` Mark Brown
2012-02-25 12:12 ` Russell King - ARM Linux
2012-02-25 12:12 ` Russell King - ARM Linux
2012-02-25 13:58 ` Mark Brown
2012-02-25 13:58 ` Mark Brown
2012-02-25 12:16 ` Shawn Guo
2012-02-25 12:16 ` Shawn Guo
2012-02-24 23:23 ` Russell King - ARM Linux
2012-02-24 23:23 ` Russell King - ARM Linux
2012-02-25 0:06 ` Shawn Guo
2012-02-25 0:06 ` Shawn Guo
2012-02-24 14:09 ` [PATCH 1/6] ASoC: fsl: correct get_dma_channel parameter name Shawn Guo
2012-02-24 14:09 ` Shawn Guo
2012-02-27 20:27 ` Timur Tabi
2012-02-27 20:27 ` Timur Tabi
2012-02-28 12:34 ` Mark Brown
2012-02-28 12:34 ` Mark Brown
2012-02-24 14:09 ` [PATCH 2/6] ASoC: fsl: align mpc8610_hpcd with p1022_ds on getting codec node Shawn Guo
2012-02-24 14:09 ` Shawn Guo
2012-02-27 20:31 ` Timur Tabi
2012-02-27 20:31 ` Timur Tabi
2012-02-28 12:35 ` Mark Brown
2012-02-28 12:35 ` Mark Brown
2012-02-24 14:09 ` [PATCH 3/6] ASoC: Remove unnecessary -codec from cs4270 driver name Shawn Guo
2012-02-24 14:09 ` Shawn Guo
2012-02-27 21:21 ` Timur Tabi
2012-02-27 21:21 ` Timur Tabi
2012-02-28 12:35 ` Mark Brown
2012-02-28 12:35 ` Mark Brown
2012-02-24 14:09 ` [PATCH 4/6] ASoC: fsl: create fsl_utils to accommodate the common functions Shawn Guo
2012-02-24 14:09 ` Shawn Guo
2012-02-27 18:15 ` Timur Tabi
2012-02-27 18:15 ` Timur Tabi
2012-02-27 21:36 ` Timur Tabi
2012-02-27 21:36 ` Timur Tabi
2012-02-28 2:15 ` Shawn Guo
2012-02-28 2:15 ` Shawn Guo
2012-02-28 2:15 ` Tabi Timur-B04825
2012-02-28 2:15 ` Tabi Timur-B04825
2012-02-28 16:51 ` Timur Tabi
2012-02-28 16:51 ` Timur Tabi
2012-02-24 14:09 ` [PATCH 5/6] ASoC: fsl: use platform_device_id table to match p1022_ds device Shawn Guo
2012-02-24 14:09 ` Shawn Guo
2012-02-27 21:39 ` Timur Tabi
2012-02-27 21:39 ` Timur Tabi
2012-02-27 21:39 ` Timur Tabi
2012-02-27 21:39 ` Timur Tabi
2012-02-28 1:52 ` Shawn Guo
2012-02-28 1:52 ` Shawn Guo
2012-02-24 14:09 ` [PATCH 6/6] ASoC: fsl: check property 'compatible' for the machine name Shawn Guo
2012-02-24 14:09 ` Shawn Guo
2012-02-24 14:12 ` Mark Brown
2012-02-24 14:12 ` Mark Brown
2012-02-24 16:30 ` Timur Tabi
2012-02-24 16:30 ` Timur Tabi
2012-02-25 0:09 ` Shawn Guo
2012-02-25 0:09 ` Shawn Guo
2012-02-25 11:39 ` Mark Brown
2012-02-25 11:39 ` Mark Brown
2012-02-25 1:28 ` Shawn Guo
2012-02-25 1:28 ` Shawn Guo
2012-02-25 11:42 ` Mark Brown
2012-02-25 11:42 ` Mark Brown
2012-02-25 13:09 ` Shawn Guo
2012-02-25 13:09 ` Shawn Guo
2012-02-25 13:27 ` Mark Brown
2012-02-25 13:27 ` Mark Brown
2012-02-25 14:03 ` Tabi Timur-B04825
2012-02-25 14:03 ` Tabi Timur-B04825
2012-02-24 16:32 ` Timur Tabi
2012-02-24 16:32 ` Timur Tabi
2012-02-24 23:23 ` Shawn Guo
2012-02-24 23:23 ` Shawn Guo
2012-02-24 23:22 ` Timur Tabi
2012-02-24 23:22 ` Timur Tabi
2012-02-27 21:54 ` Timur Tabi
2012-02-27 21:54 ` Timur Tabi
2012-02-28 1:50 ` Shawn Guo
2012-02-28 1:50 ` Shawn Guo
2012-02-28 2:12 ` Tabi Timur-B04825
2012-02-28 2:12 ` Tabi Timur-B04825
2012-02-28 3:13 ` Shawn Guo
2012-02-28 3:13 ` Shawn Guo
2012-02-28 3:42 ` Tabi Timur-B04825
2012-02-28 3:42 ` Tabi Timur-B04825
2012-02-28 5:35 ` Shawn Guo
2012-02-28 5:35 ` Shawn Guo
2012-02-27 20:28 ` [PATCH 0/6] ASoC: a few cleanups on sound/soc/fsl Timur Tabi
2012-02-27 20:28 ` Timur Tabi
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=4F4817AC.7050406@freescale.com \
--to=timur@freescale.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux@arm.linux.org.uk \
--cc=s.hauer@pengutronix.de \
--cc=shawn.guo@linaro.org \
--cc=sshtylyov@ru.mvista.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.