All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anton Vorontsov <avorontsov@ru.mvista.com>
To: Jeff Borlin <jborlin@aclaratech.com>
Cc: linuxppc-dev@ozlabs.org
Subject: Re: Compact Flash on 8349mITX
Date: Thu, 9 Oct 2008 21:23:38 +0400	[thread overview]
Message-ID: <20081009172338.GA4292@oksana.dev.rtsoft.ru> (raw)
In-Reply-To: <19900326.post@talk.nabble.com>

On Thu, Oct 09, 2008 at 08:52:09AM -0700, Jeff Borlin wrote:
> 
> I have taken over this effort to get Compact Flash working on the 8349mITX
> board and am running into these same issues.  I can get uBoot to list the
> contents of a CF card,

U-Boot doesn't use interrupts.

> but am running into a couple problems through the
> kernel.  There appears to be an IRQ problem and a general communication
> problem with the CF card, possibly related.  Note that I am very new to
> Linux so please don't assume obvious things are correct
> 
> I am using the latest from /linux/kernel/git/benh/powerpc.git, and created
> my dtb from:  arch/powerpc/dts/mpc8349emitx.dts.  
> 
> Any ideas on what I could try or look into next with either issue?  
> 
> boot info:  
> [...]
[...]

This happens just before the PATA information is printed. I'm not
libata expert; and from the brief look I don't see where libata
clears any pending "unexpected" irqs. Just a guesswork,
could you try this patch?

diff --git a/drivers/ata/pata_platform.c b/drivers/ata/pata_platform.c
index 8f65ad6..3b7c79d 100644
--- a/drivers/ata/pata_platform.c
+++ b/drivers/ata/pata_platform.c
@@ -15,6 +15,7 @@
 #include <linux/module.h>
 #include <linux/init.h>
 #include <linux/blkdev.h>
+#include <linux/io.h>
 #include <scsi/scsi_host.h>
 #include <linux/ata.h>
 #include <linux/libata.h>
@@ -171,6 +172,8 @@ int __devinit __pata_platform_probe(struct device *dev,
 
 	pata_platform_setup_port(&ap->ioaddr, ioport_shift);
 
+	ioread8(ap->ioaddr.status_addr);
+
 	ata_port_desc(ap, "%s cmd 0x%llx ctl 0x%llx", mmio ? "mmio" : "ioport",
 		      (unsigned long long)io_res->start,
 		      (unsigned long long)ctl_res->start);


> irq 23: nobody cared (try booting with the "irqpoll" option)
> Call Trace:
> [cec29a30] [c00089a4] 0xc00089a4 (unreliable)
> [cec29a60] [c00467d8] 0xc00467d8
> [...]
> Disabling IRQ #23
> scsi4 : pata_platform
> ata5: PATA max PIO6 mmio cmd 0xf0000000 ctl 0xf000020c irq 23
> ata5.00: CFA: SanDisk SDCFJ-512, HDX 3.13, max MWDMA2
> ata5.00: 1000944 sectors, multi 0: LBA
> ata5.00: configured for PIO

Can you check if the CF will work w/o IRQs? To try it:

1. open the arch/powerpc/dts/mpc8349emitx.dts file, find the pata node:

                pata@3,0 {
                        compatible = "fsl,mpc8349emitx-pata", "ata-generic";
                        reg = <0x3 0x0 0x10 0x3 0x20c 0x4>;
                        reg-shift = <1>;
                        pio-mode = <6>;
                        interrupts = <23 0x8>;
                        interrupt-parent = <&ipic>;
                };

2. delete interrupts = <>; and interrupt-parent = <>; lines.

3. recompile the dts to dtb.

4. Apply this patch to the kernel http://lkml.org/lkml/2008/10/6/176

5. And try to boot the patched kernel using the re-compiled dtb file.

> scsi 4:0:0:0: Direct-Access     ATA      SanDisk SDCFJ-51 HDX  PQ: 0 ANSI: 5
> sd 4:0:0:0: [sda] 1000944 512-byte hardware sectors (512 MB)
> sd 4:0:0:0: [sda] Write Protect is off
> sd 4:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't
> support DPO or FUA
> sd 4:0:0:0: [sda] 1000944 512-byte hardware sectors (512 MB)
> sd 4:0:0:0: [sda] Write Protect is off
> sd 4:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't
> support DPO or FUA
>  sda:<3>ata5.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
> ata5.00: cmd 20/00:08:00:00:00/00:00:00:00:00/e0 tag 0 pio 4096 in
>          res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
> ata5.00: status: { DRDY }
> ata5: soft resetting link
> ata5.00: configured for PIO
> ata5: EH complete
> ata5.00: limiting speed to UDMA7:PIO5
> ata5.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
> ata5.00: cmd 20/00:08:00:00:00/00:00:00:00:00/e0 tag 0 pio 4096 in
>          res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
> ata5.00: status: { DRDY }
> ata5: soft resetting link
> ata5.00: configured for PIO
> ata5: EH complete
> ata5.00: limiting speed to PIO0
> [...]


Thanks,

-- 
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2

  parent reply	other threads:[~2008-10-09 17:23 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <6011A7C9CD0EE74792C3ED2A835560861FA9C0@mail.twacs.com>
2008-07-31 14:24 ` Compact Flash on 8349mITX Sparks, Sam
2008-10-09 15:52   ` Jeff Borlin
2008-10-09 16:28     ` Timur Tabi
2008-10-09 17:00       ` Jeff Borlin
2008-10-09 17:28         ` Timur Tabi
2008-10-09 18:05           ` Jeff Borlin
2008-10-09 17:23     ` Anton Vorontsov [this message]
2008-10-10  2:14       ` Wang Jian
2008-10-10 12:03         ` Anton Vorontsov
2008-10-10  3:27       ` Jeff Borlin
2008-10-10  7:26         ` Wang Jian
2008-10-10 11:40           ` Anton Vorontsov
2008-10-10 11:47         ` Anton Vorontsov
2008-07-31 13:14 Sparks, Sam

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=20081009172338.GA4292@oksana.dev.rtsoft.ru \
    --to=avorontsov@ru.mvista.com \
    --cc=jborlin@aclaratech.com \
    --cc=linuxppc-dev@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 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.