- 24 9月, 2007 1 次提交
-
-
由 Marc Pignat 提交于
This kind of transfer is not supported, so don't advertise it and make it fail early. Signed-off-by: NMarc Pignat <marc.pignat@hevs.ch> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 23 9月, 2007 3 次提交
-
-
由 Pierre Ossman 提交于
The MMC_DATA_MULTI flag never had a proper definition of what it means, so remove it and let the drivers check the block count in the request. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
Remove the BYTEBLOCK capability and let the broken hosts fail the requests with -EINVAL instead. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
Convert the MMC layer to use standard error codes and not its own, incompatible values. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 11 9月, 2007 1 次提交
-
-
由 Anti Sullin 提交于
This patch fixes a bug in AT91 mmc host driver, that enables the wakeup from suspend on card detection pin even if the card detect pin is not available (==0). If not card detection pin is defined, IRQ0 == FIQ gets enabled and if some activity is present on that pin, the system gets a FIQ request, that causes a crash. Signed-off-by: NAnti Sullin <anti.sullin@artecdesign.ee> Signed-off-by: NNicolas Ferre <nicolas.ferre@rfo.atmel.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 09 8月, 2007 1 次提交
-
-
由 Nicolas Ferre 提交于
Some cleanup with whitespace/tab at the end of lines. Signed-off-by: NNicolas Ferre <nicolas.ferre@rfo.atmel.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 26 7月, 2007 1 次提交
-
-
由 Pierre Ossman 提交于
Make sure all headers in the files reflect their true position in the tree. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 21 7月, 2007 1 次提交
-
-
由 Marc Pignat 提交于
This piece of code enable the system to be wake-up by a card insertion or removal. Signed-off-by: NMarc Pignat <marc.pignat@hevs.ch> Signed-off-by: NNicolas Ferre <nicolas.ferre@rfo.atmel.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 10 7月, 2007 2 次提交
-
-
由 Nicolas Ferre 提交于
Fixes hanging using multi block operations (seen during CMD25). Follows closely the datasheet flowcharts. This piece of code handles better big file writing. I had to take care of the notbusy signal during write (at91_mci_handle_cmdrdy function) and to rearrange the AT91_MCI_ENDRX and AT91_MCI_RXBUFF flag usage. Signed-off-by: NNicolas Ferre <nicolas.ferre@rfo.atmel.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Nicolas Ferre 提交于
Typo fix in at91_mci driver : standardized the typo (at91_mci everywhere) Signed-off-by: NNicolas Ferre <nicolas.ferre@rfo.atmel.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 07 6月, 2007 1 次提交
-
-
由 Marc Pignat 提交于
Fix compilation error by removing command decoding from at91_mci.c driver. Decoding commands in the host driver is the wrong way. Signed-off-by: NMarc Pignat <marc.pignat@hevs.ch> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 01 5月, 2007 2 次提交
-
-
由 Pierre Ossman 提交于
Clean up the drivers/mmc directory by moving card and host drivers into subdirectories. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
All host drivers were #include:ing mmc/protocol.h just to get access to the OCR bit defines. Move these to host.h instead. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 08 2月, 2007 1 次提交
-
-
由 Andrew Victor 提交于
The Atmel AT91 and AVR32 processor architectures share many of the same peripherals. The PDC (Peripheral Data Controller) registers are also implemented within in a number of the on-chip peripherals (eg, USART, MMC, SPI, SSC, etc). In a attempt not to duplicate the register definitions in each peripheral, or in each architecture, the at91_pdc.h header in asm-arm/arch-at91 and asm-avr32/arch-at32ap has been replaced with linux/atmel_pdc.h. The definitions have also been renamed from AT91_PDC_* to ATMEL_PDC_*, and the drivers updated accordingly. Original patch from Nicolas Ferre. Signed-off-by: NAndrew Victor <andrew@sanpeople.com> Acked-by: NHaavard Skinnemoen <hskinnemoen@atmel.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 05 2月, 2007 2 次提交
-
-
由 Pierre Ossman 提交于
Many controllers have an upper limit on the number of blocks that can be transferred in one request. Allow the host drivers to specify this and make sure we avoid hitting this limit. Also change the max_sectors field to avoid confusion. This makes it map less directly to the block layer limits, but as they didn't apply directly on MMC cards anyway, this isn't a great loss. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Pierre Ossman 提交于
Most controllers have an upper limit on the block size. Allow the host drivers to specify this and make sure we avoid hitting this limit. Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 04 1月, 2007 1 次提交
-
-
由 David Brownell 提交于
Linker level tweaks for the AT91 MMC driver: - fix a wrongly-exported symbol - move probe() to init section - move remove() to exit section When this driver is statically linked, this patch shrinks the driver's runtime I-space footprint by over 20% (950 bytes). Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 11 12月, 2006 6 次提交
-
-
由 Andrew Victor 提交于
The driver is usable on the newer SAM9 processors so replace all text references to AT91RM9200 with just AT91. The controller bug where all the words are byte-swapped is fixed on the AT91SAM9 processors. The byte-swapping work-around therefore only needs to be done if cpu_is_at91rm9200(). [Original patch from Wojtek Kaniewski] The AT91RM9200 and AT91SAM9260 processors support two MMC/SD slots - the slot which is connected is now passed via the platform_data and the correct slot selected in the AT91_MCI_SDCR register. The driver should not be calling at91_set_gpio_output() since the VCC pin should have already been configured as an output in the processor/board setup code. The driver should call at91_set_gpio_value(). Signed-off-by: NAndrew Victor <andrew@sanpeople.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Andrew Victor 提交于
A number of small cleanups to the AT91RM9200 MMC driver: - fix warnings generated by pr_debug(). - prepend "AT91 MMC:" to printk() messages. Signed-off-by: NAndrew Victor <andrew@sanpeople.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Andrew Victor 提交于
This patch simplifies the AT91RM9200 MMC interrupt handler code so that it doesn't re-read the Interrupt Status and Interrupt Mask registers multiple times. Also defined AT91_MCI_ERRORS instead of using the hard-coded 0xffff0000. Signed-off-by: NAndrew Victor <andrew@sanpeople.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Andrew Victor 提交于
Move the global 'mci_clk' variable into the local 'at91mci_host' structure. Signed-off-by: NAndrew Victor <andrew@sanpeople.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Andrew Victor 提交于
Use the I/O base-address and IRQ passed to the driver via the platform_device resources instead of using hardcoded values. Signed-off-by: NAndrew Victor <andrew@sanpeople.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
由 Andrew Victor 提交于
The I/O base address is now stored in the 'at91mci_host' structure. We therefore have to pass this structure to at91_mci_read() and at91_mci_write(). Signed-off-by: NAndrew Victor <andrew@sanpeople.com> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 02 12月, 2006 1 次提交
-
-
由 David Brownell 提交于
Now that mmc_host_ops can be constified, update the various drivers to constify those method tables and shrink the writable data segment. Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net> Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
-
- 01 12月, 2006 1 次提交
-
-
由 Andrew Victor 提交于
This patch updates the drivers (and other files) which include the hardware headers. This fixes the breakage introduced in patches 3950/1 and 3951/1 (those patches were getting big). The AVR32 architecture uses the same serial driver and had its own copy of at91rm9200_pdc.h. Renamed it to at91_pdc.h Signed-off-by: NAndrew Victor <andrew@sanpeople.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 05 10月, 2006 1 次提交
-
-
由 David Howells 提交于
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: NDavid Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
-
- 28 9月, 2006 1 次提交
-
-
由 Andrew Victor 提交于
This is more preparation for adding support for the new Atmel AT91SAM9 processors. Changes include: - Replace AT91_BASE_* with AT91RM9200_BASE_* - Replace AT91_ID_* with AT91RM9200_ID_* - ROM, SRAM and UHP address definitions moved to at91rm9200.h. - The raw AT91_P[ABCD]_* definitions are now depreciated in favour of the GPIO API. Signed-off-by: NAndrew Victor <andrew@sanpeople.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 24 9月, 2006 1 次提交
-
-
由 Russell King 提交于
Some MMC hosts can only handle log2 block sizes. Unfortunately, the MMC password support needs to be able to send non-log2 block sizes. Provide a capability so that the MMC password support can decide whether it should use this support or not. The unfortunate side effect of this host limitation is that any MMC card protected by a password which is not a log2 block size can not be accessed on a host which only allows a log2 block size. This change just adds the flag. The MMC password support code needs updating to use it (if and when it is finally submitted.) Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 03 7月, 2006 1 次提交
-
-
由 Thomas Gleixner 提交于
Signed-off-by: NThomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: "David S. Miller" <davem@davemloft.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 01 7月, 2006 1 次提交
-
-
由 Jörn Engel 提交于
Signed-off-by: NJörn Engel <joern@wohnheim.fh-wedel.de> Signed-off-by: NAdrian Bunk <bunk@stusta.de>
-
- 19 6月, 2006 2 次提交
-
-
由 Andrew Victor 提交于
Patch from Andrew Victor This patch includes code cleanups and minor fixes to the AT91RM9200 MMC driver. 1. Replace calls to DBG() with pr_debug(). 2. 'host' can never be null, so don't bother checking for that case. 3. Remove SA_SAMPLE_RANDOM from request_irq(). [Patch from Matt Mackall] 4. clk_get() doesn't return NULL on error - need to test returned value with IS_ERR(). 5. Free resources if clk_get() or request_irq() fails. Signed-off-by: NAndrew Victor <andrew@sanpeople.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
The MMC specification allows non-power of two block sizes. As such, we should not pass the log2 block size to host drivers, but instead pass the byte size. However, ARM MMCI can only work with log2 block size, so continue to pass both the log2 block size and byte block size. This means that for the moment, the byte block size must remain a power of two, but this is the first stage of removing this restriction for other hosts. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 05 5月, 2006 1 次提交
-
-
由 Russell King 提交于
Rather than having every driver duplicate the set_ios debugging, provide a single version in mmc.c which can be expanded as we add additional functionality. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 03 4月, 2006 1 次提交
-
-
由 Andrew Victor 提交于
Patch from Andrew Victor This patch adds support for the MMC/SD card interface on the Atmel AT91RM9200 processor. Original driver was by Nick Randell, but a number of people have subsequently worked on it. It's currently maintained by Malcolm Noyes. Signed-off-by: NAndrew Victor <andrew@sanpeople.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-