lkml.org 
[lkml]   [2006]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 0/4] PCI legacy I/O port free driver (take4)
    Russell King wrote:
    > It's not really "I/O port resource allocation" though - the resources
    > have already been allocated and potentially programmed into the BARs
    > well before the driver gets anywhere near the device.
    [...]
    > Are you implying that somehow resources are allocated at pci_enable_device
    > time? If so, shouldn't we be thinking of moving completely to that model
    > rather than having yet-another-pci-setup-model.

    Actually, that's has been the rule ever since the cardbus days:
    resources -- bars and irqs -- should not be considered allocated until
    after pci_enable_device().

    Documentation/pci.txt reflects this reality as well:

    > 3. Enabling and disabling devices
    > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    > Before you do anything with the device you've found, you need to enable
    > it by calling pci_enable_device() which enables I/O and memory regions of
    > the device, allocates an IRQ if necessary, assigns missing resources if
    > needed and wakes up the device if it was in suspended state. Please note
    > that this function can fail.

    Any PCI driver that presumes -anything- about resources before calling
    pci_enable_device() is buggy, and that's been the case for many years.
    Some platform-specific PCI drivers violate this with special knowledge,
    but overall that's the rule.

    Regards,

    Jeff


    -
    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: 2006-03-02 19:15    [W:0.030 / U:2.024 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site