linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Kumar Gala <galak@kernel.crashing.org>
To: Charles Krinke <ckrinke@istor.com>
Cc: linuxppc-embedded@ozlabs.org
Subject: Re: understanding an IO question
Date: Wed, 21 Feb 2007 12:03:36 -0600	[thread overview]
Message-ID: <5E54085E-FFA1-4C06-A130-3DFB21EB523A@kernel.crashing.org> (raw)
In-Reply-To: <9F3F0A752CAEBE4FA7E906CC2FBFF57C06A166@MERCURY.inside.istor.com>

> Dear Kumar:
>
> I hope all is well with you and I appreciate your taking time to  
> have a
> mini-dialog with me today.

No problem.  If you're ever in Austin, buy me a beer ;)
> Here's the deal. First of all, we are using the linux-2.6.17.11 code
> base from kernel.org, which was the latest one when this project
> started. We have validated that our driver, with no modifications,  
> works
> fine on our existing production 8241 board with this kernel. This  
> driver
> does use ioremap_nocache(), request_region() and other common
> driver-type calls, so I suspect the issue is the kernel is not setup
> quite right for the driver, not that the driver needs modification for
> the kernel.
>
> Starting from that premise, I know that we depend on outbound address
> translation windows and any necessary TLB setup to get access to  
> the CPU
> address region around 0x8400_0000.
>
> The reason for the outbound address translation windows has to do with
> the fact that we use a DAC (Dual Address Cycle) to a 64bit PCI address
> at 0x1_0000_0000 or 0x3_0000_0000 depending on whether we are
> writing/reading to the window at 0x8800_0000 or 0x8400_0000.

This does all seem odd.  The fact that it works fine from u-boot but  
not the kernel gets me.

> One thing that puzzles me is that a 'cat /proc/iomem' shows a PCI  
> window
> is setup in Linux, like this
>
>>> cat /proc/iomem
>>> 80000000-9fffffff : PCI1 host bridge
>
> I don't see anywhere in the Linux-2.6.17.11 code base where this  
> window
> is setup. Perhaps you could point me towards the section of code where
> this is done.

This is done in arch/ppc/syslib/ppc85xx_setup.c in mpc85xx_setup_hose 
().  And now that I look at it I think I was lying before about not  
setting up outbound windows.  (I'm thinking newer kernels).

Maybe something in mpc85xx_setup_hose() is causing you issues.  I'd  
suggest dumping the pci law* from u-boot and doing the same in the  
kernel and make sure they match.

> On the ioremap()/ioremap_nocache() issue. I did look at the source in
> the kernel for ioremp_nocache() and it is #defined to be ioremap(),  
> so I
> think it is safe to assume they are the same.

Ok, just thinking of what might be going on.

- k

  reply	other threads:[~2007-02-21 18:04 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-21 15:21 understanding an IO question Charles Krinke
2007-02-21 18:03 ` Kumar Gala [this message]
  -- strict thread matches above, loose matches on Subject: below --
2007-02-23 14:16 Charles Krinke
2007-02-23 16:11 ` Kumar Gala
2007-02-21 18:29 Charles Krinke
2007-02-21 14:14 Charles Krinke
2007-02-21 14:54 ` Florian Boelstler
2007-02-21 15:04 ` Kumar Gala
2007-02-21  1:13 Charles Krinke
2007-02-21  8:50 ` Ami Levi Waves

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=5E54085E-FFA1-4C06-A130-3DFB21EB523A@kernel.crashing.org \
    --to=galak@kernel.crashing.org \
    --cc=ckrinke@istor.com \
    --cc=linuxppc-embedded@ozlabs.org \
    /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;
as well as URLs for NNTP newsgroup(s).