public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: David Brownell <david-b@pacbell.net>
Cc: "Woodruff, Richard" <r-woodruff2@ti.com>,
	Tony Lindgren <tony@atomide.com>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	Eduardo Valentin <edubezval@gmail.com>
Subject: Re: FOR COMMENT: void __iomem * and similar casts are Bad News
Date: Wed, 3 Sep 2008 23:56:54 +0100	[thread overview]
Message-ID: <20080903225654.GO19980@flint.arm.linux.org.uk> (raw)
In-Reply-To: <200809031506.00261.david-b@pacbell.net>

On Wed, Sep 03, 2008 at 03:05:59PM -0700, David Brownell wrote:
> According to Mr. Grep, there are at least 10 ARMs that work
> like that in mainline.  Maybe Russell can recommend one of
> them as a preferred model.

As I've been trying to say, I see this as a separate issue for the near
future.  At the moment, I'm trying to concentrate on one aspect only.

That is, getting OMAP to the point that we're using the compiler to
warn us when we do something silly, like passing a virtual address
to a function which takes a physical address, and fixing the places
which are currently wrong.

Anything else like changing the ioremap behaviour is actually
completely orthogonal to that, and *is* a distraction.  Rather than
actually fixing the mcbsp.c issue, I've spent the last hour or so
composing various replies to Richard's emails, and then postponing
them, reading more of this thread, creating more replies, postponing
those as well, etc.

Anyway, what I've done now is committed the minimal set of fixes so
far to go into mainline for the current -rc so we can at least improve
the situation there.  That's not to say that the other patch won't be
going in - it will in some form or other.

It can also be applied to the omap tree by saving this message as
"whateverpatchfile", running:

sed -i 's,\[id\]\.,->,' whateverpatchfile

and then applying "whateverpatchfile".  Expect some offsets.

Arun - can you please test this patch on your 5912 OSK board to see if
it resolves your problem please?

