29 Sep, 2010

2 commits

  • Some drivers prefer to explicitly set Vpp. Instead of passing the
    voltage inside config_req_t, store it in struct pcmcia_device.

    CC: linux-ide@vger.kernel.org
    CC: netdev@vger.kernel.org
    CC: linux-mtd@lists.infradead.org
    CC: linux-wireless@vger.kernel.org
    CC: linux-serial@vger.kernel.org
    CC: linux-usb@vger.kernel.org
    CC: linux-scsi@vger.kernel.org
    Acked-by: Gustavo F. Padovan (for drivers/bluetooth)
    Tested-by: Wolfram Sang
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • libata depends on scsi_host_template for module reference counting and
    sht's should be owned by each low level driver. During libahci split,
    the sht was left with libahci.ko leaving the actual low level drivers
    not reference counted. This made ahci and ahci_platform always
    unloadable even while they're being actively used.

    Fix it by defining AHCI_SHT() macro in ahci.h and defining a sht for
    each low level ahci driver.

    stable: only applicable to 2.6.35.

    Signed-off-by: Tejun Heo
    Reported-by: Pedro Francisco
    Tested-by: Michael Tokarev
    Cc: stable@kernel.org
    Signed-off-by: Jeff Garzik

    Tejun Heo
     

10 Sep, 2010

7 commits

  • Keep track of the link on the which the current request is in progress.
    It allows support of links behind port multiplier.

    Not all libata-sff is PMP compliant. Code for native BMDMA controller
    does not take in accound PMP.

    Tested on Marvell 7042 and Sil7526.

    Signed-off-by: Gwendal Grignou
    Signed-off-by: Jeff Garzik

    Gwendal Grignou
     
  • For some mysterious reason, certain hardware reacts badly to usual EH
    actions while the system is going for suspend. As the devices won't
    be needed until the system is resumed, ask EH to skip usual autopsy
    and recovery and proceed directly to suspend.

    Signed-off-by: Tejun Heo
    Tested-by: Stephan Diestelhorst
    Cc: stable@kernel.org
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • This patch adds the Intel Patsburg (PCH) SATA AHCI and RAID Controller
    DeviceIDs.

    Signed-off-by: Seth Heasley
    Signed-off-by: Jeff Garzik

    Seth Heasley
     
  • This patch adds the Intel Patsburg (PCH) IDE mode SATA Controller DeviceIDs.

    Signed-off-by: Seth Heasley
    Signed-off-by: Jeff Garzik

    Seth Heasley
     
  • Commit 978c0666 (libata: Remove excess delay in the tf_load path)
    removed ata_wait_idle() from ata_sff_tf_load() and via_tf_load().
    This caused obscure detection problems in sata_sil.

    https://bugzilla.kernel.org/show_bug.cgi?id=16606

    The commit was pure performance optimization. Revert it for now.

    Reported-by: Dieter Plaetinck
    Reported-by: Jan Beulich
    Bisected-by: gianluca
    Cc: stable@kernel.org
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • ahci_do_softreset() compared the current time and deadline in reverse
    when calculating timeout for SRST issue. The result is that if
    @deadline is in future, SRST is issued with 0 timeout, which hasn't
    caused any problem because it later waits for DRDY with the correct
    timeout. If deadline is already exceeded by the time SRST is about to
    be issued, the timeout calculation underflows and if the device
    doesn't respond, timeout doesn't trigger for a _very_ long time.

    Reverse the incorrect comparison order.

    Signed-off-by: Tejun Heo
    Reported-by: Anssi Hannula
    Tested-by: Gwendal Grignou
    Cc: stable@kernel.org
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • x % 1 always evaluates to 0, which clearly isn't the intent. The
    author probably had "% 2" or "& 1" in mind, and mispelled it.

    Signed-off-by: Jean Delvare
    Cc: Jeff Garzik
    Cc: Alan Cox
    Signed-off-by: Jeff Garzik

    Jean Delvare
     

26 Aug, 2010

