aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* au1xmmc: remove custom carddetect poll implementation.Manuel Lauss2008-07-15
| | | | | | | | The MMC core provides a carddetect poll feature, time to remove the driver's own implementation of it. Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* au1xmmc: new maintainer.Manuel Lauss2008-07-15
| | | | | Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* au1xmmc: abort requests early if no card is present.Manuel Lauss2008-07-15
| | | | | | | Don't process an MMC request if no card is present. Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* au1xmmc: codingstyle tidying.Manuel Lauss2008-07-15
| | | | | | | | | 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: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* au1xmmc: SDIO IRQ support.Manuel Lauss2008-07-15
| | | | | | | Wire up the SD controllers' SDIO IRQ capability. Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* au1xmmc: enable 4 bit transfer modeManuel Lauss2008-07-15
| | | | | Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* au1xmmc: remove db1200 board code, rewrite probe.Manuel Lauss2008-07-15
| | | | | | | | | | | | | | 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: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* at91_mci: Fix byte mode transitions.Ville Syrjala2008-07-15
| | | | | | | | | | 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: Ville Syrjala <syrjala@sci.fi> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* at91_mci: Cover more AT91RM9200 and AT91SAM9261 errata.Ville Syrjala2008-07-15
| | | | | | | | | | | 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: Ville Syrjala <syrjala@sci.fi> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* at91_mci: AT91SAM9260/9263 12 byte write erratum (v2)Ville Syrjala2008-07-15
| | | | | | | | | | 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: Ville Syrjala <syrjala@sci.fi> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* at91_mci: manage cmd error and data error independentlyNicolas Ferre2008-07-15
| | | | | | | | | 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: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* mmc: at91_mci: do not read irq status twice as it will forget some errorsNicolas Ferre2008-07-15
| | | | | | | | Reading AT91_MCI_SR again at the end of transfer can corrupt the error reporting. Some fields in the SR register are read-and-clear. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* mmc: at91_mci: add sdio irq managementEric Benard2008-07-15
| | | | | | | | Enable SDIO interrupt handling. Signed-off-by: Eric Benard <ebenard@free.fr> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* mmc: at91_mci: add multiwrite switchNicolas Ferre2008-07-15
| | | | | | | at91_mci is capable of multiwrite. Enable it before it disappears. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* mmc: at91_mci: update bytes_xfered value once xfer doneNicolas Ferre2008-07-15
| | | | | | | | | | | | | Modify bytes_xfered value after a write. That will report, as accurately as possible, the amount of sectors that are effectively written. This update introduces the check of the busy signal given by the card. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* mmc: at91_mci: avoid timeoutsMarc Pignat2008-07-15
| | | | | | | | | | | The at91 mci controller internal state machine seems to often crash. This can be fixed by resetting the controller after each command for at91rm9200 and by setting the MCI_BLKR register on at91sam926*. Signed-off-by: Marc Pignat <marc.pignat@hevs.ch> Signed-off-by: Hans J Koch <hjk@linutronix.de> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* mmc: at91_mci: show timeoutsMarc Pignat2008-07-15
| | | | | | | | | Detect command timeout (or mci controller hangs). Signed-off-by: Marc Pignat <marc.pignat@hevs.ch> Signed-off-by: Hans J Koch <hjk@linutronix.de> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* mmc: at91_mci: support for block size not modulo 4Marc Pignat2008-07-15
| | | | | | | | | Implement transfer with size not modulo 4 for at91sam9*. Please note that the at91rm9200 simply can't handle this. Signed-off-by: Marc Pignat <marc.pignat@hevs.ch> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* MMC: Trivial comment cleanupDeepak Saxena2008-07-15
| | | | | | | | Make the variable name in the comments match the actual name of the variable. Signed-off-by: Deepak Saxena <dsaxena@laptop.org> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* mmc: change .get_ro() callback semanticsAnton Vorontsov2008-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | 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: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* mmc_spi: add support for card-detection pollingAnton Vorontsov2008-07-15
| | | | | | | | | | | | This patch adds new platform data variable "caps", so platforms could pass theirs capabilities into MMC core (for example, platforms without interrupt on the CD line will most probably want to pass MMC_CAP_NEEDS_POLL). New platform get_cd() callback provided to optimize polling. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* mmc: add support for card-detection pollingAnton Vorontsov2008-07-15
| | | | | | | | | | | | | 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: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* include/linux/mmc/mmc.h: remove CVS tagsAdrian Bunk2008-07-15
| | | | | | | This patch removes a CVS tag that wasn't updated for a long time. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* sdhci-pci: unaligned data with ricoh controllersPierre Ossman2008-07-15
| | | | | | The Ricoh controllers cannot handle unaligned data blocks. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* mmc_test: add test case controlPierre Ossman2008-07-15
| | | | | | | Add the ability to run just a single test case by writing the test case number into the sysfs "test" file. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* sdhci: handle hot-removePierre Ossman2008-07-15
| | | | | | | 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: Pierre Ossman <drzeus@drzeus.cx>
* sdhci: support JMicron secondary interfacePierre Ossman2008-07-15
| | | | | | | 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: Pierre Ossman <drzeus@drzeus.cx>
* sdhci: toggle JMicron PMOS settingPierre Ossman2008-07-15
| | | | | | | | 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: Pierre Ossman <drzeus@drzeus.cx>
* sdhci: make workaround for timeout bug more generalPierre Ossman2008-07-15
| | | | | | | | 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: Pierre Ossman <drzeus@drzeus.cx>
* sdhci: more complex quirks handlingPierre Ossman2008-07-15
| | | | | | | Extend the quirks handling in the PCI driver to be able to have callbacks and not just flags. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
* sdhci: remove forced dma quirksPierre Ossman2008-07-15
| | | | | | | | 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: Pierre Ossman <drzeus@drzeus.cx>
* sdhci: move pci stuff to separate modulePierre Ossman2008-07-15
| | | | | | | | | | | 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: Pierre Ossman <drzeus@drzeus.cx>
* sdhci: don't check block count for progressPierre Ossman2008-07-15
| | | | | | | | 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: Pierre Ossman <drzeus@drzeus.cx>
* firmware: Correct dependency on CONFIG_EXTRA_FIRMWARE_DIRDavid Woodhouse2008-07-14
| | | | | | | | | | | When CONFIG_EXTRA_FIRMWARE_DIR gets changed, the filename in the .S file (which uses .incbin to include the binary) needs to change. When we renamed the BUILTIN_FIRMWARE_DIR option to EXTRA_FIRMWARE_DIR, we forgot to update the manual dependency in firmware/Makefile, so it was depending on a non-existent file in include/config/ Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'for-2.6.27' of git://git.infradead.org/users/dwmw2/firmware-2.6Linus Torvalds2008-07-14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-2.6.27' of git://git.infradead.org/users/dwmw2/firmware-2.6: (64 commits) firmware: convert sb16_csp driver to use firmware loader exclusively dsp56k: use request_firmware edgeport-ti: use request_firmware() edgeport: use request_firmware() vicam: use request_firmware() dabusb: use request_firmware() cpia2: use request_firmware() ip2: use request_firmware() firmware: convert Ambassador ATM driver to request_firmware() whiteheat: use request_firmware() ti_usb_3410_5052: use request_firmware() emi62: use request_firmware() emi26: use request_firmware() keyspan_pda: use request_firmware() keyspan: use request_firmware() ttusb-budget: use request_firmware() kaweth: use request_firmware() smctr: use request_firmware() firmware: convert ymfpci driver to use firmware loader exclusively firmware: convert maestro3 driver to use firmware loader exclusively ... Fix up trivial conflicts with BKL removal in drivers/char/dsp56k.c and drivers/char/ip2/ip2main.c manually.
| * Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.gitDavid Woodhouse2008-07-14
| |\ | | | | | | | | | | | | | | | Conflicts: sound/pci/Kconfig
| | * firmware: convert sb16_csp driver to use firmware loader exclusivelyJaswinder Singh2008-07-14
| | | | | | | | | | | | | | | Signed-off-by: Jaswinder Singh <jaswinder@infradead.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
| | * dsp56k: use request_firmwareJaswinder Singh2008-07-14
| | | | | | | | | | | | | | | Signed-off-by: Jaswinder Singh <jaswinder@infradead.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
| | * edgeport-ti: use request_firmware()Jaswinder Singh2008-07-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firmware blob looks like this... uint8_t MajorVersion uint8_t MinorVersion __le16 BuildNumber uint8_t data[] Signed-off-by: Jaswinder Singh <jaswinder@infradead.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
| | * edgeport: use request_firmware()Jaswinder Singh2008-07-14
| | | | | | | | | | | | | | | | | | | | | Version number provided in first HEX record. Signed-off-by: Jaswinder Singh <jaswinder@infradead.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
| | * vicam: use request_firmware()Jaswinder Singh2008-07-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Although it wasn't actually using ihex records before, we use the Intel HEX record format for this firmware -- because that gives us a simple way to split it into separate chunks internally as we need, without loading each part as a separate file. Signed-off-by: Jaswinder Singh <jaswinder@infradead.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
| | * dabusb: use request_firmware()David Woodhouse2008-07-14
| | | | | | | | | | | | Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
| | * cpia2: use request_firmware()David Woodhouse2008-07-14
| | | | | | | | | | | | | | | | | | Thanks for Jaswinder Singh for converting the firmware blob itself to ihex. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
| | * ip2: use request_firmware()David Woodhouse2008-07-10
| | | | | | | | | | | | | | | | | | | | | Converted with help from Jaswinder Singh Signed-off-by: David Woodhouse <dwmw2@infradead.org> Acked-by: Alan Cox <alan@redhat.com>
| | * firmware: convert Ambassador ATM driver to request_firmware()David Woodhouse2008-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since it had various regions to be loaded to separate addresses, and it wanted to do them in fairly small chunks anyway, switch it to use the new ihex code. Encode the start address in the first record. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Acked-by: Chas Williams <chas@cmf.nrl.navy.mil>
| | * whiteheat: use request_firmware()David Woodhouse2008-07-10
| | | | | | | | | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org>
| | * ti_usb_3410_5052: use request_firmware()David Woodhouse2008-07-10
| | | | | | | | | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org>
| | * emi62: use request_firmware()David Woodhouse2008-07-10
| | | | | | | | | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org>
| | * emi26: use request_firmware()David Woodhouse2008-07-10
| | | | | | | | | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org>
| | * keyspan_pda: use request_firmware()David Woodhouse2008-07-10
| | | | | | | | | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org>