[lkml]   [2004]   [Aug]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectAltix I/O code reorganization

    We have reorganized the I/O layer in the Altix code.

    We are posting this code for review before submitting for inclusion in
    the 2.5 tree.

    The patch set is at:

    It is based off the tree

    The general changes are:
    o added new hardware support
    o code cleanup (typedefs, include files, etc.)
    o simplified the directory structure (all files were arch/ia64/sn/io/
    are now under arch/ia64/sn/ioif/)
    o code size reduced by >50%
    o major reorg of the code itself
    o copyright updates

    The patches and a short comment for each:

    # contains all the files that are no longer needed

    # The io_init.c file replaces the pci_bus_cvlink.c. A diff of the files
    # would not make much sense as the functionalities provided in pci_bus_cvlink.c
    # are no longer needed. The new functions needed are:
    # 1. Getting Platform Specific Information for PCI Buses/Devices.
    # 2. Getting Hardware Workaround Information.
    # 3. Getting I/O Hub Information.
    # The io_init.c file basically contains all the routines that are needed to
    # allow a PCI Device Driver to perform Interrupts, PIOs and DMAs.

    # There are some minor changes in these files. The biggest change is that we have
    # broken up the SN Platform Specific DMA mapping interfaces into 3 different
    # routines:
    # 1. 32Bit Direct Mapping.
    # 2. 32Bit PMU Mapping.
    # 3. 64Bit Direct Mapping.
    # The SN Platform has 3 different PCI/PCIX Bridges. They are not all exactly the
    # same, however they do provide the same functionality. We have abstracted
    # the DMA mapping calls so that the caller will not have to be aware of the
    # hardware differences. Example:
    # *dma_handle = (*provider->dmatrans_direct64)(pcidev_info, phys_addr,
    # The Bus Driver for this card, determines the appropriate method.

    # This set of new files supports 2 of our 3 PCI Bridges, PIC and TIOCP.
    # pcibr_dma.c is new and provides the PCI DMA Mapping routines.
    # pcibr_sal_interfaces.c is new and provides the SAL Interfaces.
    # pcibr_provider.c is new and defines the Chipset specific Provider Tables.
    # The rest of the file changes are mostly cleanup.

    # Moved a file, but mostly cleanup

    # Changes needed to remove hwgraph

    # Files needed to provide services for our I/O Hub devices

    # KDB support functions

    # code cleanup
    # ran thru Lindent
    # changes needed for new I/O structure

    # New includes with definitions for PCI devices, buses, and I/O hubs

    # code cleanup
    # misc changes needed for new I/O structure
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

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