15 Jan, 2012
2 commits
-
* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (119 commits)
MIPS: Delete unused function add_temporary_entry.
MIPS: Set default pci cache line size.
MIPS: Flush huge TLB
MIPS: Octeon: Remove SYS_SUPPORTS_HIGHMEM.
MIPS: Octeon: Add support for OCTEON II PCIe
MIPS: Octeon: Update PCI Latency timer and enable more error reporting.
MIPS: Alchemy: Update cpu-feature-overrides
MIPS: Alchemy: db1200: Improve PB1200 detection.
MIPS: Alchemy: merge Au1000 and Au1300-style IRQ controller code.
MIPS: Alchemy: chain IRQ controllers to MIPS IRQ controller
MIPS: Alchemy: irq: register pm at irq init time
MIPS: Alchemy: Touchscreen support on DB1100
MIPS: Alchemy: Hook up IrDA on DB1000/DB1100
net/irda: convert au1k_ir to platform driver.
MIPS: Alchemy: remove unused board headers
MTD: nand: make au1550nd.c a platform_driver
MIPS: Netlogic: Mark Netlogic chips as SMT capable
MIPS: Netlogic: Add support for XLP 3XX cores
MIPS: Netlogic: Merge some of XLR/XLP wakup code
MIPS: Netlogic: Add default XLP config.
...Fix up trivial conflicts in arch/mips/kernel/{perf_event_mipsxx.c,
traps.c} and drivers/tty/serial/Makefile -
Autogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999 BFCB D920 0E6C D1AD B8F1
* tag 'for-linus' of git://github.com/rustyrussell/linux:
module_param: check that bool parameters really are bool.
intelfbdrv.c: bailearly is an int module_param
paride/pcd: fix bool verbose module parameter.
module_param: make bool parameters really bool (drivers & misc)
module_param: make bool parameters really bool (arch)
module_param: make bool parameters really bool (core code)
kernel/async: remove redundant declaration.
printk: fix unnecessary module_param_name.
lirc_parallel: fix module parameter description.
module_param: avoid bool abuse, add bint for special cases.
module_param: check type correctness for module_param_array
modpost: use linker section to generate table.
modpost: use a table rather than a giant if/else statement.
modules: sysfs - export: taint, coresize, initsize
kernel/params: replace DEBUGP with pr_debug
module: replace DEBUGP with pr_debug
module: struct module_ref should contains long fields
module: Fix performance regression on modules with large symbol tables
module: Add comments describing how the "strmap" logic worksFix up conflicts in scripts/mod/file2alias.c due to the new linker-
generated table approach to adding __mod_*_device_table entries. The
ARM sa11x0 mcp bus needed to be converted to that too.
14 Jan, 2012
1 commit
-
MMC highlights for 3.3:
Core:
* Support for the HS200 high-speed eMMC mode.
* Support SDIO 3.0 Ultra High Speed cards.
* Kill pending block requests immediately if card is removed.
* Enable the eMMC feature for locking boot partitions read-only
until next power on, exposed via sysfs.Drivers:
* Runtime PM support for Intel Medfield SDIO.
* Suspend/resume support for sdhci-spear.
* sh-mmcif now processes requests asynchronously.* tag 'mmc-merge-for-3.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (58 commits)
mmc: fix a deadlock between system suspend and MMC block IO
mmc: sdhci: restore the enabled dma when do reset all
mmc: dw_mmc: miscaculated the fifo-depth with wrong bit operation
mmc: host: Adds support for eMMC 4.5 HS200 mode
mmc: core: HS200 mode support for eMMC 4.5
mmc: dw_mmc: fixed wrong bit operation for SDMMC_GET_FCNT()
mmc: core: Separate the timeout value for cache-ctrl
mmc: sdhci-spear: Fix compilation error
mmc: sdhci: Deal with failure case in sdhci_suspend_host
mmc: dw_mmc: Clear the DDR mode for non-DDR
mmc: sd: Fix SDR12 timing regression
mmc: sdhci: Fix tuning timer incorrect setting when suspending host
mmc: core: Add option to prevent eMMC sleep command
mmc: omap_hsmmc: use threaded irq handler for card-detect.
mmc: sdhci-pci: enable runtime PM for Medfield SDIO
mmc: sdhci: Always pass clock request value zero to set_clock host op
mmc: sdhci-pci: remove SDHCI_QUIRK2_OWN_CARD_DETECTION
mmc: sdhci-pci: get gpio numbers from platform data
mmc: sdhci-pci: add platform data
mmc: sdhci: prevent card detection activity for non-removable cards
...
13 Jan, 2012
13 commits
-
module_param(bool) used to counter-intuitively take an int. In
fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy
trick.It's time to remove the int/unsigned int option. For this version
it'll simply give a warning, but it'll break next kernel version.Acked-by: Mauro Carvalho Chehab
Signed-off-by: Rusty Russell -
Performing MMC block IO with simultaneous STR can lead to a deadlock: the
mmc_pm_notify() function claims the host and then calls bus .remove()
method, which lands in mmc_blk_remove(), which calls mmc_blk_remove_req()
then it goes to -> mmc_cleanup_queue() -> kthread_stop(), which waits for
the mmc-block thread to stop. If the mmc-block thread at that time is
processing block requests, it will also try to claim the host in
mmc_blk_issue_rq() and block there. This patch fixes the problem by
calling .remove() before claiming the host.Signed-off-by: Guennadi Liakhovetski
Acked-by: Arindam Nath
Signed-off-by: Chris Ball -
If dma is enabled, it'll be cleared when reset all is performed, this can
be observed on some platforms, such as P2041 which has a version 2.3
controller, but platform like P4080 which has a version 2.2 controller,
does not suffer this, so we will check if the dma is enabled, we should
restore it after reset all.Signed-off-by: Shaohui Xie
Signed-off-by: Chris Ball -
In FIFOTH register, the RX_WMark field (bits[27:16]) defaults to
FIFO_DEPTH - 1. When reading it, bits[26:16] were being used, so
fix it to use the mask 0xfff instead of 0x7ff.Signed-off-by: Jaehoon Chung
Reviewed-by: James Hogan
Signed-off-by: Chris Ball -
This patch adds support for the HS200 mode on the host side.
Also enables the tuning feature required when the HS200 mode
is selected.Signed-off-by: Girish K S
Signed-off-by: Chris Ball -
This patch adds the support of the HS200 bus speed for eMMC 4.5 devices.
The eMMC 4.5 devices have support for 200MHz bus speed. The function
prototype of the tuning function is modified to handle the tuning
command number which is different in sd and mmc case.Signed-off-by: Girish K S
Signed-off-by: Philip Rakity
Signed-off-by: Chris Ball -
In status register, fifo_count is bit[29:17].
(0x1FFF is correct)Signed-off-by: Jaehoon Chung
Signed-off-by: Kyungmin Park
Acked-by: Will Newton
Signed-off-by: Chris Ball -
Turning the cache off implies flushing cache which doesn't define
maximum timeout unlike cache-on. This patch will apply the generic
CMD6 timeout only for cache-on. Additionally the kernel message is
added for checking failure case of cache-on.Signed-off-by: Seungwon Jeon
Signed-off-by: Chris Ball -
With the inclusion of following patch (59b5bc3929b37):
"mmc: sdhci: remove "state" argument from sdhci_suspend_host"we get a compilation error for sdhci-spear:
drivers/mmc/host/sdhci-spear.c:283:2: error: too many arguments to function
‘sdhci_suspend_host’This patch fixes this error.
Signed-off-by: Viresh Kumar
Cc: stable
Signed-off-by: Chris Ball -
If there are errors happened in sdhci_suspend_host, handle it so that
when the function returns with an error, the host's behaviour is the
same before this function call, e.g. card detection is enabled and
tuning timer is active, etc.Signed-off-by: Philip Rakity
Signed-off-by: Aaron Lu
Cc: Adrian Hunter
Signed-off-by: Chris Ball -
UHS_REG should be cleared for non-DDR mode. But currently there is
no way to clear DDR mode, if it is already set once. This patch adds
clearing DDR mode for non-DDR mode.Signed-off-by: Seungwon Jeon
Acked-by: Will Newton
Signed-off-by: Chris Ball -
This patch fixes a failure to recognize SD cards reported on a Dell
Vostro with O2 Micro SD card reader. Patch 49c468f ("mmc: sd: add
support for uhs bus speed mode selection") caused the problem, by
setting the SDHCI_CTRL_HISPD flag even for legacy timings.Signed-off-by: Alexander Elbs
Acked-by: Philip Rakity
Acked-by: Arindam Nath
Cc: stable
Signed-off-by: Chris Ball -
When suspending host, the tuning timer shoule be deactivated.
And the HOST_NEEDS_TUNING flag should be set after tuning timer is
deactivated.Signed-off-by: Philip Rakity
Signed-off-by: Aaron Lu
Acked-by: Adrian Hunter
Cc: stable
Signed-off-by: Chris Ball
12 Jan, 2012
24 commits
-
Host may now use MMC_CAP2_NO_SLEEP_CMD to disable the use
of eMMC sleep/awake command.This option can be used when your platform has a buggy
kernel crash dump software, which is supposed to store
the dump on the eMMC, but is not able to wake up the eMMC
from sleep state.In particular, failures have been seen with u-boot; even if
it is fixed there, platforms will be slow to update their
bootloader binaries.Signed-off-by: Ulf Hansson
Reviewed-by: Hanumath Prasad
Reviewed-by: Srinidhi Kasagar
Acked-by: Subhash Jadavani
Signed-off-by: Chris Ball -
As the card-detect irq handler just schedules work to be done by a
thread, we can use request_threaded_irq to do much of the work for
us. This means that interrupts which arrive by handle_nested_irq
actually work.Reviewed-by: Felipe Balbi
Tested-by: Grazvydas Ignotas
Signed-off-by: NeilBrown
Acked-by: Kishore Kadiyala
Signed-off-by: Chris Ball -
Runtime PM for SDIO is no longer enabled by default (see
5c7f0e083d2d98ba14ddd10e88f001a0ead4cae4) so it must now
be enabled per platform, in this case Medfield uses it.Signed-off-by: Adrian Hunter
Signed-off-by: Chris Ball -
To allow the set_clock host op to disable the SDCLK source when not
needed, always call the host op when the requested clock speed is
zero. Do this even if host->clock already equals zero, because
the SDHCI driver may set that value (without calling the host op)
to force an update at the next (non-zero-speed) call.Signed-off-by: Todd Poynor
Acked-by: Adrian Hunter
Signed-off-by: Chris Ball -
Even if a driver provides separate card detection, an interrupt
is still needed to abort mmc requests that are in progress.
SDHCI_QUIRK2_OWN_CARD_DETECTION prevents that, so remove it.Signed-off-by: Adrian Hunter
Signed-off-by: Chris Ball -
Retrieve the GPIO numbers for hardware reset and
card detect from platform data.Signed-off-by: Adrian Hunter
Signed-off-by: Chris Ball -
Add a means of getting platform data for the SDHCI PCI
devices. The data is stored against the slot not the
device in order to support multi-slot devices.The data allows platform-specific setup (such as getting
GPIO numbers from firmware or setting up wl12xx for SDIO)
to be done in platform support files instead of the
sdhci-pci driver.Signed-off-by: Adrian Hunter
Signed-off-by: Chris Ball -
Do not enable card detection interrupts for non-removable cards.
Signed-off-by: Adrian Hunter
Signed-off-by: Chris Ball -
Presently the vmmc regulator is enabled when the host
controller is added and disabled when it is removed.
However, the vmmc regulator should be under the control
of the upper layers via ->set_ios(). Make it so.Signed-off-by: Adrian Hunter
Signed-off-by: Chris Ball -
While calling mmc_cache_ctrl() a host is not claimed. This patch
adds the mmc_try_claim_host() for quick response in suspend.Signed-off-by: Seungwon Jeon
Signed-off-by: Chris Ball -
MMC master clock rate can vary for each instance of the MMC controller
on the device. Use clk_get_rate instead to get the value.Signed-off-by: Balaji TK
Reviewed-by: Venkatraman S
Tested-by: Hebbar, Gururaja
Acked-by: Santosh Shilimkar
Signed-off-by: Chris Ball -
Signed-off-by: Guennadi Liakhovetski
Signed-off-by: Chris Ball -
This patch converts the sh_mmcif MMC host driver to process requests
asynchronously instead of waiting in its .request() method for completion.
This is achieved by using threaded IRQs.Signed-off-by: Guennadi Liakhovetski
Signed-off-by: Chris Ball -
This patch doesn't introduce any functional changes, it only simplifies
some code fragments, removes superfluous parameters, fixes typos.Signed-off-by: Guennadi Liakhovetski
Signed-off-by: Chris Ball -
If an interrupt is coming with both error and data completion status bits
set, it has to be handled as an error interrupt, for which error interrupts
have to be processed first. The current version of the driver on the
contrary doesn't recognise such interrupts as an error event, which leads
to data corruption and breaks the error recovery.Signed-off-by: Guennadi Liakhovetski
Signed-off-by: Chris Ball -
This patch adds a primitive helper to support card hotplug detection on
platforms, where a GPIO, capable of producing interrupts, is used for
detection of card-insertion and -removal events.Signed-off-by: Guennadi Liakhovetski
Signed-off-by: Chris Ball -
This patch regroups the code slightly, adds documentation and allows
the rtpm counter of MMC_CAP_NEEDS_POLL devices to reach 0 again.Signed-off-by: Bastian Hecht
[g.liakhovetski@gmx.de: restore pm_runtime_get_noresume()]
Signed-off-by: Guennadi Liakhovetski
Signed-off-by: Chris Ball -
This patch fixes the wrong comparison before setting the interface
voltage in DDR mode.The assignment to the variable ddr before comaprison is either
ddr = MMC_1_2V_DDR_MODE; or ddr == MMC_1_8V_DDR_MODE. But the comparison
is done with the extended csd value if ddr == EXT_CSD_CARD_TYPE_DDR_1_2V.Signed-off-by: Girish K S
Acked-by: Subhash Jadavani
Acked-by: Philip Rakity
Cc:
Signed-off-by: Chris Ball -
Signed-off-by: Jingoo Han
Signed-off-by: Chris Ball -
This patch adds the support for predefined multiple block r/w.
dw_mmc can support MMC_CAP_CMD23 capability.Signed-off-by: Seungwon Jeon
Acked-by: Will Newton
Signed-off-by: Chris Ball -
Signed-off-by: Chris Ball
-
This patch adds another capabilities field for MMC_CAPS2_XXX.
Signed-off-by: Seungwon Jeon
Signed-off-by: Chris Ball -
This patch modifies dw_mmc to use dev_pm_ops.
Signed-off-by: Jaehoon Chung
Signed-off-by: Kyungmin Park
Acked-by: James Hogan
Signed-off-by: Chris Ball -
Kill block requests when the host realizes that the card is
removed from the slot and is sure that subsequent requests
are bound to fail. Do this silently so that the block
layer doesn't output unnecessary error messages.Signed-off-by: Sujit Reddy Thumma
Acked-by: Adrian Hunter
Signed-off-by: Chris Ball