From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: Tejun Heo <tj@kernel.org>
Cc: Pratyush Anand <pratyush.anand@gmail.com>,
linux-pci@vger.kernel.org, linux-ide@vger.kernel.org,
Russell King <linux@arm.linux.org.uk>
Subject: Re: Crash with sata_sil24 driver
Date: Wed, 23 Nov 2011 14:47:35 -0800 [thread overview]
Message-ID: <20111123144735.64dc9f05@jbarnes-desktop> (raw)
In-Reply-To: <20111123162937.GF25780@google.com>
[-- Attachment #1: Type: text/plain, Size: 3475 bytes --]
On Wed, 23 Nov 2011 08:29:37 -0800
Tejun Heo <tj@kernel.org> wrote:
> (cc'ing Russell, hello)
>
> The original thread can be read from
>
> http://thread.gmane.org/gmane.linux.usb.general/54878/
>
> On Wed, Nov 23, 2011 at 10:49:00AM +0530, Pratyush Anand wrote:
> > Hello Tejun,
> >
> >
> > On Tue, Nov 22, 2011 at 8:36 PM, Tejun Heo <tj@kernel.org> wrote:
> > > Hello,
> > >
> > > (cc'ing Jesse)
> > >
> > > On Tue, Nov 22, 2011 at 04:40:40PM +0530, Pratyush Anand wrote:
> > >> > I am using various PCIe card based on Silicon Image 3124/3132 to
> > >> > test my PCIe host. This card is working with most of my host controler.
> > >> > I use sata_sil24 driver to enable the card, with one modification of
> > >> > commenting line [pcie_set_readrq(pdev, 4096);]
> > >> >
> > >> > I had sent a patch for it , which is still unanswered.
> > >> > http://comments.gmane.org/gmane.linux.kernel.pci/10300
> > >
> > > Yeah, that's something lifted from proprietary driver and it's
> > > likely to be wrong. Jesse, is there a way to find out the safe
> > > maximum value for readrq? I'm a bit reluctant to drop it as pcie
> > > variants of these chips are bottlenecked on the host bus pretty badly.
> > >
> > >> > Anyway, this mail is regarding another issue.
> > >> >
> > >> > I am still having problem when I use above driver (with above patch),
> > >> > in following
> > >> > situation.
> > >> >
> > >> > My SOC is having cortex-a9 dual core. When I work with CPU freq 500
> > >> > MHz, it works
> > >> > well. But with 600 MHz it crashes. Crash log is at the end of mail.
> > >> >
> > >> > I did further debugging. I found that if I put some delay after
> > >> > calling of sil24_init_controller(host); in function sil24_init_one, it
> > >> > works well.
> > >> >
> > >> > My question is.
> > >> > does sil24_init_controller insure perfact initilization?
> > >> > or we missing to check some status register which might be needed
> > >> > before ata_host_activate.
> > >> > ---------------------------------------------------------------------
> > >> > Modules linked in:
> > >> > CPU: 0 Not tainted (2.6.37-lsp-3.2.2-rc-dirty #7)
> > >> > PC is at sil24_scr_read+0x38/0x50
> > >> > LR is at sil24_port_base+0x14/0x2c
> > >> > pc : [<80255e10>] lr : [<80255d44>] psr: 80000013
> > >
> > > Hmm... this is weird. All init happens in the same thread. There's
> > > no race condition involved here. I'm not too familiar with arm. Can
> > > you please track down what is causing the crash? ie. is it memory
> > > access to kernel data structure or io region?
> >
> > It is accessing SATA Controller registers rather kerenl data struct
> > at the time of crash.
> > It crashes when it tries to read SCR_CONTROL register.
> > Its really strage that same register become accesible if a delay of 10us is
> > put after sil24_init_controller.
>
> Weird, that basically means that somehow pci_iomap() isn't
> synchronous. ie. you need to way some time after pci_iomap() before
> being able to access the mapped address. Seems like arch / pci
> weirdness. Jesse, Russell, any ideas?
As Russel said, pci_iomap shouldn't be async. But maybe something else
in the init function is doing a chip reset or causing the chip to go
off into the weeds for a short time? That's generally the cause of
target timeouts for PCI devices.
--
Jesse Barnes, Intel Open Source Technology Center
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2011-11-23 22:47 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAHM4w1kc+5aYWH-09BPTXZdo8+iguFjORKs7mMhG7hea2UU8yQ@mail.gmail.com>
2011-11-22 11:10 ` Crash with sata_sil24 driver Pratyush Anand
2011-11-22 15:06 ` Tejun Heo
2011-11-23 5:19 ` Pratyush Anand
2011-11-23 16:29 ` Tejun Heo
2011-11-23 18:01 ` Russell King - ARM Linux
2011-11-24 3:32 ` Pratyush Anand
2011-11-23 22:47 ` Jesse Barnes [this message]
2011-11-24 1:48 ` Tejun Heo
2011-11-24 4:36 ` Pratyush Anand
2011-12-15 3:44 ` Pratyush Anand
2012-01-05 6:54 ` Pratyush Anand
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=20111123144735.64dc9f05@jbarnes-desktop \
--to=jbarnes@virtuousgeek.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=pratyush.anand@gmail.com \
--cc=tj@kernel.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