lkml.org 
[lkml]   [2004]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH] rename CONFIG_PCI_USE_VECTOR to CONFIG_PCI_MSI
    Date
    On Monday 26 July 2004 4:39 pm, Roland Dreier wrote:
    > I would propose the following course of action:
    >
    > 1) Merge Long's latest MSI/MSI-X patches (updated patches in
    > http://gmane.linux.kernel/218830). Without the new semantics of
    > pci_disable_msi()/pci_disable_msix(), it's very difficult to use
    > MSI/MSI-X in a device driver.

    That sounds fine to me. There's nobody really using MSI yet, so
    it can't break too much.

    > 2) Split the config options so we have an i386-specific
    > CONFIG_PCI_USE_VECTOR and a generic CONFIG_PCI_MSI (with
    > CONFIG_PCI_MSI depending on something like !I386 || CONFIG_PCI_USE_VECTOR)
    > This would be an updated version of your patch.\

    Yup. Nothing in MSI has changed since April, so I thought my patch
    would be a reasonable no-risk first step.

    > 3) Make the code in drivers/pci/msi.c less Intel-specific -- instead
    > of hard-coding Intel-specific addresses for vectors have the
    > computation call into arch code. This would be a fair amount of
    > work and depends documentation for non-Intel platforms that
    > implement MSI/MSI-X -- should be easier as PCI Express comes out.

    This is the bit I really want to get to. In particular, I want to
    support multiple interrupt vector spaces on ia64, because we're
    running out of vectors. I can't do that as long as MSI mucks
    around with the arch-specific vector allocation. (There's plenty
    of ia64 code that needs to be cleaned up, too; it's not just MSI.)

    I think there needs to be some arch interface to allocate/deallocate
    Linux IRQ numbers (not interrupt vectors). Then MSI can allocate
    as many as it needs, and use yet another arch interface to translate
    the Linux IRQ numbers to the appropriate address/data info to program
    the device.

    (A side note on this -- the MSI code in the tree uses "vector" where
    it should use "irq". For example, msi_alloc_vectors() really allocates
    Linux IRQs, not vectors, because you can pass them to request_irq() and
    friends. Maybe Long's latest patch cleans this up a bit.)
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:04    [W:0.030 / U:58.424 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site