06 Jul, 2005

8 commits


05 Jul, 2005

5 commits

  • Use '5' instead of 'infinity'.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Use macro instead of magic value for Tomatillo discard-
    timeout interrupt enable register bit.

    Leave OBP programming PTO value unless Tomatillo and
    version >= 0x2.

    If no-bus-parking property is present, explicitly clear
    PCICTRL_PARK bit.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • This was the main impetus behind adding the PCI IRQ shim.

    In order to properly order DMA writes wrt. interrupts, you have to
    write to a PCI controller register, then poll for that bit clearing.
    There is one bit for each interrupt source, and setting this register
    bit tells Tomatillo to drain all pending DMA from that device.

    Furthermore, Tomatillo's with revision less than 4 require us to do a
    block store due to some memory transaction ordering issues it has on
    JBUS.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • This allows a PCI controller to shim into IRQ delivery
    so that DMA queues can be drained, if necessary.

    If some bus specific code needs to run before an IRQ
    handler is invoked, the bus driver simply needs to setup
    the function pointer in bucket->irq_info->pre_handler and
    the two args bucket->irq_info->pre_handler_arg[12].

    The Schizo PCI driver is converted over to use a pre-handler
    for the DMA write-sync processing it needs when a device
    is behind a PCI->PCI bus deeper than the top-level APB
    bridges.

    While we're here, clean up all of the action allocation
    and handling. Now, we allocate the irqaction as part of
    the bucket->irq_info area. There is an array of 4 irqaction
    (for PCI irq sharing) and a bitmask saying which entries
    are active.

    The bucket->irq_info is allocated at build_irq() time, not
    at request_irq() time. This simplifies request_irq() and
    free_irq() tremendously.

    The SMP dynamic IRQ retargetting code got removed in this
    change too. It was disabled for a few months now, and we
    can resurrect it in the future if we want.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • The following patch adds some ioctls to include/linux/compat_ioctl.h
    to allow using ppdev from the 32 bit user space on sparc64.

    This patch also adds the PPDEV option in the sparc64 menu, near Parallel
    printer support in the 'General machine setup' submenu.

    All those ioctls seem to be compatible, since (correct me if I'm wrong)
    they dont use the 'long' type. See include/linux/ppdev.h.

    The application I used to test the new ioctls only used the following:
    PPEXCL
    PPCLAIM
    PPNEGOT
    PPGETMODES
    PPRCONTROL
    PPWCONTROL
    PPDATADIR
    PPWDATA
    PPRDATA

    But I beleive that the other ioctls will work fine.

    Signed-off-by: David S. Miller

    Raphael Assenat
     

04 Jul, 2005

4 commits


03 Jul, 2005

1 commit


02 Jul, 2005

2 commits

  • The dynamic pci id logic has been bothering me for a while, and now that
    I started to look into how to move some of this to the driver core, I
    thought it was time to clean it all up.

    It ends up making the code smaller, and easier to follow, and fixes a
    few bugs at the same time (dynamic ids were not being matched
    everywhere, and so could be missed on some call paths for new devices,
    semaphore not needed to be grabbed when adding a new id and calling the
    driver core, etc.)

    I also renamed the function pci_match_device() to pci_match_id() as
    that's what it really does.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • - Add sanity check for io[port,mem]_resource in setup-bus.c. These
    resources look like "free" as they have no parents, but obviously
    we must not touch them.
    - In i386.c:pci_allocate_bus_resources(), if a bridge resource cannot be
    allocated for some reason, then clear its flags. This prevents any child
    allocations in this range, so the setup-bus code will work with a clean
    resource sub-tree.
    - i386.c:pcibios_enable_resources() doesn't enable bridges, as it checks
    only resources 0-5, which looks like a clear bug to me. I suspect it
    might break hotplug as well in some cases.

    From: Ivan Kokshaysky
    Signed-off-by: Greg Kroah-Hartman

    Ivan Kokshaysky
     

01 Jul, 2005

10 commits


30 Jun, 2005

10 commits