From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: list linux-ide <linux-ide@vger.kernel.org>
Subject: Re: DMA breakage in 2.6.29-rc*
Date: Sun, 1 Feb 2009 17:44:07 +0100 [thread overview]
Message-ID: <200902011744.07794.bzolnier@gmail.com> (raw)
In-Reply-To: <1233313678.18767.25.camel@pasglop>
Hi,
On Friday 30 January 2009, Benjamin Herrenschmidt wrote:
> On Fri, 2009-01-30 at 16:46 +1100, Benjamin Herrenschmidt wrote:
> > Hi Bart !
> >
> > On a bunch of pmac's, I'm getting lost interrupts when trying to do DMA
> > with ide hard disks (first time at boot when reading the partition
> > table). It then times out, reverts to PIO and boots fine.
> >
> > Haven't had time to fully bisect yet, but it seem to be somewhere in the
> > pile of IDE patches (surprise :-) that went in around that time.
> >
> > I'll dig more next week, but in the meantime, I though you may have a
> > possible candidate in mind.
>
> Smells like the patch that popped up not long ago already (can't find
> the thread now) where you cleaned up the port registration and broke our
> trick of passing a different parent device than the one used for DMA or
> something like that ... that mixed with something not testing the dma
Yeah my bad, though thanks to Andreas Schwab it is fixed in -rc3.
> map results (probably my fault) and I think we are passing crap DMA
> addresses to the device.
>
> I'll sort it out. I should be able to just add working dma ops to the
> macio_device, it's a lot easier now that ppc32 has the same dma ops
> structure in struct device as ppc64.
Would be great as I have completely no idea about this stuff.
While you are at DMA support and will be fixing/testing it anyway
you may try to remove long standing duplication/obfuscation:
/* Those fields are duplicating what is in hwif. We currently
* can't use the hwif ones because of some assumptions that are
* beeing done by the generic code about the kind of dma controller
* and format of the dma table. This will have to be fixed though.
*/
volatile struct dbdma_regs __iomem * dma_regs;
struct dbdma_cmd* dma_table_cpu;
What needs to be done is more-or-less:
- teaching pmac_ide_init_dma() about hwif->prd_max_{nents,size}
and then converting it to use ide_allocate_dma_engine()
- pmif->dma_regs -> hwif->dma_base
- pmif->dma_table_cpu -> hwif->dmatable_cpu
- sticking ide_release_dma_engine() somewhere (it seems that
pmac driver never frees DMA memory allocated currently)
Of course while the above would be a nice cleanup+fixup, making
the driver work comes first..
Thanks,
Bart
next prev parent reply other threads:[~2009-02-01 17:24 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-30 5:46 DMA breakage in 2.6.29-rc* Benjamin Herrenschmidt
2009-01-30 11:07 ` Benjamin Herrenschmidt
2009-02-01 16:44 ` Bartlomiej Zolnierkiewicz [this message]
2009-02-01 22:49 ` Benjamin Herrenschmidt
2009-02-01 23:07 ` Benjamin Herrenschmidt
2009-01-30 12:17 ` Mikael Pettersson
2009-01-30 20:45 ` Benjamin Herrenschmidt
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=200902011744.07794.bzolnier@gmail.com \
--to=bzolnier@gmail.com \
--cc=benh@kernel.crashing.org \
--cc=linux-ide@vger.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 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.