7 commits

  • Remove harmful BUG_ON() from ata_bmdma_qc_issue(),
    as it casts too wide of a net and breaks sata_mv.
    It also crashes the kernel while doing the BUG_ON().

    There's already a WARN_ON_ONCE() further down to catch
    the case of POLLING for a BMDMA operation.

    Signed-off-by: Mark Lord
    Signed-off-by: Jeff Garzik
    Cc: stable@kernel.org

    Mark Lord
     
  • Fix DSM/TRIM commands in sata_mv (v2).
    These need to be issued using old-school "BM DMA",
    rather than via the EDMA host queue.

    Since the chips don't have proper BM DMA status,
    we need to be more careful with setting the ATA_DMA_INTR bit,
    since DSM/TRIM often has a long delay between "DMA complete"
    and "command complete".

    GEN_I chips don't have BM DMA, so no TRIM for them.

    Signed-off-by: Mark Lord
    Signed-off-by: Jeff Garzik
    Cc: stable@kernel.org

    Mark Lord
     
  • ata_qc_issue() BUG_ON()s on data commands w/o data, which may be
    submitted via SG_IO. Be less of a drama queen and just trigger
    WARN_ON_ONCE() and fail the command with AC_ERR_SYSTEM.

    Signed-off-by: Tejun Heo
    Reported-by: Stefan Hübner
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • dma_dwc_xfer_setup() returns an int and "dma_chan" needs to be signed
    for the error handling to work.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Jeff Garzik

    Dan Carpenter
     
  • 88SE9128 can do FBS and sets it in HOST_CAP but forgets to set FBSCP
    in PORT_CMD. Implement AHCI_HFLAG_YES_FBS and apply it to 88SE9128.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • Winbond W83759A controller is fully supported by pata_legacy driver
    so remove no longer needed pata_winbond driver.

    Leave PATA_WINBOND_VLB config option for compatibility reasons
    and teach pata_legacy to preserve the old behavior of pata_winbond
    driver.

    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Jeff Garzik

    Bartlomiej Zolnierkiewicz
     
  • Commit d62f5576 (pata_cmd64x: fix handling of address setup timings)
    incorrectly called ata_timing_compute() on UDMA mode on 0 @UT leading
    to devide by zero fault. Revert it until better fix is available.
    This is reported in bko#16607 by Milan Kocian who also root caused it.

    https://bugzilla.kernel.org/show_bug.cgi?id=16607

    Signed-off-by: Tejun Heo
    Reported-and-root-caused-by: Milan Kocian
    Cc: Bartlomiej Zolnierkiewicz
    Cc: stable@kernel.org
    Signed-off-by: Jeff Garzik

    Tejun Heo
     

17 Aug, 2010

1 commit


15 Aug, 2010

2 commits


13 Aug, 2010

1 commit


12 Aug, 2010

1 commit

  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (226 commits)
    ARM: 6323/1: cam60: don't use __init for cam60_spi_{flash_platform_data,partitions}
    ARM: 6324/1: cam60: move cam60_spi_devices to .init.data
    ARM: 6322/1: imx/pca100: Fix name of spi platform data
    ARM: 6321/1: fix syntax error in main Kconfig file
    ARM: 6297/1: move U300 timer to dynamic clock lookup
    ARM: 6296/1: clock U300 intcon and timer properly
    ARM: 6295/1: fix U300 apb_pclk split
    ARM: 6306/1: fix inverted MMC card detect in U300
    ARM: 6299/1: errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID
    ARM: 6294/1: etm: do a dummy read from OSSRR during initialization
    ARM: 6292/1: coresight: add ETM management registers
    ARM: 6288/1: ftrace: document mcount formats
    ARM: 6287/1: ftrace: clean up mcount assembly indentation
    ARM: 6286/1: fix Thumb-2 decompressor broken by "Auto calculate ZRELADDR"
    ARM: 6281/1: video/imxfb.c: allow usage without BACKLIGHT_CLASS_DEVICE
    ARM: 6280/1: imx: Fix build failure when including without
    ARM: S5PV210: Fix on missing s3c-sdhci card detection method for hsmmc3
    ARM: S5P: Fix on missing S5P_DEV_FIMC in plat-s5p/Kconfig
    ARM: S5PV210: Override FIMC driver name on Aquila board
    ARM: S5PC100: enable FIMC on SMDKC100
    ...

    Fix up conflicts in arch/arm/mach-{s5pc100,s5pv210}/cpu.c due to
    different subsystem 'setname' calls, and trivial port types in
    include/linux/serial_core.h

    Linus Torvalds
     

11 Aug, 2010

