- 08 3月, 2009 1 次提交
-
-
由 Adrian Hunter 提交于
Commit 0d3e0460 "MMC: CSD and CID timeout values" inadvertently broke the timeout for the MMC command SEND_EXT_CSD. This patch puts it back again. Depending on the characteristics of the controller, this bug may prevent the use of MMC cards. Signed-off-by: NAdrian Hunter <adrian.hunter@nokia.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 01 1月, 2009 3 次提交
-
-
由 David Brownell 提交于
Get rid of a silent failure mode when the MMC/SD host doesn't support the voltages needed to operate a given card, by adding a warning. A 3.3V host and a 3.0V card, for example, no longer need to mysteriously just not work at all. This isn't the best diagnostic; ideally it would also tell what voltage the card and host support (and not just by dumping the bitmasks). Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Anton Vorontsov 提交于
This function sets the OCR mask bits according to provided voltage ranges. Will be used by the mmc_spi OpenFirmware bindings. Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Jarkko Lavinen 提交于
Signed-off-by: NJarkko Lavinen <jarkko.lavinen@nokia.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 09 11月, 2008 2 次提交
-
-
由 Kay Sievers 提交于
Acked-by: NGreg Kroah-Hartman <gregkh@suse.de> Signed-Off-By: NKay Sievers <kay.sievers@vrfy.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
It seems that some cards are slightly out of spec and occasionally will not be able to complete a write in the alloted 250 ms [1]. Incease the timeout slightly to allow even these cards to function properly. [1] http://lkml.org/lkml/2008/9/23/390Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 12 10月, 2008 4 次提交
-
-
由 Matthew Fleming 提交于
The MMC spec states that the timeout for accessing the CSD and CID registers is 64 clock cycles. Signed-off-by: NMatthew Fleming <matthew.fleming@imgtec.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
There is one thread per host controller so make sure they all get unique names. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
Make sure we can be woken from the forced sleep that is done on errors. Removing a card often results in -ENOMEDIUM or -EILSEQ so we previously locked up the removal process for a second. We could completely exit on -ENOMEDIUM, but it might be a transient glitch so treat it like any other error. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 02 8月, 2008 1 次提交
-
-
由 Pierre Ossman 提交于
Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 27 7月, 2008 2 次提交
-
-
由 Haavard Skinnemoen 提交于
For each card successfully added to the bus, create a subdirectory under the host's debugfs root with information about the card. At the moment, only a single file is added to the card directory for all cards: "state". It reflects the "state" field in struct mmc_card, indicating whether the card is present, readonly, etc. For MMC and SD cards (not SDIO), another file is added: "status". Reading this file will ask the card about its current status and return it. This can be useful if the card just refuses to respond to any commands, which might indicate that the card state is not what the MMC core thinks it is (due to a missing stop command, for example.) Signed-off-by: NHaavard Skinnemoen <haavard.skinnemoen@atmel.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Haavard Skinnemoen 提交于
When CONFIG_DEBUG_FS is set, create a few files under /sys/kernel/debug containing information about an mmc host's internal state. Currently, just a single file is created, "ios", which contains information about the current operating parameters for the bus (clock speed, bus width, etc.) Host drivers can add additional files and directories under the host's root directory by passing the debugfs_root field in struct mmc_host as the 'parent' parameter to debugfs_create_*. Signed-off-by: NHaavard Skinnemoen <haavard.skinnemoen@atmel.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 15 7月, 2008 8 次提交
-
-
由 Tomas Winkler 提交于
Unfold nested macros it creates not readable code and sparse warnings sdio_io.c:190:9: warning: symbol '_min1' shadows an earlier one Signed-off-by: NTomas Winkler <tomas.winkler@intel.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Benzi Zbit 提交于
This adds reading and using of enable_timeout from the CIS Signed-off-by: NBenzi Zbit <benzi.zbit@intel.com> Signed-off-by: NTomas Winkler <tomas.winkler@intel.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Tomas Winkler 提交于
This patch fixes sdio_io sparse errors. This fix changes signature of API functions, changing unsigned char -> u8 unsigned short -> u16 unsigned long -> u32 - this was probably a bug in 64 bit platforms Signed-off-by: NTomas Winkler <tomas.winkler@intel.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
Make sure that the maximum size for a byte mode transfer is identical in all places. Also tweak the transfer helper so that a single byte mode transfer is preferred over (possibly multiple) block mode request(s). Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
There are a lot of crappy controllers out there that cannot handle all the request sizes that the MMC/SD/SDIO specifications require. In case the card driver can pad the data to overcome the problems, this commit adds a helper that calculates how much that padding should be. A corresponding helper is also added for SDIO, but it can also deal with all the complexities of splitting up a large transfer efficiently. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Deepak Saxena 提交于
Make the variable name in the comments match the actual name of the variable. Signed-off-by: NDeepak Saxena <dsaxena@laptop.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Anton Vorontsov 提交于
Now get_ro() callback must return 0/1 values for its logical states, and negative errno values in case of error. If particular host instance doesn't support RO/WP switch, it should return -ENOSYS. This patch changes some hosts in two ways: 1. Now functions should be smart to not return negative values in "RO asserted" case (particularly gpio_ calls could return negative values for the outermost GPIOs). Also, board code usually passes get_ro() callbacks that directly return gpioreg & bit result, so at91_mci, imxmmc, pxamci and mmc_spi's get_ro() handlers need take special care when returning platform's values to the mmc core. 2. In case of host instance didn't implement get_ro() callback, it should really return -ENOSYS and let the mmc core decide what to do about it (mmc core thinks the same way as the hosts, so it isn't functional change). Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Anton Vorontsov 提交于
Some hosts (and boards that use mmc_spi) do not use interrupts on the CD line, so they can't trigger mmc_detect_change. We want to poll the card and see if there was a change. 1 second poll interval seems resonable. This patch also implements .get_cd() host operation, that could be used by the hosts that are able to report card-detect status without need to talk MMC. Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 19 4月, 2008 5 次提交
-
-
由 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>
-
由 Robert P. J. Day 提交于
Signed-off-by: NRobert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
Reorganise code so that mmc_hostname() works directly after allocation. That way host drivers can use that name for resource allocations and messages during probing. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 23 3月, 2008 1 次提交
-
-
由 Pierre Ossman 提交于
Suppressing uevents turned out to be a bad idea as it screws up the order of events, making user space very confused. Change the system to use sysfs groups instead. This is a regression that, for some odd reason, has gone unnoticed for some time. It confuses hal so that the block devices (which have the mmc device as a parent) are not registered. End result being that desktop magic when cards are inserted won't work. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 02 11月, 2007 1 次提交
-
-
由 Adrian Bunk 提交于
Not architecture specific code should not #include <asm/scatterlist.h>. This patch therefore either replaces them with #include <linux/scatterlist.h> or simply removes them if they were unused. Signed-off-by: NAdrian Bunk <bunk@kernel.org> Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
-
- 27 10月, 2007 2 次提交
-
-
由 Pierre Ossman 提交于
Use the more generic byte swapping macros instead of the socket variants. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
MMC over SPI sends the CID and CSD registers as data, not responses, which means that the host driver won't do the necessary byte flipping for us. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 18 10月, 2007 1 次提交
-
-
由 Florin Malita 提交于
The exception path associated with an invalid ext_csd_struct returns without freeing ext_csd. Coverity CID 1909. Signed-off-by: Florin Malita Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 14 10月, 2007 1 次提交
-
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 13 10月, 2007 2 次提交
-
-
由 Kay Sievers 提交于
This changes the uevent buffer functions to use a struct instead of a long list of parameters. It does no longer require the caller to do the proper buffer termination and size accounting, which is currently wrong in some places. It fixes a known bug where parts of the uevent environment are overwritten because of wrong index calculations. Many thanks to Mathieu Desnoyers for finding bugs and improving the error handling. Signed-off-by: NKay Sievers <kay.sievers@vrfy.org> Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> Cc: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Pierre Ossman 提交于
We register a simple trigger so make sure we use the corresponding unregister function. (Also means we get a dummy function when triggers aren't compiled in) Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 06 10月, 2007 2 次提交
-
-
由 Nicolas Pitre 提交于
Currently we print a message about some bad states wrt function IRQ handlers but return 0 from process_sdio_pending_irqs() nevertheless. This can lead to an infinite loop as nothing might have cleared the condition for the pending card interrupt from the host controller by the time host->ops->enable_sdio_irq(host, 1) is called. Signed-off-by: NNicolas Pitre <nico@marvell.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Nicolas Pitre 提交于
If func is actually null we won't get much from sdio_func_id(func). Signed-off-by: NNicolas Pitre <nico@marvell.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 27 9月, 2007 1 次提交
-
-
由 Pierre Ossman 提交于
The interrupt polling frequency is a compromise between power usage and interrupt latency. Unfortunately, it affects throughput rather severely for devices which require an interrupt for every chunk of data. By making the polling frequency adaptive, we get better throughput with those devices without sacficing too much power. Polling will quickly increase when there is an actual interrupt, and slowly fall back to the idle frequency when the interrupts stop coming. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 24 9月, 2007 3 次提交
-
-
由 Pierre Ossman 提交于
Add a led trigger for each host controller that indicates if there is a request active on the controller. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 David Brownell 提交于
Teach the MMC/SD/SDIO core about using SPI mode. - Use mmc_host_is_spi() so enumeration works through SPI signaling and protocols, not just the native versions. - Provide the SPI response type flags with each request issued, including requests from the new lock/unlock code. - Understand that cmd->resp[0] and mmc_get_status() results for SPI return different values than for "native" MMC/SD protocol; this affects resetting, checking card lock status, and some others. - Understand that some commands act a bit differently ... notably: * OP_COND command doesn't return the OCR * APP_CMD status doesn't have an R1_APP_CMD analogue Those changes required some new and updated primitives: - Provide utilities to access two SPI-only requests, and one request that wasn't previously needed: * mmc_spi_read_ocr() ... SPI only * mmc_spi_set_crc() ... SPI only (override by module parm) * mmc_send_cid() ... for use without broadcast mode - Updated internal routines: * Previous mmc_send_csd() modified into mmc_send_cxd_native(); it uses native "R2" responses, which include 16 bytes of data. * Previous mmc_send_ext_csd() becomes new mmc_send_cxd_data() helper for command-and-data access * Bugfix to that mmc_send_cxd_data() code: dma-to-stack is unsafe/nonportable, so kmalloc a bounce buffer instead. - Modified mmc_send_ext_csd() now uses mmc_send_cxd_data() helper - Modified mmc_send_csd(), and new mmc_spi_send_cid(), routines use those helper routines based on whether they're native or SPI The newest categories of cards supported by the MMC stack aren't expected to work yet with SPI: MMC or SD cards with over 4GB data, and SDIO. All those cards support SPI mode, so eventually they should work too. Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
Store vendor strings found in CISTPL_VERS_1 so that function drivers can access them. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-