13 Jan, 2012

1 commit


11 Jan, 2012

1 commit

  • * 'upstream-linus' of git://github.com/jgarzik/libata-dev:
    ahci: support the STA2X11 I/O Hub
    pata_bf54x: fix BMIDE status register emulation
    ata: add ata port hibernate callbacks
    ata: update ata port's runtime status during system resume
    [SCSI] runtime resume parent for child's system-resume
    ahci: platform support for suspend/resume
    libata-core: kill duplicate statement in ata_do_set_mode()
    pata_of_platform: remove direct dependency on OF_IRQ
    SATA/PATA: convert drivers/ata/* to use module_platform_driver()
    pata_cs5536: forward port changes from cs5536
    libata-sff: use ATAPI_{COD|IO}
    ata: add ata port runtime PM callbacks
    ata: add ata port system PM callbacks
    [SCSI] sd: check runtime PM status in sd_shutdown
    [SCSI] check runtime PM status in system PM
    [SCSI] add flag to skip the runtime PM calls on the host
    ata: make ata port as parent device of scsi host
    ahci: start engine only during soft/hard resets

    Linus Torvalds
     

10 Jan, 2012

1 commit

  • New feature development

    This adds support for new features, and contains stuff from most
    platforms. A number of these patches could have fit into other
    branches, too, but were small enough not to cause too much
    confusion here.

    * tag 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (28 commits)
    mfd/db8500-prcmu: remove support for early silicon revisions
    ARM: ux500: fix the smp_twd clock calculation
    ARM: ux500: remove support for early silicon revisions
    ARM: ux500: update register files
    ARM: ux500: register DB5500 PMU dynamically
    ARM: ux500: update ASIC detection for U5500
    ARM: ux500: support DB8520
    ARM: picoxcell: implement watchdog restart
    ARM: OMAP3+: hwmod data: Add the default clockactivity for I2C
    ARM: OMAP3: hwmod data: disable multiblock reads on MMC1/2 on OMAP34xx/35xx <= ES2.1
    ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP4
    ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP3
    ARM: OMAP: hwmod data: Add support for AM35xx UART4/ttyO3
    ARM: Orion: Remove address map info from all platform data structures
    ARM: Orion: Get address map from plat-orion instead of via platform_data
    ARM: Orion: mbus_dram_info consolidation
    ARM: Orion: Consolidate the address map setup
    ARM: Kirkwood: Add configuration for MPP12 as GPIO
    ARM: Kirkwood: Recognize A1 revision of 6282 chip
    ARM: ux500: update the MOP500 GPIO assignments
    ...

    Linus Torvalds
     

09 Jan, 2012

14 commits

  • The AHCI controller found in the STA2X11 chip uses BAR number 0
    instead of 5. Also, the chip's fixup code sets a special DMA mask
    for all of its PCI functions, and the mask must be preserved here.

    Signed-off-by: Alessandro Rubini
    Acked-by: Giancarlo Asnaghi
    Cc: Alan Cox
    Signed-off-by: Jeff Garzik

    Alessandro Rubini
     
  • The author of this driver clearly wasn't familiar with the BMIDE specification
    (also known as SFF-8038i) when he implemented the bmdma_status() method: first,
    the interrupt bit of the BMIDE status register corresponds to nothing else but
    INTRQ signal (ATAPI_DEV_INT here); second, the error bit is only set if the
    controller encounters issue doing the bus master transfers, not on the IDE DMA
    burst termination interrupts like here (moreover, setting the error bit doesn't
    cause an interrupt). We now need to disable all those unused interrupts...

    (The only thing I couldn't figure out is how to flush the FIFO to memory once
    the interrupt happens as required by the mentioned spec.)

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Sonic Zhang
    Signed-off-by: Jeff Garzik

    Sergei Shtylyov
     
  • Signed-off-by: Lin Ming
    Signed-off-by: Jeff Garzik

    Lin Ming
     
  • The ata port is brought back to full power state during system resume.
    So its runtime PM status will have to be updated to reflect
    the actual post-system sleep status.

    This also fixes below warning during system suspend/resume.

    WARNING: at /work/linux/drivers/ata/libata-eh.c:4034
    ata_scsi_port_error_handler+0x89/0x557()

    4034 WARN_ON(!(ap->pflags & ATA_PFLAG_SUSPENDED));

    Signed-off-by: Lin Ming
    Signed-off-by: Jeff Garzik

    Lin Ming
     
  • Add platform hooks for custom suspend() and resume() functions. The
    generic suspend/resume code in drivers/ata/ahci_platform.c is adapted
    from the PCI version in drivers/ata/ahci.c.

    Signed-off-by: Brian Norris
    Signed-off-by: Jeff Garzik

    Brian Norris
     
  • Commit b3a706014e56b1356e7b275fd25b833c63175bf0 (libata: Add a
    drivers/ide style DMA disable) neglected to remove the line in
    ata_do_set_mode() it has obviously made useless/duplicated. Do this
    now, and make a line added back then wrapped properly...

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Jeff Garzik

    Sergei Shtylyov
     
  • CONFIG_OF_IRQ is not available on some platforms and using of_irq_*
    breaks the build. Since resources are already populated in the platform
    device, get the irq from there instead.

    Reported-by: David S. Miller
    Signed-off-by: Rob Herring
    Signed-off-by: Jeff Garzik

    Rob Herring
     
  • This patch converts the drivers in drivers/ata/* to use the
    module_platform_driver() macro which makes the code smaller and a bit
    simpler.

    Cc: Viresh Kumar
    Cc: Jeff Garzik
    Cc: Arnaud Patard
    Cc: Alessandro Zummo
    Cc: Sylvain Munaut
    Cc: Anton Vorontsov
    Cc: Marek Vasut
    Cc: Florian Fainelli
    Cc: Mark Miesfeld
    Cc: Ashish Kalra
    Cc: Paul Mundt
    Signed-off-by: Axel Lin
    Signed-off-by: Jeff Garzik

    Axel Lin
     
  • * Fix cable detection to also account for the slave device cable bit.

    * Disable UDMA when programming MWDMA in cs5536_set_dmamode().

    * Don't change UDMA settings in cs5536_set_piomode().

    * Add cs5536_program_dtc() helper.

    * Cleanup and uninline cs5536_[read,write]() methods.

    Cc: Martin K. Petersen
    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Jeff Garzik

    Bartlomiej Zolnierkiewicz
     
  • atapi_pio_bytes() uses bare numbers for the ATAPI interrupt reason bits despite
    these are #define'd in .

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Jeff Garzik

    Sergei Shtylyov
     
  • Add ata port runtime suspend/resume/idle callbacks.
    Set ->eh_noresume to skip the runtime PM calls on scsi host
    in the error handler to avoid dead lock.

    Acked-by: Tejun Heo
    Signed-off-by: Lin Ming
    Signed-off-by: Jeff Garzik

    Lin Ming
     
  • Change ata_host_request_pm to ata_port_request_pm which performs
    port suspend/resume.

    Add ata port type driver which implements port PM callbacks.

    Signed-off-by: Lin Ming
    Signed-off-by: Jeff Garzik

    Lin Ming
     
  • Currently, the device tree of ata port and scsi host looks as below,

    /sys/devices/pci0000:00/0000:00:1f.2 (ahci controller)
    |-- ata1 (ata port)
    |-- host0 (scsi host)
    |-- target0:0:0 (scsi target)
    |-- 0:0:0:0 (disk)

    This patch makes ata port as parent device of scsi host, then it becomes

    /sys/devices/pci0000:00/0000:00:1f.2 (ahci controller)
    |-- ata1 (ata port)
    |-- host0 (scsi host)
    |-- target0:0:0 (scsi target)
    |-- 0:0:0:0 (disk)

    With this change, the ata port runtime PM is easier.
    For example, the ata port runtime suspend will happen as,

    disk suspend --> scsi target suspend --> scsi host suspend --> ata port
    suspend.

    Acked-by: Tejun Heo
    Signed-off-by: Lin Ming
    Signed-off-by: Jeff Garzik

    Lin Ming
     
  • This is another attempt at fixing the same problem that 270dac35c2
    (libata: ahci_start_engine compliant to AHCI spec) tried to solve.
    Unfortunately, 270dac35c2 created regressions for a lot more common
    controllers and got reverted.

    This specific AHCI IP block becomes a brick if the DMA engine is
    started while DRQ is set. It is not possible to avoid the condition
    completely but the most common occurrence is caused by spurious use of
    ahci_start_engine() from ahci_start_port() during init sequence.

    DMA engine is started after both soft and hard resets and
    ahci_start_port() is always followed by resets, so there is no reason
    to start DMA engine from ahci_start_port().

    This patch removes ahci_start_engine() invocation from
    ahci_start_port(). This change makes failure path of
    ahci_port_suspend() leave engine stopped without following resets.
    This is resolved by replacing ahci_start_port() call with
    ata_port_freeze() which forces resets afterwards, which is the better
    behavior anyway.

    Signed-off-by: Tejun Heo
    Reported-by: Brian Norris
    Reported-by: Jian Peng
    Signed-off-by: Jeff Garzik

    Tejun Heo
     

07 Jan, 2012

1 commit

  • Conflicts:
    arch/arm/mach-at91/at91cap9.c
    arch/arm/mach-at91/at91sam9260.c
    arch/arm/mach-at91/at91sam9261.c
    arch/arm/mach-at91/at91sam9263.c
    arch/arm/mach-at91/at91sam9g45.c
    arch/arm/mach-at91/at91sam9rl.c
    arch/arm/mach-exynos/cpu.c
    arch/arm/mach-shmobile/board-kota2.c

    This resolves a bunch of conflicts between the arm-soc tree
    and changes from the arm tree that have gone upstream.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

23 Dec, 2011

1 commit


14 Dec, 2011

1 commit


29 Nov, 2011

1 commit


17 Nov, 2011

2 commits

  • fix these errors:
    drivers/ata/libata-sff.c:2538:3: error: implicit declaration of function
    'ata_pci_bmdma_prepare_host'
    drivers/ata/libata-sff.c:2549:40: error: 'ata_bmdma_interrupt'
    undeclared (first use in this function)

    Signed-off-by: Alexander Beregalov
    Signed-off-by: Jeff Garzik

    Alexander Beregalov
     
  • The change in commit 904c04feaf13ed "ahci_platform: Add the board_ids..."
    doesn't work for the DT probing case as platform_get_device_id returns
    NULL. Pick the default ahci_port_info in this case.

    Signed-off-by: Rob Herring
    Acked-by: Anton Vorontsov
    Cc: Richard Zhu
    Cc: linux-ide@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Jeff Garzik

    Rob Herring
     

11 Nov, 2011

1 commit


09 Nov, 2011

5 commits


07 Nov, 2011

1 commit

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     

04 Nov, 2011

1 commit


01 Nov, 2011

2 commits


29 Oct, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (204 commits)
    [SCSI] qla4xxx: export address/port of connection (fix udev disk names)
    [SCSI] ipr: Fix BUG on adapter dump timeout
    [SCSI] megaraid_sas: Fix instance access in megasas_reset_timer
    [SCSI] hpsa: change confusing message to be more clear
    [SCSI] iscsi class: fix vlan configuration
    [SCSI] qla4xxx: fix data alignment and use nl helpers
    [SCSI] iscsi class: fix link local mispelling
    [SCSI] iscsi class: Replace iscsi_get_next_target_id with IDA
    [SCSI] aacraid: use lower snprintf() limit
    [SCSI] lpfc 8.3.27: Change driver version to 8.3.27
    [SCSI] lpfc 8.3.27: T10 additions for SLI4
    [SCSI] lpfc 8.3.27: Fix queue allocation failure recovery
    [SCSI] lpfc 8.3.27: Change algorithm for getting physical port name
    [SCSI] lpfc 8.3.27: Changed worst case mailbox timeout
    [SCSI] lpfc 8.3.27: Miscellanous logic and interface fixes
    [SCSI] megaraid_sas: Changelog and version update
    [SCSI] megaraid_sas: Add driver workaround for PERC5/1068 kdump kernel panic
    [SCSI] megaraid_sas: Add multiple MSI-X vector/multiple reply queue support
    [SCSI] megaraid_sas: Add support for MegaRAID 9360/9380 12GB/s controllers
    [SCSI] megaraid_sas: Clear FUSION_IN_RESET before enabling interrupts
    ...

    Linus Torvalds
     

27 Oct, 2011

1 commit

  • * 'gpio' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm: (43 commits)
    ARM: 7135/1: ep93xx: bring back missing
    ARM: 7104/1: plat-pxa: break out GPIO driver specifics
    ARM: 7103/1: plat-pxa: move PXA GPIO driver to GPIO subsystem
    ARM: 7042/3: mach-ep93xx: break out GPIO driver specifics
    ARM: 7101/1: arm/tegra: Replace with
    ARM: 7094/1: arm/tegra: Move EN_VDD_1V05_GPIO to board-harmony.h
    ARM: 7083/1: rewrite U300 GPIO to use gpiolib
    ARM: 7074/1: gpio: davinci: eliminate unused variable warnings
    ARM: 7063/1: Orion: gpio: add missing include of linux/types.h
    ARM: 7055/1: arm/tegra: mach/gpio.h: include linux/types.h to fix build
    ARM: 7054/1: arm/tegra: Delete custom gpio_to_irq, and irq_to_gpio
    ARM: 7053/1: gpio/tegra: Implement gpio_chip.to_irq
    ARM: 7052/1: gpio/tegra: Remove use of irq_to_gpio
    ARM: 7057/1: mach-pnx4008: rename GPIO header
    ARM: 7056/1: plat-nomadik: kill off
    ARM: 7050/1: mach-sa1100: delete irq_to_gpio() function
    ARM: 7049/1: mach-sa1100: move SA1100 GPIO driver to GPIO subsystem
    ARM: 7045/1: mach-lpc32xx: break out GPIO driver specifics
    ARM: 7044/1: mach-lpc32xx: move LPC32XX GPIO driver to GPIO subsystem
    ARM: 7043/1: mach-ixp2000: rename GPIO header
    ...

    Fix up trivial conflicts in arch/arm/mach-u300/Kconfig manually

    Linus Torvalds
     

15 Oct, 2011

5 commits