- 15 7月, 2008 40 次提交
-
-
由 Pierre Ossman 提交于
Relax requirements on host controllers and only require that they do not report a transfer count than is larger than the actual one (i.e. a lower value is okay). This is how many other parts of the kernel behaves so upper layers should already be prepared to handle that scenario. This gives us a performance boost on MMC cards. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
DMA addresses are not pointers, so don't treat them as such. Avoids compiler warnings when using 64-bit DMA addresses on a 32-bit system. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Haavard Skinnemoen 提交于
This is a driver for the MMC controller on the AP7000 chips from Atmel. It should in theory work on AT91 systems too with some tweaking, but since the DMA interface is quite different, it's not entirely clear if it's worth merging this with the at91_mci driver. This driver has been around for a while in BSPs and kernel sources provided by Atmel, but this particular version uses the generic DMA Engine framework (with the slave extensions) instead of an avr32-only DMA controller framework. This driver can also use PIO transfers when no DMA channels are available, and for transfers where using DMA may be difficult or impractical for some reason (e.g. the DMA setup overhead is usually not worth it for very short transfers, and badly aligned buffers or lengths are difficult to handle.) Currently, the driver only support PIO transfers. DMA support has been split out to a separate patch to hopefully make it easier to review. The driver has been tested using mmc-block and ext3fs on several SD, SDHC and MMC+ cards. Reads and writes work fine, with read transfer rates up to 3.5 MiB/s on fast cards with debugging disabled. The driver has also been tested using the mmc_test module on the same cards. All tests except 7, 9, 15 and 17 succeed. The first two are unsupported by all the cards I have, so I don't know if the driver handles this correctly. The last two fail because the hardware flags a Data CRC Error instead of a Data Timeout error. I'm not sure how to deal with that. Documentation for this controller can be found in many data sheets from Atmel, including the AT32AP7000 data sheet which can be found here: http://www.atmel.com/dyn/products/datasheets.asp?family_id=682Signed-off-by: NHaavard Skinnemoen <haavard.skinnemoen@atmel.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>
-
由 Tomas Winkler 提交于
This patch fix warning :shadowing dma variable and made use of module_param_named instead of module_param Signed-off-by: NTomas Winkler <tomas.winkler@intel.com> Acked-by: NMarcel Holtmann <marcel@holtmann.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Ben Dooks 提交于
The hardware does not support any multi-block transfers with an block-size that is not 32bit aligned. Also the driver itself does not support single block non-32bit transfers either. Ensure that the s3cmci_setup_data() returns the appropriate error if we encounter this. Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Ben Dooks 提交于
Add Ben Dooks as S3C24XX SD/MMC driver maintainer. Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Ben Dooks 提交于
Add better debugging to show where errors are being generated, as some error codes can come from several different code paths. Also fix the error return path from s3cmci_setup_data() to return the error it returned to the request. Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Ben Dooks 提交于
Ensure that we have physical media present before attempting to send a request to a card. This ensures that we do not get flooded by errors from commands that can never be completed timing out. Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Ben Dooks 提交于
mmc_detect_change() takes jiffies, not msecs. Convert the previous value of msecs into jiffies before calling. Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Ben Dooks 提交于
Add MODULE_ALIAS() declerations for all the supported platform devices for this driver. Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Ben Dooks 提交于
The driver should be checking for a negative error code from s3c2410_dma_request(), not non-zero. Newer kernels now return the DMA channel number that was allocated by the request. Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Ben Dooks 提交于
Add support to the S3C24XX MMC driver to have the card detect be on a pin that is not IRQ capable. Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Ben Dooks 提交于
Fix a crash if host->mrq->data is NULL on ending a transfer. Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Ben Dooks 提交于
Support for inverting the sense of the MMC driver's write protect detection line. Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Ben Dooks 提交于
This patch adds platform data support to the s3mci driver. This allows flexible board-specific configuration of set_power, card detect and read only pins. Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Roman Moracik 提交于
Fix Bug #677 - I/O errors on heavy microSD writes for 2.6.22.x. Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Thomas Kleffel 提交于
is stopped. Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NHarald Welte <laforge@openmoko.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Harald Welte 提交于
Bugfix to ensure DMA channel allocated is freed on exit. Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Harald Welte 提交于
This patch is a workaround of some S3C2410 MMC chip bug Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Thomas Kleffel 提交于
This is the latest S3C MMC/SD driver by Thomas Kleffel with cleanups as suggested by AKPM done by Ben Dooks. Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NThomas Kleffel <tk@maintech.de> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
Be a bit more robust and fall back to PIO if someone is feeding us bogus addresses. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
Clean up and reorganise the mmc_test driver so that it (hopefully) is easier to extend with more complex tests. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
Many failures are non-permanent, but the card might need some time to finish what it is doing before becoming responsive again. Make sure we wait for it to finish programming before dealing with the error. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
Add support for the scatter-gather DMA mode present on newer controllers. As the mode requires 32-bit alignment, non-aligned chunks are handled by using a bounce buffer. Also add some new quirks to handle controllers that have bugs in the ADMA engine. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
The upcoming JMicron chips will have solved all the currently known bugs, so don't penalize them for older problems. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
We can only perform the tests on MMC and SD cards, so avoid binding to any other type. 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>
-
由 Manuel Lauss 提交于
The MMC core provides a carddetect poll feature, time to remove the driver's own implementation of it. Signed-off-by: NManuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Manuel Lauss 提交于
Signed-off-by: NManuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Manuel Lauss 提交于
Don't process an MMC request if no card is present. Signed-off-by: NManuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Manuel Lauss 提交于
Clean up the codebase, no functional changes. - merge the au1xmmc.h header contents into the driver file, - indentation, spelling and style fixes. Signed-off-by: NManuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Manuel Lauss 提交于
Wire up the SD controllers' SDIO IRQ capability. Signed-off-by: NManuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Manuel Lauss 提交于
Signed-off-by: NManuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Manuel Lauss 提交于
Remove the DB1200 board-specific functions (card present, read-only, activity LED methods) and instead add platform data which is passed to the driver. This also allows for platforms to implement other carddetect schemes (e.g. dedicated irq) without having to pollute the driver code. The poll timer (used for pb1200) is kept for compatibility. With the board-specific stuff gone, the driver's ->probe() code can be cleaned up considerably. Signed-off-by: NManuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Ville Syrjala 提交于
The byte mode support fails to clear the byte mode bit in the command register, possibly leaving byte mode enabled with the counters programmed in non-byte mode. Signed-off-by: NVille Syrjala <syrjala@sci.fi> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Ville Syrjala 提交于
According to the documentation the AT91SAM9261 MCI shares the block size limitations of the AT91RM9200 MCI. Also the errata documentation for AT91RM9200 and AT91SAM9261 state that stream commands are not supported. This has not been tested on actual hardware. Signed-off-by: NVille Syrjala <syrjala@sci.fi> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Ville Syrjala 提交于
AT91SAM926[0/3] PDC must write at least 12 bytes. The code compiles and runs but the actual condition for this erratum did not trigger in my tests so it's unclear if it actually works as intended. Signed-off-by: NVille Syrjala <syrjala@sci.fi> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Nicolas Ferre 提交于
In at91_mci_completed_command() function, this patch distinguishes command error and data error. It reports it in the corresponding error field. Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-