lkml.org 
[lkml]   [2012]   [Feb]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v3 24/25] irq_domain: remove "hint" when allocating irq numbers
    On Wed, Feb 15, 2012 at 01:21:45PM -0700, Grant Likely wrote:
    > On Wed, Feb 15, 2012 at 04:04:28PM +0100, Nicolas Ferre wrote:
    > > On 02/07/2012 07:07 PM, Nicolas Ferre :
    > > > On 01/27/2012 10:36 PM, Grant Likely :
    > > >> The 'hint' used to try and line up irq numbers with hw irq numbers is
    > > >> rather a hack and not very useful. Now that /proc/interrupts also outputs
    > > >> the hwirq number, it is even less useful to keep around the 'hint' heuristic.
    > > >>
    > > >> This patch removes it.
    > > >
    > > > Grant,
    > > >
    > > > While trying your patch series in conjunction with Rob one, I do not
    > > > find this patch in your irqdomain/next branch (and a couple of others).
    > > > Can you tell me if this v3 series is available as a git tree?
    > >
    > > I am still interested by patch 24-25 of this series but still cannot
    > > find them in your irqdomain/next branch:
    > > Are they also expected to join the 3.4 merge window material?
    >
    > I've held off on putting them in irqdomain/next because they are a bit more
    > risky than the other patches, and I want an explicit ack from Ben for patches
    > 24 & 25. However, that shouldn't really cause any issues since the changes
    > in 24 & 25 don't impact the irq_domain functionality or API. They are just
    > optimizations.
    >
    I'm seeing that patch 24 does impact on irq_domain functionality
    a little bit. On next tree which has no this patch yet,
    irq_create_mapping can reasonably create virq in range 1..15, while
    irq_find_mapping will only try to find the virq from 16
    (NUM_ISA_INTERRUPTS). This will result in that any hwirq that is < 16
    gets multiple entries in the mapping table with different virq numbers
    mapped to the same one hwirq.

    That's why I have to apply patch #24 (with one line change below) on
    top of next tree to get my imx irqdomain series work properly.

    @@ -371,7 +371,7 @@ unsigned int irq_create_mapping(struct irq_domain *domain,
    return irq_domain_legacy_revmap(domain, hwirq);

    /* Allocate a virtual interrupt number */
    - virq = irq_alloc_desc(0);
    + virq = irq_alloc_desc_from(1, 0);
    if (!virq) {
    pr_debug("irq: -> virq allocation failed\n");
    return 0;

    I need this line of change, because the first call on irq_alloc_desc
    will always return 0 to virq and in turn irq_create_mapping fails.
    On imx, that's the mapping for timer irq. Hence, the system will hang
    there due to irq mapping failure.

    --
    Regards,
    Shawn


    \
     
     \ /
      Last update: 2012-02-15 22:53    [W:3.738 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site