Skip to content
  1. Sep 18, 2009
    • John(Jung-Ik) Lee's avatar
      libata: Add pata_atp867x driver for Artop/Acard ATP867X controllers · d15d6e6c
      John(Jung-Ik) Lee authored
      
      
      This is a new pata driver for ARTOP 867X 64bit 4-channel UDMA133 ATA ctrls.
      Based on the Atp867 data sheet rev 1.2, Acard, and in part on early ide codes
      from Eric Uhrhane <ericu@google.com>.
      
      Signed-off-by: default avatarJohn(Jung-Ik) Lee <jilee@google.com>
      Reviewed-by: default avatarGrant Grundler <grundler@google.com>
      Reviewed-by: default avatarGwendal Gringo <gwendal@google.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      d15d6e6c
    • Robert Hancock's avatar
      pata_amd: do not filter out valid modes in nv_mode_filter · 90950a25
      Robert Hancock authored
      
      
      On a Compaq Presario V3000 laptop (NVIDIA MCP51 chipset), pata_amd selects
      PIO0 mode for the PATA DVD-RAM drive instead of MWDMA2 which it supports:
      
      ata4.00: ATAPI: HL-DT-ST DVDRAM GSA-4084N, KQ09, max MWDMA2
      ata4: nv_mode_filter: 0x39f&0x7001->0x1, BIOS=0x0 (0x0) ACPI=0x7001 (60:600:0x11)
      ata4.00: configured for PIO0
      
      For some reason, the BIOS-set UDMA configuration returns 0 and the ACPI _GTM
      reports that UDMA2 and PIO0 are enabled. This causes nv_mode_filter to end up
      allowing only PIO0 and UDMA0-2. Since the drive doesn't support UDMA we end up
      using PIO0.
      
      Since the controllers should always support PIO4, MWDMA2 and UDMA2 regardless
      of what cable type is used, let's make sure we don't filter out these modes
      regardless of what wacky settings the BIOS is using.
      
      Signed-off-by: default avatarRobert Hancock <hancockrwd@gmail.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      90950a25
    • Mikael Pettersson's avatar
      sata_promise: update reset code · ff7cddf5
      Mikael Pettersson authored
      
      
      sata_promise's reset code has deviated quite a bit from
      the Promise reference driver's, and it has been observed
      to fail to recover from errors in some cases.
      
      This patch thus updates the reset code to more closely
      match the reference driver:
      
      - soft reset (pdc_reset_port):
        * wait for ATA engine to not be in packet command mode
          (2nd gen only)
        * write reset bit in PDC_CTLSTAT before the first read
          in the loop
        * for 2nd gen SATA follow up with FPDMA reset and clearing
          error status registers
      - hard reset (pdc_sata_hardreset):
        * wait for ATA engine to not be in packet command mode
          (2nd gen only)
        * reset ATA engine via the PCI control register
        * Tejun's change to use non-waiting hardreset + follow-up SRST
      
      I'm not changing the hotplug mask bits since they are taken care
      of by sata_promise's ->freeze() and ->thaw() operations. And I'm
      not writing the PMP port # because that's always zero (for now).
      
      Tested here on various controllers. In particular, one disk
      which used to timeout and fail to recover from certain hdparm
      and smartmonctl commands now works nicely.
      
      Signed-off-by: default avatarMikael Pettersson <mikpe@it.uu.se>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      ff7cddf5
    • Mikael Pettersson's avatar
      sata_promise: disable hotplug on 1st gen chips · 0ae6654d
      Mikael Pettersson authored
      
      
      1st generation Promise SATA chips are prone to generating spurious
      hotplug events which can disrupt normal operation. This has been
      observed on 20376 and 20378 chips. This patch thus disables hotplug
      support on 1st gen chips while leaving it enabled for 2nd gen chips.
      
      The pdc_sata_hotplug_offset() function becomes redundant so it is
      removed.
      
      Tested on 1st gen 20376 and 20378 mainboard chips and on a 2nd gen
      SATA300 PCI card.
      
      Signed-off-by: default avatarMikael Pettersson <mikpe@it.uu.se>
      Tested-by: default avatarKurt Roeckx <kurt@roeckx.be>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      0ae6654d
    • Tejun Heo's avatar
      libata: fix spurious WARN_ON_ONCE() on port freeze · 4dc738ed
      Tejun Heo authored
      Commit 54c38444
      
       makes libata abort qcs
      after the port is frozen.  This is necessary to guarantee that TF
      registers are accessed after the DMA engine is shutdown after an
      error.  However, this triggers WARN_ON_ONCE() check in
      ata_qc_complete() spuriously.  Move WARN_ON_ONCE() downwards such that
      failing commands while frozen doesn't trigger it.
      
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      4dc738ed
    • Tejun Heo's avatar
      ahci: restore pci_intx() handling · 31b239ad
      Tejun Heo authored
      Commit a5bfc471 dropped explicit
      pci_intx() manipulation from ahci because it seemed unnecessary and
      ahci doesn't seem to be the right place to be tweaking it if it were.
      This was largely okay but there are exceptions.  There was one on an
      embedded platform which was fixed via firmware and now bko#14124
      reports it on a HP DL320.
      
        http://bugzilla.kernel.org/show_bug.cgi?id=14124
      
      
      
      I still think this isn't something libata drivers should be caring
      about (the only ones which are calling pci_intx() explicitly are
      libata ones and one other driver) but for now reverting the change
      seems to be the right thing to do.
      
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Reported-by: default avatarThomas Jarosch <thomas.jarosch@intra2net.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      31b239ad
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · de55a895
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        amd64_edac: check NB MCE bank enable on the current node properly
        amd64_edac: Rewrite unganged mode code of f10_early_channel_count
        amd64_edac: cleanup amd64_check_ecc_enabled
        x86, EDAC: Provide function to return NodeId of a CPU
        amd64_edac: build driver only on AMD hardware
      de55a895
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · 79b520e8
      Linus Torvalds authored
      * 'for-linus' of git://oss.sgi.com/xfs/xfs: (39 commits)
        xfs: includecheck fix for fs/xfs/xfs_iops.c
        xfs: switch to seq_file
        xfs: Record new maintainer information
        xfs: use correct log reservation when handling ENOSPC in xfs_create
        xfs: xfs_showargs() reports group *and* project quotas enabled
        xfs: un-static xfs_inobt_lookup
        xfs: actually enable the swapext compat handler
        xfs: simplify xfs_trans_iget
        xfs: merge fsync and O_SYNC handling
        xfs: speed up free inode search
        xfs: rationalize xfs_inobt_lookup*
        xfs: untangle xfs_dialloc
        xfs: factor out debug checks from xfs_dialloc and xfs_difree
        xfs: improve xfs_inobt_update prototype
        xfs: improve xfs_inobt_get_rec prototype
        xfs: factor out inode initialisation
        fs/xfs: Correct redundant test
        xfs: remove XFS_INO64_OFFSET
        un-static xfs_read_agf
        xfs: add more statics & drop some unused functions
        ...
      79b520e8
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin · abf5940d
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (75 commits)
        Blackfin: update ftrace for latest toolchain
        Blackfin: fix elf_fpregset_t definition
        Blackfin: unify cache init functions
        Blackfin: swap clocksource ratings for gptimer/cycles
        Blackfin: update ftrace_push_return_trace() breakage
        Blackfin: update cm board resources
        Blackfin: cm-bf537u: split board from cm-bf537e
        Blackfin: bf538-ezkit: add SPI IRQ resources
        Blackfin: increase default async timings for parallel flashes
        Blackfin: add ICPLB coverage for async banks
        Blackfin: use KERN_ALERT in all kgdb_test output
        Blackfin: fix BF54x SPI CS resources
        Blackfin: fix typo in isram_write()
        Blackfin: bf537-stamp: add adp5588 gpio resources
        Blackfin: add some isram-driver self tests
        Blackfin: workaround anomaly 05000283
        Blackfin: fix spelling in a few comments
        Blackfin: use raw_smp_processor_id() in exception code
        Blackfin: remove useless duplicated assignment in gpio code
        Blackfin: Fix link errors with binutils 2.19 and GCC 4.3
        ...
      abf5940d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 66bc4a6f
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: (53 commits)
        m68knommu: Make PAGE_SIZE available to assembly files.
        m68knommu: fix ColdFire definition of CLOCK_TICK_RATE
        m68knommu: set multi-function pins for ethernet when enabled
        m68knommu: remove special interrupt handling code for ne2k support
        m68knommu: relax IO_SPACE_LIMIT setting
        m68knommu: remove ColdFire direct interrupt register access
        m68knommu: create a speciailized ColdFire 5272 interrupt controller
        m68knommu: add support for second interrupt controller of ColdFire 5249
        m68knommu: clean up old ColdFire timer irq setup
        m68knommu: map ColdFire interrupts to correct masking bits
        m68knommu: clean up ColdFire 532x CPU timer setup
        m68knommu: simplify ColdFire "timers" clock initialization
        m68knommu: support code to mask external interrupts on old ColdFire CPU's
        m68knommu: merge old ColdFire interrupt controller masking macros
        m68knommu: remove duplicate ColdFire mcf_autovector() code
        m68knommu: move ColdFire INTC definitions to new include file
        m68knommu: mask off all interrupts in ColdFire intc-simr controller
        m68knommu: remove timer device interrupt setup for ColdFire 532x
        m68knommu: remove interrupt masking from ColdFire pit timer
        m68knommu: remove unecessary interrupt level setting in ColdFire 520x setup
        ...
      66bc4a6f
    • Linus Torvalds's avatar
      Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · 96c015b7
      Linus Torvalds authored
      * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        hwmon: (lm85) Don't bind to Winbond/Nuvoton WPCD377I
        hwmon: (pcf8591) Documentation clean-ups
        hwmon: Clearly mark ACPI drivers as such
        hwmon: Use resource_size
        hwmon: Include <linux/io.h> instead of <asm/io.h>
        hwmon: (tmp421) Add documentation
        hwmon: Add driver for Texas Instruments TMP421/422/423 sensor chips
        hwmon-vid: Ignore 6th VID pin of AMD family 0Fh processors
        hwmon: (asus_atk0110) Add maintainer information
        hwmon: (abituguru3) Support multiple DMI strings per chip ID
      96c015b7
    • Linus Torvalds's avatar
      Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb · 3aee0605
      Linus Torvalds authored
      * 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb:
        uwb: avoid radio controller reset loops
        uwb: stop uwbd thread if rc->start() fails
        uwb: handle radio controller events with out-of-range IDs correctly
      3aee0605
  2. Sep 17, 2009