All of lore.kernel.org
 help / color / mirror / Atom feed
From: olof@lixom.net (Olof Johansson)
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: linuxppc-dev@ozlabs.org, Paul Mackerras <paulus@samba.org>
Subject: Re: [PATCH] [7/9] pasemi: Configure DMA controller interrupts
Date: Sun, 4 Feb 2007 22:52:58 -0600	[thread overview]
Message-ID: <20070205045258.GB4719@lixom.net> (raw)
In-Reply-To: <1170633229.2620.54.camel@localhost.localdomain>

On Mon, Feb 05, 2007 at 10:53:49AM +1100, Benjamin Herrenschmidt wrote:
> On Thu, 2007-02-01 at 22:54 -0600, Olof Johansson wrote:
> > plain text document attachment (pasemi-dma-irqs)
> > The DMA controller on PWRficient is somewhat special -- has a PCI header
> > so it looks like it's on the root PCI (-Express) root bus, but it uses
> > more than the default number of interrupts (and they are hardwired).
> > 
> > We need to wire up all interrupts for the DMA controller. The generic
> > IRQ code will only map the primary interrupt from the PCI header (128),
> > so add 129->211 by hand.
> 
> Or you can have them in the device-tree ... the generic code only maps
> PCI IRQ index 0 but nothing prevents your fixup code to map the other
> ones.

I don't see the point in having them in the device tree fixups instead
of pci fixups. I'll move them to the driver for now.

> However, I do wonder what is the point of creating a mapping and nor
> storing the resulting virq anywhere ?

Current usage was relying on the virqs being allocated linearly with
the rest. Yes, that's in hindsight broken.

> When are those IRQs actually used ?

In the ethernet driver;

       ret = request_irq(mac->dma_pdev->irq + mac->dma_txch,
                         &pasemi_mac_tx_intr, IRQF_DISABLED,
                         mac->tx->irq_name, dev);
[...]

       ret = request_irq(mac->dma_pdev->irq + 20 + mac->dma_rxch,
                         &pasemi_mac_rx_intr, IRQF_DISABLED,
                         mac->rx->irq_name, dev);

> That is the place where the mapping should happen... There is no
> guarantee that the resulting virq from irq_create_mapping() will be the
> same as the HW irq you passed in (it will in -most- cases with the
> current code, but it's a bug to rely on that behaviour). Thus you should
> store the result of irq_create_mapping() and use that. I see no
> advantage in "pre-mapping" things that way.

I'll submit an incremental patch to the ethernet driver.


-Olof

  reply	other threads:[~2007-02-05  4:45 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-02  4:54 [PATCH] [0/9] PA Semi patches Olof Johansson
2007-02-02  4:54 ` [PATCH] [1/9] pasemi: Default root device Olof Johansson
2007-02-02 22:28   ` Geoff Levand
2007-02-04 22:18     ` Olof Johansson
2007-02-04 22:37       ` Olof Johansson
2007-02-02  4:54 ` [PATCH] [2/9] pasemi: UART udbg support Olof Johansson
2007-02-02  4:54 ` [PATCH] [3/9] pasemi: Machine check handler Olof Johansson
2007-02-04 23:49   ` Benjamin Herrenschmidt
2007-02-05  4:19     ` Olof Johansson
2007-02-02  4:54 ` [PATCH] [4/9] pasemi: Idle loops Olof Johansson
2007-02-03  8:27   ` Arnd Bergmann
2007-02-04 22:25     ` Olof Johansson
2007-02-02  4:54 ` [PATCH] [5/9] pasemi: Implement restart Olof Johansson
2007-02-02  6:07   ` Kumar Gala
2007-02-02 18:46     ` Olof Johansson
2007-02-02  4:54 ` [PATCH] [6/9] pasemi: SMP timebase sync Olof Johansson
2007-02-02  4:54 ` [PATCH] [7/9] pasemi: Configure DMA controller interrupts Olof Johansson
2007-02-04 23:53   ` Benjamin Herrenschmidt
2007-02-05  4:52     ` Olof Johansson [this message]
2007-02-02  4:54 ` [PATCH] [8/9] pasemi: iommu support Olof Johansson
2007-02-02  4:54 ` [PATCH] [9/9] pasemi: defconfig Olof Johansson

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=20070205045258.GB4719@lixom.net \
    --to=olof@lixom.net \
    --cc=benh@kernel.crashing.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=paulus@samba.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.