3 commits

  • 'make htmldocs' has a fatal error when processing libata.xml, as seen
    below. The string "Example patterns:" (or any string with "example.*:"
    in it AFAIK) causes some part of the doc generation tool chain to try to
    produce an block without a beginning , but
    there is an ending generated, which throws things out of kilter.

    I don't even know where (what program) this is happening in.
    I searched in docproc and xmlto and in some XML stylesheets without
    finding anything. If anyone can give me pointers about this, please do.
    Until this is fixed, let's just spell "Example" as "Sample"
    and match up the double quotation marks while there.

    Documentation/DocBook/libata.xml:6575: parser error : Opening and ending tag mismatch: programlisting line 6573 and para

    ^
    Documentation/DocBook/libata.xml:6580: parser error : Opening and ending tag mismatch: para line 6575 and programlisting

    ^
    unable to parse Documentation/DocBook/libata.xml
    make[2]: *** [Documentation/DocBook/libata.html] Error 1

    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • * 'for-2.6.36' of git://git.kernel.dk/linux-2.6-block: (149 commits)
    block: make sure that REQ_* types are seen even with CONFIG_BLOCK=n
    xen-blkfront: fix missing out label
    blkdev: fix blkdev_issue_zeroout return value
    block: update request stacking methods to support discards
    block: fix missing export of blk_types.h
    writeback: fix bad _bh spinlock nesting
    drbd: revert "delay probes", feature is being re-implemented differently
    drbd: Initialize all members of sync_conf to their defaults [Bugz 315]
    drbd: Disable delay probes for the upcomming release
    writeback: cleanup bdi_register
    writeback: add new tracepoints
    writeback: remove unnecessary init_timer call
    writeback: optimize periodic bdi thread wakeups
    writeback: prevent unnecessary bdi threads wakeups
    writeback: move bdi threads exiting logic to the forker thread
    writeback: restructure bdi forker loop a little
    writeback: move last_active to bdi
    writeback: do not remove bdi from bdi_list
    writeback: simplify bdi code a little
    writeback: do not lose wake-ups in bdi threads
    ...

    Fixed up pretty trivial conflicts in drivers/block/virtio_blk.c and
    drivers/scsi/scsi_error.c as per Jens.

    Linus Torvalds
     
  • Conflicts:
    arch/arm/Kconfig
    arch/arm/mm/Kconfig

    Russell King
     

08 Aug, 2010

