- 15 7月, 2008 8 次提交
-
-
由 Pierre Ossman 提交于
Gracefully handle when the device is suddenly removed. Do a test read and avoid any further access if that read returns -1. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
JMicron chips sometimes have two interfaces to work around limitations in Microsoft's sdhci driver. This patch allows us to use either interface. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
Some of the JMicron chips requires us to manually enable the power output stages of the chip. Add the necessary hooks and functions to manage this. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
Give the quirk for broken timeout handling a better chance of handling more controllers by simply classifying the system as broken and setting a fixed value. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
Extend the quirks handling in the PCI driver to be able to have callbacks and not just flags. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
Remove the quirk to force DMA on the Ricoh and TI controllers as it is no longer needed. The only bug they have is that they use an incorrect PCI interface value, and that is not respected anymore. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
The SDHCI interface is not PCI specific, yet the Linux driver was intimitely connected to the PCI bus. This patch properly separates the PCI specific portion from the bus independent code. This patch is based on work by Ben Dooks but he did not have time to complete it. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
The specification is insufficiently strict when it comes to how the hardware should update the block count register, making it useless for checking transfer progress. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 07 7月, 2008 1 次提交
-
-
由 Philipp Zabel 提交于
The pxa27x DMA controller defaults to 64-bit alignment. This caused the SCR reads to fail (and, depending on card type, error out) when card->raw_scr was not aligned on a 8-byte boundary. For performance reasons all scatter-gather addresses passed to pxamci_request should be aligned on 8-byte boundaries, but if this can't be guaranteed, byte aligned DMA transfers in the have to be enabled in the controller to get correct behaviour. Signed-off-by: NPhilipp Zabel <philipp.zabel@gmail.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 05 7月, 2008 4 次提交
-
-
由 Sascha Hauer 提交于
This patch introduces the clock API for i.MX and converts all in-Kernel drivers to use it. Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de>
-
由 Pierre Ossman 提交于
Even the newer ENE controllers have bugs in their DMA engine that make it too dangerous to use. Disable it until someone has figured out under which conditions it corrupts data. This has caused problems at least once, and can be found as bug report 10925 in the kernel bugzilla. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 Andres Salomon 提交于
The CaFe chip has a hardware bug that ends up with us getting a timeout value that's too small, causing the following sorts of problems: [ 60.525138] mmcblk0: error -110 transferring data [ 60.531477] end_request: I/O error, dev mmcblk0, sector 1484353 [ 60.533371] Buffer I/O error on device mmcblk0p2, logical block 181632 [ 60.533371] lost page write due to I/O error on mmcblk0p2 Presumably this is an off-by-one error in the hardware. Incrementing the timeout count value that we stuff into the TIMEOUT_CONTROL register gets us a value that works. This bug was originally discovered by Pierre Ossman, I believe. [thanks to Robert Millan for proving that this was still a problem] Signed-off-by: NAndres Salomon <dilinger@debian.org> Cc: Pierre Ossman <drzeus-list@drzeus.cx> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 Andres Salomon 提交于
This has been sitting around unloved for way too long.. The Marvell CaFe chip's SD implementation chokes during card insertion if one attempts to set the voltage and power up in the same SDHCI_POWER_CONTROL register write. This adds a quirk that does that particular dance in two steps. It also adds an entry to pci_ids.h for the CaFe chip's SD device. Signed-off-by: NAndres Salomon <dilinger@debian.org> Cc: Pierre Ossman <drzeus-list@drzeus.cx> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 03 7月, 2008 1 次提交
-
-
由 Paulius Zaleckas 提交于
imx_dma_request_by_prio can return channel number by itself. No need to supply variable address through parameters. Also converted all drivers using this function. Signed-off-by: NPaulius Zaleckas <paulius.zaleckas@teltonika.lt> Acked-by: NSascha Hauer <s.hauer@pengutronix.de> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 13 6月, 2008 1 次提交
-
-
由 Chuck Ebbert 提交于
With CONFIG_DEBUG_SHIRQ set we will get an interrupt as soon as we allocate one. Tasklets may be scheduled in the interrupt handler but they will be initialized after the handler returns, causing a BUG() in kernel/softirq.c when they run. Should fix this Fedora bug report: https://bugzilla.redhat.com/show_bug.cgi?id=449817Signed-off-by: NChuck Ebbert <cebbert@redhat.com> Acked-by: NPierre Ossman <drzeus@drzeus.cx> Cc: <stable@kernel.org> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 06 6月, 2008 1 次提交
-
-
由 Ben Collins 提交于
Fairly simple. "dev_use" was being allocated as a zero length array because of bad math on 64-bit systems, causing a crash in find_first_zero_bit(). One-liner follows: Signed-off-by: NBen Collins <ben.collins@canonical.com> Acked-by: NPierre Ossman <drzeus@drzeus.cx> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 22 5月, 2008 1 次提交
-
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 17 5月, 2008 1 次提交
-
-
由 Marc Pignat 提交于
MMC_POWER_ON is a noop, no need to set the power pin again. Signed-off-by: NMarc Pignat <marc.pignat@hevs.ch> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 15 5月, 2008 2 次提交
-
-
由 Pierre Ossman 提交于
A dummy driver that performs a series of requests that are often mis- handled by host drivers. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Tony Lindgren 提交于
This patch fixes error: drivers/mmc/host/omap.c: In function 'mmc_omap_get_dma_channel': drivers/mmc/host/omap.c:1038: error: called object 'dev_name' is not a function Commit 06916639 adds a function called dev_name. This will cause a name conflict as dev_dbg calls dev_name(((host->mmc)->parent)). This same issue should not affect other drivers as they don't seem to use dev_name with dev_dbg. Thanks to Paul Walmsley <paul@pwsan.com> for figuring this one out. Cc: Paul Walmsley <paul@pwsan.com> Signed-off-by: NTony Lindgren <tony@atomide.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 13 5月, 2008 1 次提交
-
-
由 Harvey Harrison 提交于
Otherwise it can only take the values 0/-1 which doesn't seem to have been intended. drivers/mmc/host/sdhci.h:190:20: error: dubious one-bit signed bitfield Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com> Acked-by: NPierre Ossman <drzeus-list@drzeus.cx> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 04 5月, 2008 1 次提交
-
-
由 Linus Walleij 提交于
This fixes some two minor clk issues. The first is a comparison where a byte will probably wrap around to 0 instead of being saturated to 255, shouldn't be triggered very often but need fixing. The second is an attempt by the driver to adjust MCLK down to the maximum frequency according to the spec, so we don't accidentally overclock the PL18x block. None of the mach-{versatile|integrator|lh7a40x} that use it in-tree seem to have a problem with this (all are well below 100MHz, typically 33MHz), but some day there will be a problem. This is not applied on top of the earlier mmci patch for race condition but rather a clean 2.6.25, but I guess it applies without major protests anyway. Signed-off-by: NLinus Walleij <triad@df.lth.se> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 29 4月, 2008 2 次提交
-
-
由 Harvey Harrison 提交于
Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com> Cc: David Brownell <dbrownell@users.sourceforge.net> Cc: Tony Jones <tonyj@suse.de> Cc: Pierre Ossman <drzeus@drzeus.cx> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 Linus Walleij 提交于
Updated version of 4446/1. This also drops the suggested comparison of host_remain for == 0, since that doesn't make sense (still works for us, too). We have verified that this patch solve race problems on atleast 2 archs at high frequencies. (Verbatim copy of old patch text below.) The patch below fixes a race condition in the ARM MMCI PL18x driver. If new data arrives in the FIFO while existing data is being read then we get a second iteration of the loop in mmci_pio_read. However host->size is not updated until after mmci_pio_read returns, so we get count = number of new bytes PLUS number of bytes already copied in the first iteration. This results in a FIFO underrun as we try and read mode data than is available. The fix is to compensating for data read on previous iterations when calculating the amount of data in the FIFO. Signed-off-by: NLinus Walleij <triad@df.lth.se> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 19 4月, 2008 16 次提交
-
-
由 Adrian Bunk 提交于
Every file should include the headers containing the externs for its global functions. Signed-off-by: NAdrian Bunk <bunk@kernel.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Adrian Bunk 提交于
This patch adds proper prototypes for mmc_attach_*() in drivers/mmc/core/core.h Signed-off-by: NAdrian Bunk <bunk@kernel.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Adrian Bunk 提交于
This patch makes the needlessly global __mmc_release_bus() static. Signed-off-by: NAdrian Bunk <bunk@kernel.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
The quirk was meant to just inhibit some resets, but ended up blocking all of them. Fortunately, this was just what was needed. Change the comment to reflect reality. Also, this issue has just been observed on Samsung laptops, so reduce the number of chips the quirk affects. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Jarkko Lavinen 提交于
The limit was a fixed 100k limit in the busy loop, which is not accurate. It would better to have time limit for the worst case which occurs when sending 80 cycles at 400 kHz and takes about 200 microseconds, so limit the max time spend in the busy loop for some 250 microseconds. Signed-off-by: NJarkko Lavinen <jarkko.lavinen@nokia.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Jarkko Lavinen 提交于
Use work queues for starting new commands instead of starting them directly from irq handler. The command scheduling needs to be delayed a bit for some cards which should not be done from an interrupt. Signed-off-by: NJarkko Lavinen <jarkko.lavinen@nokia.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Jarkko Lavinen 提交于
MMCA spec says the mmc clock should be kept running for at least 8 cycles after the last RW request. Ensure this with lazy clock disable after a request, or with an explicit delay before switching a slot. Signed-off-by: NJarkko Lavinen <jarkko.lavinen@nokia.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Jarkko Lavinen 提交于
Abort failed command from workqueue rather than from an interrupt, allowing longer delays in abortion. Signed-off-by: NJarkko Lavinen <jarkko.lavinen@nokia.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Jarkko Lavinen 提交于
The cover waitqueue is occasionally scheduled twice from timer and the interrupt and oops follows. It would have been possible to fix this problem with spinlocks but using tasklet was a dropin solution with no need for locking. This path also adds some cleanups. Signed-off-by: NJarkko Lavinen <jarkko.lavinen@nokia.com> Signed-off-by: NHiroshi DOYU <Hiroshi.DOYU@nokia.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Kyungmin Park 提交于
If the get_cover_state is not set, it occurs the oops. Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NTony Lindgren <tony@atomide.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Carlos Eduardo Aguiar 提交于
Using setup_timer() instead of init_timer() on omap.c file. Signed-off-by: NCarlos Eduardo Aguiar <carlos.aguiar@indt.org.br> Signed-off-by: NTony Lindgren <tony@atomide.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Jarkko Lavinen 提交于
When a card is removed while it is being accessed, a command can get stuck so that no timeout or end of command interrupt ever occurs. The command getting stuck is almost always CDM12, but also the other commands can get stuck. Catch a stuck command with a timer and try sending the initialization stream until the controller starts running again and responds with the end of command status. Signed-off-by: NJarkko Lavinen <jarkko.lavinen@nokia.com> Signed-off-by: NCarlos Eduardo Aguiar <carlos.aguiar@indt.org.br> Signed-off-by: NTony Lindgren <tony@atomide.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Juha Yrjola 提交于
General code cleanup, modifications at some dev_* functions and other hacks at mmc_omap_irq() for MMC multislot support. Signed-off-by: NJuha Yrjola <juha.yrjola@solidboot.com> Signed-off-by: NCarlos Eduardo Aguiar <carlos.aguiar@indt.org.br> Signed-off-by: NTony Lindgren <tony@atomide.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Juha Yrjola 提交于
Modifications at power functions to MMC multislot support. This patch also move board-specific code out of MMC OMAP driver. Signed-off-by: NJuha Yrjola <juha.yrjola@solidboot.com> Signed-off-by: NCarlos Eduardo Aguiar <carlos.aguiar@indt.org.br> Signed-off-by: NTony Lindgren <tony@atomide.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Juha Yrjola 提交于
Fix the data timeout calculation for MMC multislot support. Signed-off-by: NJuha Yrjola <juha.yrjola@solidboot.com> Signed-off-by: NJarkko Lavinen <jarkko.lavinen@nokia.com> Signed-off-by: NCarlos Eduardo Aguiar <carlos.aguiar@indt.org.br> Signed-off-by: NTony Lindgren <tony@atomide.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Juha Yrjola 提交于
New functions to support MMC multislot: mmc_omap_release_dma() and mmc_omap_abort_xfer(). Signed-off-by: NJuha Yrjola <juha.yrjola@solidboot.com> Signed-off-by: NCarlos Eduardo Aguiar <carlos.aguiar@indt.org.br> Signed-off-by: NTony Lindgren <tony@atomide.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-