20 Jul, 2007

40 commits

  • This patch unifies the cpu specific interrupt setup functions for
    interrupt controller blocks such as ipr, intc2 and intc. There is no
    point in having separate functions for each interrupt controller, so
    let's clean this up.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • This patch cleans up solution engine 7722 specific interrupt code.
    The main purpose is to replace the mux function with use of
    set_irq_chained_handler() and replace hard coded register poking
    code with set_irq_type(). The board specific interrupts are also
    moved to start from SE7722_FPGA_IRQ_BASE.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • This patch converts the cpu specific 7722 setup code to use the
    new intc controller. Many new vectors are added and also support
    for external interrupt sense configuration. So with this patch
    it is now possible to configure external interrupt pins as edge
    or level triggered using set_irq_type().

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • This is the second version of the shared interrupt controller patch
    for the sh architecture, fixing up handling of intc_reg_fns[].

    The three main advantages with this controller over the existing
    ones are:

    - Both priority (ipr) and bitmap (intc2) registers are
    supported
    - External pin sense configuration is supported, ie edge
    vs level triggered
    - CPU/Board specific code maps 1:1 with datasheet for
    easy verification

    This controller can easily coexist with the current IPR and INTC2
    controllers, but the idea is that CPUs/Boards should be moved over
    to this controller over time so we have a single code base to
    maintain.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • This patch contains two serial port related fixes for sh7722:
    - Make sure the irqs for the first serial port is correct
    - Add the second and third serial port to the platform data

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Kill off the hd64461 io.c, as all of the hd64461 users are now
    using the generic I/O routines.

    [ hd64461/ moved to hd64461.c by Paul ]

    Signed-off-by: Kristoffer Ericson
    Signed-off-by: Paul Mundt

    Kristoffer Ericson
     
  • This wires up the platform devices for the USB expansion boards for
    the Highlander boards.

    Signed-off-by: Yoshihiro Shimoda
    Signed-off-by: Paul Mundt

    Yoshihiro Shimoda
     
  • * 'kmem_death' of master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6:
    mm: Remove slab destructors from kmem_cache_create().

    Linus Torvalds
     
  • Change in 'kbuild: do section mismatch check on full vmlinux'
    should've been replicated in arch/um/Makefile.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Slab destructors were no longer supported after Christoph's
    c59def9f222d44bb7e2f0a559f2906191a0862d7 change. They've been
    BUGs for both slab and slub, and slob never supported them
    either.

    This rips out support for the dtor pointer from kmem_cache_create()
    completely and fixes up every single callsite in the kernel (there were
    about 224, not including the slab allocator definitions themselves,
    or the documentation references).

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6: (23 commits)
    ide: add support for SCSI ioctls to ide-floppy
    ide: remove stale changelog from setup-pci.c
    ide: remove stale changelog/comments/TODO from ide.c
    ide-cris: handle PIO auto-tuning in tune_cris_ide()
    ide: add PIO masks
    ide: remove ide_find_best_pio_mode()
    ide: drop "PIO data" argument from ide_get_best_pio_mode()
    ide: ide_find_best_pio_mode() fixes (take 2)
    ide: add ide_pio_cycle_time() helper (take 2)
    sc1200: remove stale Power Management code
    ide: ide_start_power_step() fix WRT disabling DMA
    serverworks: fix DMA
    serverworks: always tune PIO
    ide: add ide_pci_device_t.host_flags (take 2)
    ide: add ide_dev_has_iordy() helper (take 4)
    ide: make ide_get_best_pio_mode() print info if overriding PIO mode
    siimage: PIO mode setup fixes (take 2)
    atiixp: PIO mode setup fixes
    ide: Stop mapping ROMs
    IDE: Remove references to dead ETRAX-related variables.
    ...

    Linus Torvalds
     
  • a) switch by loff_t == __cmpdi2 use. Replaced with a couple
    of obvious ifs; update of ->f_pos in the first one makes sure that we
    do the right thing in all cases.
    b) block_signals() and unblock_signals() are globals on UML.
    Renamed coda ones; in principle UML probably ought to do rename as
    well, but that's another story.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Removal of rtt argument in ->cong_avoid() had missed tcp_htcp.c
    instance.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Now that ide-floppy supports SG_IO we can add support for SCSI ioctls
    (except deprecated SCSI_IOCTL_SEND_COMMAND and legacy CDROM_SEND_PACKET
    ones - we can add them later iff really needed).

    While at it remove handling of CDROMEJECT and CDROMCLOSETRAY ioctls from
    generic_ide_ioctl():

    - This prevents ide-{disk,tape,scsi} device drivers from obtaining
    REQ_TYPE_BLOCK_PC type requests which are currently unsupported by
    these drivers and which are potentially harmful (as reported by Andrew).

    - There is no functionality loss since aforementioned ioctls will now be
    handled by idefloppy_ioctl()->scsi_cmd_ioctl() (for devices using
    ide-floppy driver) and by idecd_ioctl->cdrom_ioctl()->scsi_cmd_ioctl()
    (for devices using ide-cd driver).

    Cc: Jens Axboe
    Cc: FUJITA Tomonori
    Cc: James Bottomley
    Cc: Jeff Garzik
    Cc: Andrew Morton
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add ATA_PIO[0-6] defines to .

    * Add ->pio_mask field to ide_pci_device_t and ide_hwif_t.

    * Add PIO masks to host drivers.

    change ACK-ed by Jeff Garzik .

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add ->host_flags to ide_hwif_t to store ide_pci_device_t.host_flags,
    assign it in setup-pci.c:ide_pci_setup_ports().

    * Add IDE_HFLAG_PIO_NO_{BLACKLIST,DOWNGRADE} to ide_pci_device_t.host_flags
    and teach ide_get_best_pio_mode() about them. Also remove needless
    !drive->id check while at it (drive->id is always present).

    * Convert amd74xx, via82cxxx and ide-timing.h to use ide_get_best_pio_mode()
    and then remove no longer needed ide_find_best_pio_mode().

    There should be no functionality changes caused by this patch.

    Acked-by: Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Drop no longer needed "PIO data" argument from ide_get_best_pio_mode()
    and convert all users accordingly.

    * Remove no longer needed ide_pio_data_t.

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Check IORDY bit for PIO modes > 2.

    * Some devices claim maximum PIO mode > 2 in id->tPIO, they were punished too
    severly for this by being limited to PIO_SLOW. Limit them to PIO2 instead.

    v2:
    * Fix PIO number being returned incorrectly instead of PIO mode
    (Noticed by Sergei).

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add ide_pio_cycle_time() helper.

    * Use it in ali14xx/ht6560b/qd65xx/cmd64{0,x}/sl82c105 and pmac host drivers
    (previously cycle time given by the device was only used for "pio" == 255).

    * Remove no longer needed ide_pio_data_t.cycle_time field.

    v2:
    * Fix "ata_" prefix (Noticed by Jeff).

    Acked-by: Sergei Shtylyov
    Cc: Jeff Garzik
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Nowadays core IDE code handles restoring of PIO and DMA modes
    (ide-io.c:ide_start_power_step() etc) so remove open-coded version
    from sc1200_resume().

    There should be no change in behavior because settings done by
    sc1200_resume() were always overridden by generic_ide_resume()
    and ide_{start,stop}_power_step().

    * Bump driver version.

    Cc: Mark Lord
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Do the same thing as probe_hwif() and always disable DMA so chipset DMA
    enabled bit gets cleared (if the drive doesn't support DMA ide_set_dma()
    won't try to tune it anyway).

    * Add TODO comment about respecting ->using_dma setting.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • The driver used to depend on BIOS settings for deciding whether it is OK
    to use DMA. However it seems that BIOS doesn't always handle all cases
    correctly so just let IDE core to decide about this. It should be a safe
    thing to do now, after the driver went through heavy bugfixing.

    Thanks for bugreport and testing the patch goes out to Sven Niedner.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Always set ->autotune so PIO gets correctly auto-tuned (previously
    ->autotune was only set when ->dma_base wasn't available, however
    ->ide_dma_check()/->speedproc() was always trying to tune PIO when
    tuning DMA).

    * Move code responsible for programming chipset for PIO mode from
    svwks_tune_chipset() to svwks_tune_pio(). Don't tune PIO when tuning
    DMA (this is no longer needed since ->autotune is always set now).

    * Handle PIO modes early in svwks_tune_chipset() so DMA configuration
    registers don't get cleared when programming PIO mode.

    * Bump driver version.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Rename ide_pci_device_t.flags to ide_pci_device_t.host_flags
    and IDEPCI_FLAG_ISA_PORTS flag to IDE_HFLAG_ISA_PORTS.

    * Add IDE_HFLAG_SINGLE flag for single channel devices.

    * Convert core code and all IDE PCI drivers to use IDE_HFLAG_SINGLE
    and remove no longer needed ide_pci_device_t.channels field.

    v2:
    * Fix issues noticed by Sergei:
    - correct code alignment in scc_pata.c
    - s/IDE_HFLAG_SINGLE/~IDE_HFLAG_SINGLE/ in serverworks.c

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add ide_dev_has_iordy() helper and use it sl82c105 host driver.

    * Remove no longer needed ide_pio_data_t.use_iordy field.

    v2/v3:
    * Fix issues noticed by Sergei:
    - correct patch description
    - fix comment in ide_get_best_pio_mode()

    v4:
    * Fix "ata_" prefix (Noticed by Jeff).

    Acked-by: Sergei Shtylyov
    Cc: Jeff Garzik
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Print info about overriding PIO mode in ide_get_best_pio_mode().

    * Remove info about overriding PIO mode from cmd64{0,x} host drivers.

    * Remove no longer needed ide_pio_data_t.overridden field.

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add sil_tuneproc() wrapper for siimage_tuneproc() which also sets
    PIO mode on the device.

    * Add missing ide_get_best_pio_mode() call to sil_tuneproc() so
    "pio" == 255 (autotune) is handled correctly (previously PIO0 was used)
    and "pio" values > 4 && < 255 are filtered to PIO4 (instead of PIO0).

    * Add code limiting maximum PIO mode according to the pair device capabilities
    to sil_tuneproc().

    * Convert users of config_siimage_chipset_for_pio() to use sil_tune_pio() and
    sil_tuneproc(). This fixes PIO fallback in siimage_config_drive_for_dma() to
    use max PIO mode available instead of PIO4 (config_siimage_chipset_for_pio()
    used wrong arguments for ide_get_best_pio_mode() and as a results always
    tried to set PIO4).

    * Remove no longer needed siimage_taskfile_timing()
    and config_siimage_chipset_for_pio().

    * Enable ->autotune unconditionally and remove PIO tuning for UDMA/MDMA modes
    from siimage_speedproc()

    * Bump driver version.

    v2:
    * Fix issues noticed by Sergei:
    - correct pair device check
    - trim only taskfile PIO to the slowest of the master/slave
    - enable ->autotune unconditionally and remove PIO tuning for UDMA/MDMA modes
    from siimage_speedproc()
    - add TODO item for IORDY bugs
    - minor cleanups

    Reviewed-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Split off exisiting atiixp_tuneproc() into atiixp_tune_pio()
    and then add setting device PIO mode to atiixp_tuneproc().

    * Add missing ide_get_best_pio_mode() call to atiixp_tuneproc() so
    "pio" == 255 (autotune) is handled correctly and "pio" values > 4 && < 255
    are filtered to PIO4 (previously "pio" == 5 could result in wrong timings
    being used and "pio" values > 4 && < 255 in an OOPS).

    * Handle PIO modes early in atiixp_speedproc() so save_mdma_mode[]
    doesn't get cleared.

    * In atiixp_dma_check():
    - fix max_mode argument for ide_get_best_pio_mode()
    - don't call atiixp_dma_2_pio() so PIO1 doesn't get remapped to PIO0
    - use atiixp_tuneproc() instead of atiixp_speedproc()

    * Bump driver version.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Various old IDE drivers go mapping ROM devices for no apparent reason and
    without using the ROM mapping API we now have. They don't actually use
    the ROM they map and the new libata drivers are happy without it being
    mapped so rather than port them lets just junk it for the next -rc1.

    Signed-off-by: Alan Cox
    Acked-by: Sergei Shtylyov
    Cc: Andrew Morton
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Alan Cox
     
  • The two CONFIG variables

    CONFIG_ETRAX_IDE_CSE1_16_RESET
    CONFIG_ETRAX_IDE_CSP0_8_RESET

    appear to have been dead since way back in 2.5.xx days:

    http://www.linuxhq.com/kernel/v2.5/75/arch/cris/drivers/Kconfig

    Signed-off-by: Robert P. J. Day
    Cc: Michael Starvik
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Robert P. J. Day
     
  • One card submitted by user.

    Signed-off-by: Marcin Juszkiewicz
    Cc: Jeff Garzik
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Marcin Juszkiewicz
     
  • Workaround for errata A308: turn down the UDMA mode and retry
    the DMA command when the data lost condition is detected.

    take2:
    udma_filter() hook is used to limit ATAPI UDMA mode.

    Signed-off-by: Kou Ishizaki
    Signed-off-by: Akira Iguchi
    Cc: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Kou Ishizaki
     
  • Move to using inline function variant of eieio instead of inline assmebly.

    Signed-off-by: Kumar Gala
    Cc: kou.ishizaki@toshiba.co.jp
    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Kumar Gala
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:
    SELinux: use SECINITSID_NETMSG instead of SECINITSID_UNLABELED for NetLabel
    SELinux: enable dynamic activation/deactivation of NetLabel/SELinux enforcement

    Linus Torvalds
     
  • * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6:
    [XFS] Fix inode size update before data write in xfs_setattr
    [XFS] Allow punching holes to free space when at ENOSPC
    [XFS] Implement ->page_mkwrite in XFS.
    [FS] Implement block_page_mkwrite.

    Manually fix up conflict with Nick's VM fault handling patches in
    fs/xfs/linux-2.6/xfs_file.c

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Currently, CONFIG_X86_CMPXCHG64 both enables boot-time checking of
    the cmpxchg64b feature and enables compilation of the set_64bit() family.
    Since the option is dependent on PAE, and since KVM depends on set_64bit(),
    this effectively disables KVM on i386 nopae.

    Simplify by removing the config option altogether: the boot check is made
    dependent on CONFIG_X86_PAE directly, and the set_64bit() family is exposed
    without constraints. It is up to users to check for the feature flag (KVM
    does not as virtualiation extensions imply its existence).

    Signed-off-by: Avi Kivity
    Signed-off-by: Linus Torvalds

    Avi Kivity
     
  • * git://git.linux-nfs.org/pub/linux/nfs-2.6:
    NFSv4: handle lack of clientaddr in option string
    NFSv4: debug print ntohl(status) in nfs client callback xdr code
    SUNRPC: Clean up the sillyrename code
    NFS: Introduce struct nfs_removeargs+nfs_removeres
    NFS: Use dentry->d_time to store the parent directory verifier.
    SUNRPC: move bkl locking and xdr proc invocation into a common helper
    NFSv4: Fix the nfsv4 readlink reply buffer alignment
    NFSv4: Fix the readdir reply buffer alignment
    NFSv4: More NFSv4 xdr cleanups
    NFSv4: Try to recover from getfh failures in nfs4_xdr_dec_open
    NFSv4: 'constify' lookup arguments.
    NFSv4: Don't fail nfs4_xdr_dec_open if decode_restorefh() failed
    NFSv4: Fix open state recovery
    NFSD/SUNRPC: Fix the automatic selection of RPCSEC_GSS

    Linus Torvalds