3 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (55 commits)
    workqueue: mark init_workqueues() as early_initcall()
    workqueue: explain for_each_*cwq_cpu() iterators
    fscache: fix build on !CONFIG_SYSCTL
    slow-work: kill it
    gfs2: use workqueue instead of slow-work
    drm: use workqueue instead of slow-work
    cifs: use workqueue instead of slow-work
    fscache: drop references to slow-work
    fscache: convert operation to use workqueue instead of slow-work
    fscache: convert object to use workqueue instead of slow-work
    workqueue: fix how cpu number is stored in work->data
    workqueue: fix mayday_mask handling on UP
    workqueue: fix build problem on !CONFIG_SMP
    workqueue: fix locking in retry path of maybe_create_worker()
    async: use workqueue for worker pool
    workqueue: remove WQ_SINGLE_CPU and use WQ_UNBOUND instead
    workqueue: implement unbound workqueue
    workqueue: prepare for WQ_UNBOUND implementation
    libata: take advantage of cmwq and remove concurrency limitations
    workqueue: fix worker management invocation without pending works
    ...

    Fixed up conflicts in fs/cifs/* as per Tejun. Other trivial conflicts in
    include/linux/workqueue.h, kernel/trace/Kconfig and kernel/workqueue.c

    Linus Torvalds
     
  • Remove the current bio flags and reuse the request flags for the bio, too.
    This allows to more easily trace the type of I/O from the filesystem
    down to the block driver. There were two flags in the bio that were
    missing in the requests: BIO_RW_UNPLUG and BIO_RW_AHEAD. Also I've
    renamed two request flags that had a superflous RW in them.

    Note that the flags are in bio.h despite having the REQ_ name - as
    blkdev.h includes bio.h that is the only way to go for now.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Christoph Hellwig
     
  • Remove all the trivial wrappers for the cmd_type and cmd_flags fields in
    struct requests. This allows much easier grepping for different request
    types instead of unwinding through macros.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Christoph Hellwig
     

07 Aug, 2010

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6:
    pcmcia: avoid buffer overflow in pcmcia_setup_isa_irq
    pcmcia: do not request windows if you don't need to
    pcmcia: insert PCMCIA device resources into resource tree
    pcmcia: export resource information to sysfs
    pcmcia: use struct resource for PCMCIA devices, part 2
    pcmcia: remove memreq_t
    pcmcia: move local definitions out of include/pcmcia/cs.h
    pcmcia: do not use io_req_t when calling pcmcia_request_io()
    pcmcia: do not use io_req_t after call to pcmcia_request_io()
    pcmcia: use struct resource for PCMCIA devices
    pcmcia: clean up cs.h
    pcmcia: use pcmica_{read,write}_config_byte
    pcmcia: remove cs_types.h
    pcmcia: remove unused flag, simplify headers
    pcmcia: remove obsolete CS_EVENT_ definitions
    pcmcia: split up central event handler
    pcmcia: simplify event callback
    pcmcia: remove obsolete ioctl

    Conflicts in:
    - drivers/staging/comedi/drivers/*
    - drivers/staging/wlags49_h2/wl_cs.c
    due to dev_info_t and whitespace changes

    Linus Torvalds
     
  • …-linux-2.6 into devel-stable

    Conflicts:
    arch/arm/mach-pxa/palmt5.c
    arch/arm/mach-pxa/palmtreo.c

    Russell King
     

06 Aug, 2010

1 commit

  • of_device is just an alias for platform_device, so remove it entirely. Also
    replace to_of_device() with to_platform_device() and update comment blocks.

    This patch was initially generated from the following semantic patch, and then
    edited by hand to pick up the bits that coccinelle didn't catch.

    @@
    @@
    -struct of_device
    +struct platform_device

    Signed-off-by: Grant Likely
    Reviewed-by: David S. Miller

    Grant Likely
     

03 Aug, 2010

2 commits

  • Instead of io_req_t, drivers are now requested to fill out
    struct pcmcia_device *p_dev->resource[0,1] for up to two ioport
    ranges. After a call to pcmcia_request_io(), the ports found there
    are reserved, after calling pcmcia_request_configuration(), they may
    be used.

    CC: netdev@vger.kernel.org
    CC: linux-wireless@vger.kernel.org
    CC: linux-ide@vger.kernel.org
    CC: linux-usb@vger.kernel.org
    CC: laforge@gnumonks.org
    CC: linux-mtd@lists.infradead.org
    CC: alsa-devel@alsa-project.org
    CC: linux-serial@vger.kernel.org
    CC: Michael Buesch
    Acked-by: Marcel Holtmann (for drivers/bluetooth/)
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • After pcmcia_request_io(), do not make use of the values stored in
    io_req_t, but instead use those found in struct pcmcia_device->resource[].

    CC: netdev@vger.kernel.org
    CC: linux-wireless@vger.kernel.org
    CC: linux-ide@vger.kernel.org
    CC: linux-usb@vger.kernel.org
    CC: laforge@gnumonks.org
    CC: linux-mtd@lists.infradead.org
    CC: alsa-devel@alsa-project.org
    CC: linux-serial@vger.kernel.org
    Acked-by: Marcel Holtmann (for drivers/bluetooth/)
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

02 Aug, 2010

8 commits

  • Make the following changes to prepare for NCQ command completion
    update. Changes made by this patch don't cause any functional
    difference.

    * sata_fsl_host_intr(): rename the local variable qc_active to
    done_mask as that's what it is.

    * mv_process_crpb_response(): restructure if clause for easier update.

    * nv_adma_interrupt(): drop unnecessary error variable.

    * nv_swncq_sdbfis(): drop unnecessary nr_done and return 0 on success.
    Typo fix.

    * nv_swncq_dmafis(): drop unused return value and return void.

    * nv_swncq_host_interrupt(): drop unnecessary return value handling.

    Signed-off-by: Tejun Heo
    Cc: Ashish Kalra
    Cc: Saeed Bishara
    Cc: Mark Lord
    Cc: Robert Hancock
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • This patch converts pci_table entries, where .subvendor=PCI_ANY_ID and
    .subdevice=PCI_ANY_ID, .class=0 and .class_mask=0, to use the
    PCI_VDEVICE macro, and thus improves readability.

    Signed-off-by: Peter Huewe
    Signed-off-by: Jeff Garzik

    Peter Huewe
     
  • SIDPR window registers are shared across ports and as each access is
    done in two steps, accesses to different ports under EH may race.
    This primarily is caused by incorrect host locking in EH context and
    should be fixed by defining locking requirements for each EH operation
    which can be used during EH and enforcing them but for now work around
    the problem by adding a dedicated SIDPR lock and grabbing it for each
    SIDPR access.

    Signed-off-by: Tejun Heo
    Reported-by: Mark Knecht
    Reported-by: Paul Check
    Cc: stable@kernel.org
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • Take further advantage of the new glob_match() function to reduce
    the blacklist size, this time making use of "character ranges" in
    the patterns.

    Signed-off-by: Mark Lord
    Signed-off-by: Jeff Garzik

    Mark Lord
     
  • Enable use of hyphenated pattern ranges in glob_match(), similar to how
    shell globbing works, and how developers might expect things to work.

    Signed-off-by: Mark Lord
    Signed-off-by: Jeff Garzik

    Mark Lord
     
  • Commit 1529c69adc (ata_generic: implement ATA_GEN_* flags and force
    enable DMA on MBP 7,1) implemented ATA_GEN_FORCE_DMA for forcing DMA
    mode and applied it to CENATEK but forgot to remove the original hard
    coded logic. This is removal of redundant logic and doesn't affect
    correctness.

    Signed-off-by: Tejun Heo
    Reported-by: Andy Whitcroft
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • The below patch casts ATA_MAX_QUEUE to int because GCC will
    give a warning message about the two different enum blocks:
    CC drivers/ata/ahci.o
    drivers/ata/ahci.c: In function 'ahci_init_one':
    drivers/ata/ahci.c:1045:2: warning: comparison between 'enum ' and 'enum '

    Signed-off-by: Justin P. Mattock
    Signed-off-by: Jeff Garzik

    Justin P. Mattock
     
  • Signed-off-by: FUJITA Tomonori
    Signed-off-by: Jeff Garzik

    FUJITA Tomonori