diff --git a/arch/arm/mach-omap1/mcbsp.c b/arch/arm/mach-omap1/mcbsp.c
index 826010d..b6ffbab 100644
--- a/arch/arm/mach-omap1/mcbsp.c
+++ b/arch/arm/mach-omap1/mcbsp.c
@@ -184,7 +184,7 @@ static struct omap_mcbsp_platform_data omap730_mcbsp_pdata[] = {
 #ifdef CONFIG_ARCH_OMAP15XX
 static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = {
 	{
-		.virt_base	= OMAP1510_MCBSP1_BASE,
+		.virt_base	= io_p2v(OMAP1510_MCBSP1_BASE),
 		.dma_rx_sync	= OMAP_DMA_MCBSP1_RX,
 		.dma_tx_sync	= OMAP_DMA_MCBSP1_TX,
 		.rx_irq		= INT_McBSP1RX,
@@ -201,7 +201,7 @@ static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = {
 		.ops		= &omap1_mcbsp_ops,
 	},
 	{
-		.virt_base	= OMAP1510_MCBSP3_BASE,
+		.virt_base	= io_p2v(OMAP1510_MCBSP3_BASE),
 		.dma_rx_sync	= OMAP_DMA_MCBSP3_RX,
 		.dma_tx_sync	= OMAP_DMA_MCBSP3_TX,
 		.rx_irq		= INT_McBSP3RX,
@@ -219,7 +219,7 @@ static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = {
 #ifdef CONFIG_ARCH_OMAP16XX
 static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = {
 	{
-		.virt_base	= OMAP1610_MCBSP1_BASE,
+		.virt_base	= io_p2v(OMAP1610_MCBSP1_BASE),
 		.dma_rx_sync	= OMAP_DMA_MCBSP1_RX,
 		.dma_tx_sync	= OMAP_DMA_MCBSP1_TX,
 		.rx_irq		= INT_McBSP1RX,
@@ -236,7 +236,7 @@ static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = {
 		.ops		= &omap1_mcbsp_ops,
 	},
 	{
-		.virt_base	= OMAP1610_MCBSP3_BASE,
+		.virt_base	= io_p2v(OMAP1610_MCBSP3_BASE),
 		.dma_rx_sync	= OMAP_DMA_MCBSP3_RX,
 		.dma_tx_sync	= OMAP_DMA_MCBSP3_TX,
 		.rx_irq		= INT_McBSP3RX,
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
index d084405..5245a2a 100644
--- a/arch/arm/plat-omap/mcbsp.c
+++ b/arch/arm/plat-omap/mcbsp.c
@@ -651,7 +651,7 @@ int omap_mcbsp_xmit_buffer(unsigned int id, dma_addr_t buffer,
 	omap_set_dma_dest_params(mcbsp[id].dma_tx_lch,
 				 src_port,
 				 OMAP_DMA_AMODE_CONSTANT,
-				 mcbsp[id].io_base + OMAP_MCBSP_REG_DXR1,
+				 io_v2p(mcbsp[id].io_base + OMAP_MCBSP_REG_DXR1),
 				 0, 0);
 
 	omap_set_dma_src_params(mcbsp[id].dma_tx_lch,
@@ -712,7 +712,7 @@ int omap_mcbsp_recv_buffer(unsigned int id, dma_addr_t buffer,
 	omap_set_dma_src_params(mcbsp[id].dma_rx_lch,
 				src_port,
 				OMAP_DMA_AMODE_CONSTANT,
-				mcbsp[id].io_base + OMAP_MCBSP_REG_DRR1,
+				io_v2p(mcbsp[id].io_base + OMAP_MCBSP_REG_DRR1),
 				0, 0);
 
 	omap_set_dma_dest_params(mcbsp[id].dma_rx_lch,



  reply	other threads:[~2008-09-03 22:57 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-27 22:08 FOR COMMENT: void __iomem * and similar casts are Bad News Russell King
2008-08-31 21:47 ` David Brownell
2008-09-02 22:15   ` Tony Lindgren
2008-09-03  7:55     ` Russell King - ARM Linux
2008-09-03 16:40       ` Tony Lindgren
2008-09-03 19:34         ` Russell King - ARM Linux
2008-09-03 19:48           ` Tony Lindgren
2008-09-03 21:09             ` David Brownell
2008-09-03 23:02               ` Russell King - ARM Linux
2008-09-03 19:58           ` Woodruff, Richard
2008-09-03 20:30             ` Russell King - ARM Linux
2008-09-03 21:19               ` Woodruff, Richard
2008-09-03 20:32             ` Tony Lindgren
2008-09-03 21:32               ` Woodruff, Richard
2008-09-03 21:35                 ` Tony Lindgren
2008-09-03 21:38                 ` Russell King - ARM Linux
2008-09-03 21:46                   ` Multi-Boot: Was " Woodruff, Richard
2008-09-03 21:18             ` David Brownell
2008-09-03 21:40               ` Woodruff, Richard
2008-09-03 22:05                 ` David Brownell
2008-09-03 22:56                   ` Russell King - ARM Linux [this message]
2008-09-04  0:28                     ` Tony Lindgren
2008-09-04  1:06                     ` David Brownell
2008-09-04  7:25                     ` Arun KS
2008-09-03 15:07     ` Eduardo Valentin
2008-09-03 18:01     ` Tony Lindgren
2008-09-04  0:16       ` David Brownell
2008-09-03 15:33 ` Eduardo Valentin
2008-09-03 18:48   ` Russell King
2008-09-03 19:33     ` Eduardo Valentin
2008-09-03 19:48       ` Russell King - ARM Linux
2008-09-03 20:04         ` Eduardo Valentin
2008-09-03 20:45           ` Russell King - ARM Linux
2008-09-03 20:50             ` Tony Lindgren
2008-09-03 20:56               ` Tony Lindgren
2008-09-03 21:07                 ` Russell King - ARM Linux
2008-09-03 21:13                   ` Tony Lindgren
2008-09-03 21:00             ` Koen Kooi
2008-09-03 20:37         ` Tony Lindgren
2008-09-03 21:04           ` Russell King - ARM Linux
2008-09-03 21:26             ` Eduardo Valentin
2008-09-03 21:48               ` Tony Lindgren
2008-09-03 21:35             ` David Brownell
2008-09-03 23:16               ` Russell King - ARM Linux
2008-09-04  9:46   ` Russell King - ARM Linux
2008-09-04 16:10     ` Tony Lindgren
2008-09-04 16:12       ` Russell King - ARM Linux
2008-09-04 16:29         ` Tony Lindgren
2008-09-04 17:07           ` Russell King - ARM Linux
2008-09-04 17:58             ` Tony Lindgren
2008-09-04 21:01               ` Russell King - ARM Linux
2008-09-04 21:20                 ` Tony Lindgren
2008-09-05  1:07                   ` Tony Lindgren
2008-09-05  5:17               ` Paul Walmsley
2008-09-05  5:58                 ` Paul Walmsley
2008-09-29  5:16                   ` Arun KS
2008-09-29  7:44                     ` Jarkko Nikula
2008-09-29  9:24                       ` Arun KS

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=20080903225654.GO19980@flint.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --cc=david-b@pacbell.net \
    --cc=edubezval@gmail.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=r-woodruff2@ti.com \
    --cc=tony@atomide.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox