1. 23 Jul, 2012 11 commits
  2. 22 Jul, 2012 29 commits
    • Linus Torvalds's avatar
      Merge tag 'mmc-merge-for-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · a6be1fcb
      Linus Torvalds authored
      Pull MMC updates from Chris Ball:
       "MMC highlights for 3.6:
      
        Core:
         - Rename cd-gpio to slot-gpio and extend it to support more slot GPIO
           functions, such as write-protect.
         - Add a function to get regulators (Vdd and Vccq) for a host.
      
        Drivers:
         - sdhci-pxav2, sdhci-pxav3: Add device tree support.
         - sdhi: Add device tree support.
         - sh_mmcif: Add support for regulators, device tree, slot-gpio.
         - tmio: Add regulator support, use slot-gpio."
      
      * tag 'mmc-merge-for-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (62 commits)
        mmc: sdhci-dove: Prepare for common clock framework
        mmc: sdhci-dove: Add SDHCI_QUIRK_NO_HISPD_BIT
        mmc: omap_hsmmc: ensure probe returns error upon resource failure
        mmc: mxs-mmc: Add wp-inverted property
        mmc: esdhc: Fix DMA_MASK to not break mx25 DMA access
        mmc: core: reset signal voltage on power up
        mmc: sd: Fix sd current limit setting
        mmc: omap_hsmmc: add clk_prepare and clk_unprepare
        mmc: sdhci: When a UHS switch fails, cycle power if regulator is used
        mmc: atmel-mci: modify CLKDIV displaying in debugfs
        mmc: atmel-mci: fix incorrect setting of host->data to NULL
        mmc: sdhci: poll for card even when card is logically unremovable
        mmc: sdhci: Introduce new flag SDHCI_USING_RETUNING_TIMER
        mmc: sdio: Change pr_warning to pr_warn_ratelimited
        mmc: core: Simplify and fix for SD switch processing
        mmc: sdhci: restore host settings when card is removed
        mmc: sdhci: fix incorrect command used in tuning
        mmc: sdhci-pci: CaFe has broken card detection
        mmc: sdhci: Report failure reasons for all cases in sdhci_add_host()
        mmc: s3cmci: Convert s3cmci driver to gpiolib API
        ...
      a6be1fcb
    • Linus Torvalds's avatar
      Merge branch 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5b160bd4
      Linus Torvalds authored
      Pull x86/mce changes from Ingo Molnar:
       "This tree improves the AMD thresholding bank code and includes a
        memory fault signal handling fixlet."
      
      * 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce: Fix siginfo_t->si_addr value for non-recoverable memory faults
        x86, MCE, AMD: Update copyrights and boilerplate
        x86, MCE, AMD: Give proper names to the thresholding banks
        x86, MCE, AMD: Make error_count read only
        x86, MCE, AMD: Cleanup reading of error_count
        x86, MCE, AMD: Print decimal thresholding values
        x86, MCE, AMD: Move shared bank to node descriptor
        x86, MCE, AMD: Remove local_allocate_... wrapper
        x86, MCE, AMD: Remove shared banks sysfs linking
        x86, amd_nb: Export model 0x10 and later PCI id
      5b160bd4
    • Sebastian Hesselbarth's avatar
      mmc: sdhci-dove: Prepare for common clock framework · 30b87c60
      Sebastian Hesselbarth authored
      As mach-dove is moving towards common clock framework prepare
      the sdhci driver to grab its clock.
      Signed-off-by: default avatarSebastian Hesselbarth <sebastian.hesselbarth@googlemail.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      30b87c60
    • Sebastian Hesselbarth's avatar
      mmc: sdhci-dove: Add SDHCI_QUIRK_NO_HISPD_BIT · a9ca1d54
      Sebastian Hesselbarth authored
      The sdio controller on dove doesn't have a bit to indicate
      high-speed. With the quirk set it fixes accessing high-speed
      sdcards.
      Signed-off-by: default avatarSebastian Hesselbarth <sebastian.hesselbarth@googlemail.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      a9ca1d54
    • Kevin Hilman's avatar
      mmc: omap_hsmmc: ensure probe returns error upon resource failure · 9c17d08c
      Kevin Hilman authored
      If platform_get_resource_by_name() fails, driver probe is aborted an
      should return an error so the driver is not bound to the device.
      
      However, in the current error path of platform_get_resource_by_name(),
      probe returns zero since the return value (ret) is not properly set.
      With a zero return value, the driver core assumes probe was successful
      and will bind the driver to the device.
      
      Fix this by ensuring that probe returns an error code in this failure
      path.
      Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
      Acked-by: default avatarVenkatraman S <svenkatr@ti.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      9c17d08c
    • Marek Vasut's avatar
      mmc: mxs-mmc: Add wp-inverted property · b6e76f10
      Marek Vasut authored
      The write-protect GPIO is inverted on some boards. Handle such case.
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      b6e76f10
    • Wilson Callan's avatar
      mmc: esdhc: Fix DMA_MASK to not break mx25 DMA access · 9a0985b7
      Wilson Callan authored
      Patch to not set reserved bits in i.MX25 PROCTL register.  DMA stops
      working if those bits get set.
      Signed-off-by: default avatarWilson Callan <wilson.callan@savantsystems.com>
      Acked-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      9a0985b7
    • Linus Torvalds's avatar
      Merge tag 'pm-for-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 7100e505
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
      
       - ACPI conversion to PM handling based on struct dev_pm_ops.
       - Conversion of a number of platform drivers to PM handling based on
         struct dev_pm_ops and removal of empty legacy PM callbacks from a
         couple of PCI drivers.
       - Suspend-to-both for in-kernel hibernation from Bojan Smojver.
       - cpuidle fixes and cleanups from ShuoX Liu, Daniel Lezcano and Preeti
         Murthy.
       - cpufreq bug fixes from Jonghwa Lee and Stephen Boyd.
       - Suspend and hibernate fixes from Srivatsa Bhat and Colin Cross.
       - Generic PM domains framework updates.
       - RTC CMOS wakeup signaling update from Paul Fox.
       - sparse warnings fixes from Sachin Kamat.
       - Build warnings fixes for the generic PM domains framework and PM
         sysfs code.
       - sysfs switch for printing device suspend times from Sameer Nanda.
       - Documentation fix from Oskar Schirmer.
      
      * tag 'pm-for-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (70 commits)
        cpufreq: Fix sysfs deadlock with concurrent hotplug/frequency switch
        EXYNOS: bugfix on retrieving old_index from freqs.old
        PM / Sleep: call early resume handlers when suspend_noirq fails
        PM / QoS: Use NULL pointer instead of plain integer in qos.c
        PM / QoS: Use NULL pointer instead of plain integer in pm_qos.h
        PM / Sleep: Require CAP_BLOCK_SUSPEND to use wake_lock/wake_unlock
        PM / Sleep: Add missing static storage class specifiers in main.c
        cpuilde / ACPI: remove time from acpi_processor_cx structure
        cpuidle / ACPI: remove usage from acpi_processor_cx structure
        cpuidle / ACPI : remove latency_ticks from acpi_processor_cx structure
        rtc-cmos: report wakeups from interrupt handler
        PM / Sleep: Fix build warning in sysfs.c for CONFIG_PM_SLEEP unset
        PM / Domains: Fix build warning for CONFIG_PM_RUNTIME unset
        olpc-xo15-sci: Use struct dev_pm_ops for power management
        PM / Domains: Replace plain integer with NULL pointer in domain.c file
        PM / Domains: Add missing static storage class specifier in domain.c file
        PM / crypto / ux500: Use struct dev_pm_ops for power management
        PM / IPMI: Remove empty legacy PCI PM callbacks
        tpm_nsc: Use struct dev_pm_ops for power management
        tpm_tis: Use struct dev_pm_ops for power management
        ...
      7100e505
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · cb47c183
      Linus Torvalds authored
      Pull target updates from Nicholas Bellinger:
       "There have been lots of work in a number of areas this past round.
        The highlights include:
      
         - Break out target_core_cdb.c emulation into SPC/SBC ops (hch)
         - Add a parse_cdb method to target backend drivers (hch)
         - Move sync_cache + write_same + unmap into spc_ops (hch)
         - Use target_execute_cmd for WRITEs in iscsi_target + srpt (hch)
         - Offload WRITE I/O backend submission in tcm_qla2xxx + tcm_fc (hch +
           nab)
         - Refactor core_update_device_list_for_node() into enable/disable
           funcs (agrover)
         - Replace the TCM processing thread with a TMR work queue (hch)
         - Fix regression in transport_add_device_to_core_hba from TMR
           conversion (DanC)
         - Remove racy, now-redundant check of sess_tearing_down with qla2xxx
           (roland)
         - Add range checking, fix reading of data len + possible underflow in
           UNMAP (roland)
         - Allow for target_submit_cmd() returning errors + convert fabrics
           (roland + nab)
         - Drop bogus struct file usage for iSCSI/SCTP (viro)"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (54 commits)
        iscsi-target: Drop bogus struct file usage for iSCSI/SCTP
        target: NULL dereference on error path
        target: Allow for target_submit_cmd() returning errors
        target: Check number of unmap descriptors against our limit
        target: Fix possible integer underflow in UNMAP emulation
        target: Fix reading of data length fields for UNMAP commands
        target: Add range checking to UNMAP emulation
        target: Add generation of LOGICAL BLOCK ADDRESS OUT OF RANGE
        target: Make unnecessarily global se_dev_align_max_sectors() static
        target: Remove se_session.sess_wait_list
        qla2xxx: Remove racy, now-redundant check of sess_tearing_down
        target: Check sess_tearing_down in target_get_sess_cmd()
        sbp-target: Consolidate duplicated error path code in sbp_handle_command()
        target: Un-export target_get_sess_cmd()
        qla2xxx: Get rid of redundant qla_tgt_sess.tearing_down
        target: Make core_disable_device_list_for_node use pre-refactoring lock ordering
        target: refactor core_update_device_list_for_node()
        target: Eliminate else using boolean logic
        target: Misc retval cleanups
        target: Remove hba param from core_dev_add_lun
        ...
      cb47c183
    • Linus Torvalds's avatar
      Merge tag 'regulator-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 4d460fd3
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "Lots and lots of fixes from Axel and some others here, plus some
        framework enhancements which continue the theme of factoring code out
        of the drivers and into the core.
      
         - Initial framework support for GPIO controlled enable signals,
           saving a bunch of code in drivers.
         - Move fixed regulator enable time and voltage mapping table
           specifications to data.
         - Used some of the recent framework enhancements to make voltage
           change notifications more useful, passing the voltage in as an
           argument to the notification.
         - Fixed the pattern used for finding individual regulators on a
           device to not rely on the node name, supporting the use of multiple
           PMICs of the same type in the system.
         - New drivers for Maxim MAX77686, TI LP872x and LP8788, Samsung
           S2MPS11, and Wolfson Arizona microphone supplies and LDOs."
      
      * tag 'regulator-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (176 commits)
        regulator: add new lp8788 regulator driver
        regulator: mc13xxx: Remove extern function declaration for mc13xxx_sw_regulator
        regulator: tps65910: set input_supply on desc unconditionally
        regulator: palmas: Fix calcuating selector in palmas_map_voltage_smps
        regulator: lp872x: Simplify implementation of lp872x_find_regulator_init_data()
        regulator: twl: Fix list_voltate for twl6030ldo_ops
        regulator: twl: Convert twl6030ldo_ops to [get|set]_voltage_sel
        regulator: twl: Fix the formula to calculate vsel and voltage for twl6030ldo
        regulator: s5m8767: Properly handle gpio_request failure
        regulator: max8997: Properly handle gpio_request failure
        regulator: tps62360: use devm_* for gpio request
        regulator: tps6586x: add support for input supply
        regulator: tps65217: Add device tree support
        regulator: aat2870: Remove unused min_uV and max_uV from struct aat2870_regulator
        regulator: aat2870: Convert to regulator_list_voltage_table
        regulator: da9052: initialize of_node param for regulator register
        regulator: Add REGULATOR_STATUS_UNDEFINED.
        regulator: Fix a typo in regulator_mode_to_status() core function.
        regulator: s2mps11: Use sec_reg_write rather than sec_reg_update when mask is 0xff
        regulator: s2mps11: Fix wrong setting for config.dev
        ...
      4d460fd3
    • Linus Torvalds's avatar
      Merge tag 'regmap-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 7cd58b0a
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "A few fixes plus a few features, the most generally useful thing being
        the register paging support which can be used by quite a few devices:
      
         - Support for wake IRQs in regmap-irq
         - Support for register paging
         - Support for explicitly specified endianness, mostly for MMIO."
      
      * tag 'regmap-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Fix incorrect arguments to kzalloc() call
        regmap: Add hook for printk logging for debugging during early init
        regmap: Fix work_buf switching for page update during virtual range access.
        regmap: Add support for register indirect addressing.
        regmap: Move lock out from internal function _regmap_update_bits().
        regmap: mmio: Staticize regmap_mmio_gen_context()
        regmap: Remove warning on stubbed dev_get_regmap()
        regmap: Implement support for wake IRQs
        regmap: Don't try to map non-existant IRQs
        regmap: Constify regmap_irq_chip
        regmap: mmio: request native endian formatting
        regmap: allow busses to request formatting with specific endianness
      7cd58b0a
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e2b34e31
      Linus Torvalds authored
      Pull a x86/build change from Ingo Molnar.
      
      This makes the default stack alignment on x86-64 be just 8, allowing for
      improved code generation (it can avoid some unnecessary extra alignment
      logic and use just pure push/pop sequences) and smaller stack frames.
      
      We can't generally do SSE with 16-byte alignment issues in the kernel anyway.
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86-64, gcc: Use -mpreferred-stack-boundary=3 if supported
      e2b34e31
    • Linus Torvalds's avatar
      Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2bd3488f
      Linus Torvalds authored
      Pull x86/uv changes from Ingo Molnar:
       "UV2 BAU productization fixes.
      
        The BAU (Broadcast Assist Unit) is SGI's fancy out of line way on UV
        hardware to do TLB flushes, instead of the normal APIC IPI methods.
        The commits here fix / work around hangs in their latest hardware
        iteration (UV2).
      
        My understanding is that the main purpose of the out of line
        signalling channel is to improve scalability: the UV APIC hardware
        glue does not handle broadcasting to many CPUs very well, and this
        matters most for TLB shootdowns.
      
        [ I don't agree with all aspects of the current approach: in hindsight
          it would have been better to link the BAU at the IPI/APIC driver
          level instead of the TLB shootdown level, where TLB flushes are
          really just one of the uses of broadcast SMP messages.  Doing that
          would improve scalability in some other ways and it would also
          remove a few uglies from the TLB path.  It would also be nice to
          push more is_uv_system() tests into proper x86_init or x86_platform
          callbacks.  Cliff? ]"
      
      * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/uv: Work around UV2 BAU hangs
        x86/uv: Implement UV BAU runtime enable and disable control via /proc/sgi_uv/
        x86/uv: Fix the UV BAU destination timeout period
      2bd3488f
    • Aaron Lu's avatar
      mmc: core: reset signal voltage on power up · 108ecc4c
      Aaron Lu authored
      Add a call to mmc_set_signal_voltage() to set signal voltage to 3.3v in
      mmc_power_up so that we do not need to touch signal voltage setting in
      mmc/sd/sdio init functions and rescan function.
      
      For mmc/sd cards, when doing a suspend/resume cycle, consider the unsafe
      resume case, the card will lose its power and when powered on again, we
      will set signal voltage to 3.3v in mmc_power_up before its resume function
      gets called, which will re-init the card.
      
      And for sdio cards, when doing a suspend/resume cycle, consider the unsafe
      resume case, the card will either lose its power or not depending on if it
      wants to wakeup the host. If power is not maintained, it is the same case as
      mmc/sd cards. If power is maintained, mmc_power_up will not be called and
      the card's signal voltage will remain at the last setting.
      Signed-off-by: default avatarAaron Lu <aaron.lu@amd.com>
      Tested-by: default avatarVenkatraman S <svenkatr@ti.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      108ecc4c
    • Aaron Lu's avatar
      mmc: sd: Fix sd current limit setting · 55c4665e
      Aaron Lu authored
      Host has different current capabilities at different voltages, we need
      to record these settings seperately. The defined voltages are 1.8/3.0/3.3.
      For other voltages, we do not touch current limit setting.
      
      Before we set the current limit for the sd card, find out the host's
      operating voltage first and then find out the current capabilities of
      the host at that voltage to set the current limit.
      Signed-off-by: default avatarAaron Lu <aaron.lu@amd.com>
      Reviewed-by: default avatarPhilip Rakity <prakity@marvell.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      55c4665e
    • Rajendra Nayak's avatar
      mmc: omap_hsmmc: add clk_prepare and clk_unprepare · 94c18149
      Rajendra Nayak authored
      In preparation for OMAP moving to the Common Clock Framework (CCF)
      add clk_prepare() and clk_unprepare() for the hsmmc clocks.
      Signed-off-by: default avatarRajendra Nayak <rnayak@ti.com>
      Acked-by: default avatarVenkatraman S <svenkatr@ti.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      94c18149
    • Philip Rakity's avatar
      mmc: sdhci: When a UHS switch fails, cycle power if regulator is used · 38cfc2f7
      Philip Rakity authored
      Power needs to be removed from the card when switching to 1.8v fails.
      
      If a regulator is used to control vmmc we need to turn the
      regulator off and then back on otherwise power will not be
      removed from the card.
      Signed-off-by: default avatarPhilip Rakity <prakity@marvell.com>
      Reviewed-by: default avatarAaron Lu <aaron.lu@amd.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      38cfc2f7
    • Nicolas Ferre's avatar
      mmc: atmel-mci: modify CLKDIV displaying in debugfs · 8a4de07e
      Nicolas Ferre authored
      Modify clock division displaying in debugfs for matching
      the new CLKDIV,CLKODD user interface arrangement.
      Is using the has_odd_clk_div property to choose the proper format.
      Signed-off-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
      Acked-by: default avatarLudovic Desroches <ludovic.desroches@atmel.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      8a4de07e
    • Nicolas Ferre's avatar
      mmc: atmel-mci: fix incorrect setting of host->data to NULL · 41b4e9a1
      Nicolas Ferre authored
      Setting host->data to NULL is incorrect sequence in STATE_SENDING_STOP
      state of FSM: This early setting leads to the skip of dma_unmap_sg()
      in atmci_dma_cleanup() which is a bug.
      
      Idea taken from dw_mmc by Seungwon Jeon.
      Signed-off-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
      Cc: Seungwon Jeon <tgih.jun@samsung.com>
      Acked-by: default avatarLudovic Desroches <ludovic.desroches@atmel.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      41b4e9a1
    • Daniel Drake's avatar
      mmc: sdhci: poll for card even when card is logically unremovable · eb6d5ae1
      Daniel Drake authored
      The Marvell CaFe is now marked as having bad card detection to fix
      a problem during system resume.
      
      Now on the OLPC XO-1 we are facing the issue that the card is marked
      as logically unremovable (via MMC_UNSAFE_RESUME), which means that
      mmc_card_is_removable considers the card non-removable. The existing
      code logic decides not to poll for card presence in this case, and
      card detection is also disabled because of the quirk being set.
      This means that no SD cards are detected when inserted after boot.
      
      Refine the logic to enable card presence polling in the case when
      a card is logically unremovable, only avoiding the poll in the case
      when the card is physically non-removable (denoted with
      MMC_CAP_NONREMOVABLE).
      Signed-off-by: default avatarDaniel Drake <dsd@laptop.org>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      eb6d5ae1
    • Aaron Lu's avatar
      mmc: sdhci: Introduce new flag SDHCI_USING_RETUNING_TIMER · 973905fe
      Aaron Lu authored
      Add a new flag of SDHCI_USING_RETUNING_TIMER to represent if the host
      is using a retuning timer for the card inserted.
      
      This flag is set when the host does tuning the first time for the card
      and the host's retuning mode is 1. This flag is used afterwards whenever
      needs to decide if the host is currently using a retuning timer.
      
      This flag is cleared when the card is removed in sdhci_reinit.
      
      The set/clear of the flag and the start/stop of the retuning timer is
      associated with the card's init/remove time, so there is no need to
      touch it when the host is to be removed as at that time the card should
      have already been removed.
      Signed-off-by: default avatarAaron Lu <aaron.lu@amd.com>
      Reviewed-by: default avatarGirish K S <girish.shivananjappa@linaro.org>
      Reviewed-by: default avatarPhilip Rakity <prakity@marvell.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      973905fe
    • Liu Chuansheng's avatar
      mmc: sdio: Change pr_warning to pr_warn_ratelimited · aa6439da
      Liu Chuansheng authored
      When debugging one bad issue, got lots of pr_warning messages
      "queuing unknown CIS tuple" which caused a printk storm and
      flooded the console.
      
      This patch changes the pr_warning to use pr_warn_ratelimited.
      Signed-off-by: default avatarLiu Chuansheng <chuansheng.liu@intel.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      aa6439da
    • Linus Torvalds's avatar
      Merge branch 'x86-reboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d5d96ed2
      Linus Torvalds authored
      Pull x86/reboot changes from Ingo Molnar:
       "Now that the revampted x86 real-mode trampoline code is upstream and
        seems to be working well, we can extend the 64-bit reboot code to be
        as capable as the 32-bit one."
      
      * 'x86-reboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86-64, reboot: Be more paranoid in 64-bit reboot=bios
        x86, reboot: Drop redundant write of reboot_mode
        x86-64, reboot: Allow reboot=bios and reboot-cpu override on x86-64
      d5d96ed2
    • Aaron Lu's avatar
      mmc: core: Simplify and fix for SD switch processing · a39ca6ae
      Aaron Lu authored
      In mmc_read_switch, just do a one time mode 0 switch command to get the
      support bits information, no need to do multiple times as the support
      bits do not change with different arguments.
      
      And no need to check current limit support bits, as these bits are
      fixed according to the signal voltage. If the signal voltage is 1.8V,
      the support bits would be 0xf and if the signal voltage is 3.3V, the
      support bits would be 0x01. We will check host's ability to set the
      current limit.
      Signed-off-by: default avatarAaron Lu <aaron.lu@amd.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      a39ca6ae
    • Aaron Lu's avatar
      mmc: sdhci: restore host settings when card is removed · b67c6b41
      Aaron Lu authored
      Some of the host settings are affected by different cards inserted, e.g.
      when an UHS-I card is inserted, the SDHCI_NEEDS_RETUING flag might be
      set when the tuning timer expired and host's max_blk_count will be
      reduced to make sure the data transfer for a command does not exceed 4MiB
      to meet the retuning mode 1's requirement.
      
      When the card is removed, we should restore the original setting of the
      host since we can't be sure the next card being inserted will still be
      an UHS-I card that needs tuning. The original setting include its
      max_blk_count and no set of the flag of SDHCI_NEEDS_RETUNING.
      Signed-off-by: default avatarAaron Lu <aaron.lu@amd.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      b67c6b41
    • Aaron Lu's avatar
      mmc: sdhci: fix incorrect command used in tuning · 473b095a
      Aaron Lu authored
      For SD hosts using retuning mode 1, when retuning timer expired, it will
      need to do retuning in sdhci_request before processing the actual
      request. But the retuning command is fixed: cmd19 for SD card and cmd21
      for eMMC card, so we can't use the original request's command to do the
      tuning.
      
      And since the tuning command depends on the card type attached to the
      host, we will need to know the card type to use the correct tuning
      command.
      Signed-off-by: default avatarAaron Lu <aaron.lu@amd.com>
      Reviewed-by: default avatarPhilip Rakity <prakity@marvell.com>
      Cc: stable <stable@vger.kernel.org> [3.3+]
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      473b095a
    • Daniel Drake's avatar
      mmc: sdhci-pci: CaFe has broken card detection · 55fc05b7
      Daniel Drake authored
      At http://dev.laptop.org/ticket/11980 we have determined that the
      Marvell CaFe SDHCI controller reports bad card presence during
      resume. It reports that no card is present even when it is.
      This is a regression -- resume worked back around 2.6.37.
      
      Around 400ms after resuming, a "card inserted" interrupt is
      generated, at which point it starts reporting presence.
      
      Work around this hardware oddity by setting the
      SDHCI_QUIRK_BROKEN_CARD_DETECTION flag.
      Thanks to Chris Ball for helping with diagnosis.
      Signed-off-by: default avatarDaniel Drake <dsd@laptop.org>
      [stable@: please apply to 3.0+]
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      55fc05b7
    • Mark Brown's avatar
      mmc: sdhci: Report failure reasons for all cases in sdhci_add_host() · 0fc81ee3
      Mark Brown authored
      For most error conditions sdhci_add_host() will print a diagnostic
      message indicating why it failed but there are a few cases where this
      does not happen. Add error messages in these cases to aid diagnosis.
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      0fc81ee3
    • Sylwester Nawrocki's avatar
      mmc: s3cmci: Convert s3cmci driver to gpiolib API · b9929f0e
      Sylwester Nawrocki authored
      The s3c2410_gpio* calls are obsolete and have been scheduled for
      removal since several kernel releases. Remove them and use common
      gpiolib API.
      
      This patch is a prerequisite for removal of the S3C24XX SoC specific
      arch/arm/plat-samsung/include/gpio-fns.h header.
      
      Tested on Micro2440-SDK.
      Signed-off-by: default avatarSylwester Nawrocki <sylvester.nawrocki@gmail.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      b9929f0e