#
6ef297f8 |
| 22-Sep-2009 |
Linus Walleij <linus.walleij@stericsson.com> |
ARM: 5720/1: Move MMCI header to amba include dir
This moves the mmci platform data definition struct away from arch/arm/include/asm/mach/mmc.h into the more proper place among the other primecells
ARM: 5720/1: Move MMCI header to amba include dir
This moves the mmci platform data definition struct away from arch/arm/include/asm/mach/mmc.h into the more proper place among the other primecells in include/linux/amba/mmci.h and at the same time renames it to "mmci.h", and also the struct in this file confusingly named mmc_platform_data has been renamed mmci_platform_data for clarity.
Cc: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
9e6c82cd |
| 14-Sep-2009 |
Linus Walleij <linus.walleij@stericsson.com> |
ARM: 5698/1: MMCI pass capabilities in platform data
This makes it possible to pass down the host controller capabilities for the MMCI driver using the platform data. It also provides the capabiltie
ARM: 5698/1: MMCI pass capabilities in platform data
This makes it possible to pass down the host controller capabilities for the MMCI driver using the platform data. It also provides the capabilties for the U300 implementation as an example, and makes sure the 4bit wide mode is set if this is requested by the ios() now that we can actually set that capability for a platform.
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
a6a6464a |
| 14-Sep-2009 |
Linus Walleij <linus.walleij@stericsson.com> |
ARM: 5697/1: MMCI Break out clock divider setup
This breaks out the clock divider set-up code from the mmci_set_ios() code and surrounds the two register writes with a host lock so we don't get coll
ARM: 5697/1: MMCI Break out clock divider setup
This breaks out the clock divider set-up code from the mmci_set_ios() code and surrounds the two register writes with a host lock so we don't get collisions if (in future code) two code paths want to change the clock divider at the same time as can be the case if we get something like pre/post- clock frequency change notifications soonish.
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v2.6.31, v2.6.31-rc9, v2.6.31-rc8, v2.6.31-rc7, v2.6.31-rc6 |
|
#
f17a1f06 |
| 03-Aug-2009 |
Linus Walleij <linus.walleij@stericsson.com> |
ARM: 5636/1: Move vendor enum to AMBA include
This moves the primecell vendor enum definition inside vic.c out to linux/amba/bus.h where it belongs and replace any occurances of specific vendor ID:s
ARM: 5636/1: Move vendor enum to AMBA include
This moves the primecell vendor enum definition inside vic.c out to linux/amba/bus.h where it belongs and replace any occurances of specific vendor ID:s with the respective enums instead.
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
7064d209 |
| 26-Aug-2009 |
Linus Walleij <linus.walleij@stericsson.com> |
ARM: 5685/1: Make MMCI driver compile without gpiolib
The recent addition of optional gpiolib support to check if a card was inserted or write protected was really not optional. It needs this ifdef
ARM: 5685/1: Make MMCI driver compile without gpiolib
The recent addition of optional gpiolib support to check if a card was inserted or write protected was really not optional. It needs this ifdef to become optional so that U300 compiles, for example.
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v2.6.31-rc5, v2.6.31-rc4, v2.6.31-rc3 |
|
#
89001446 |
| 09-Jul-2009 |
Russell King <rmk@dyn-67.arm.linux.org.uk> |
MMC: MMCI: use gpiolib for card detect/write protect
Use gpiolib where available (and when valid GPIOs are provided) for write protect/card detect status reporting. We fall back to the old 'status'
MMC: MMCI: use gpiolib for card detect/write protect
Use gpiolib where available (and when valid GPIOs are provided) for write protect/card detect status reporting. We fall back to the old 'status' method where gpiolib support is not available.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
012b7d33 |
| 09-Jul-2009 |
Russell King <rmk@dyn-67.arm.linux.org.uk> |
MMC: MMCI: use AMBA bus accessors
Rather than open coding the accessors for decoding peripheral IDs, use the macros already provided.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked
MMC: MMCI: use AMBA bus accessors
Rather than open coding the accessors for decoding peripheral IDs, use the macros already provided.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Linus Walleij <linus.walleij@stericsson.com>
show more ...
|
Revision tags: v2.6.31-rc2, v2.6.31-rc1, v2.6.30 |
|
#
dc890c2d |
| 07-Jun-2009 |
Linus Walleij <linus.walleij@stericsson.com> |
[ARM] 5544/1: Trust PrimeCell resource sizes
I found the PrimeCell/AMBA Bus drivers distrusting the resource passed in as part of the struct amba_device abstraction. This patch removes all hard code
[ARM] 5544/1: Trust PrimeCell resource sizes
I found the PrimeCell/AMBA Bus drivers distrusting the resource passed in as part of the struct amba_device abstraction. This patch removes all hard coded resource sizes found in the PrimeCell drivers and move the responsibility of this definition back to the platform/board device definition, which already exist and appear to be correct for all in-tree users of these drivers. We do this using the resource_size() inline function which was also replicated in the only driver using the resource size, so that has been changed too. The KMI_SIZE was left in kmi.h in case someone likes it. Test-compiled against Versatile and Integrator defconfigs, seems to work but I don't posess these boards and cannot test them.
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v2.6.30-rc8, v2.6.30-rc7 |
|
#
03fbdb15 |
| 20-May-2009 |
Alessandro Rubini <rubini@gnudd.com> |
[ARM] 5519/1: amba probe: pass "struct amba_id *" instead of void *
The second argument of the probe method points to the amba_id structure, so it's better passed with the correct type. None of the
[ARM] 5519/1: amba probe: pass "struct amba_id *" instead of void *
The second argument of the probe method points to the amba_id structure, so it's better passed with the correct type. None of the current in-tree drivers uses the pointer, so they have only been checked for a clean compile.
Change suggested by Russell King.
Signed-off-by: Alessandro Rubini <rubini@unipv.it> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v2.6.30-rc6, v2.6.30-rc5, v2.6.30-rc4, v2.6.30-rc3 |
|
#
4ea580f1 |
| 16-Apr-2009 |
Rabin Vincent <rabin@rab.in> |
mmci: fix crash with debug enabled
If MMC debugging is enabled, the mmci driver oopses because the DBG macro uses host->mmc before it is set. Set it earlier.
Signed-off-by: Rabin Vincent <rabin@ra
mmci: fix crash with debug enabled
If MMC debugging is enabled, the mmci driver oopses because the DBG macro uses host->mmc before it is set. Set it earlier.
Signed-off-by: Rabin Vincent <rabin@rab.in> Signed-off-by: Pierre Ossman <pierre@ossman.eu>
show more ...
|
Revision tags: v2.6.30-rc2, v2.6.30-rc1, v2.6.29, v2.6.29-rc8 |
|
#
6dc4a47a |
| 06-Mar-2009 |
Linus Walleij <triad@df.lth.se> |
[ARM] 5420/1: MMCI devinit and devexit macros
This adds __devinit and __devexit macros to the module probe and remove functions in MMCI. Now includes the __devexit_p() thing too.
Signed-off-by: Lin
[ARM] 5420/1: MMCI devinit and devexit macros
This adds __devinit and __devexit macros to the module probe and remove functions in MMCI. Now includes the __devexit_p() thing too.
Signed-off-by: Linus Walleij <linus.walleij@ericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v2.6.29-rc7, v2.6.29-rc6, v2.6.29-rc5, v2.6.29-rc4, v2.6.29-rc3, v2.6.29-rc2, v2.6.29-rc1 |
|
#
cc30d60e |
| 04-Jan-2009 |
Linus Walleij <linus.walleij@ericsson.com> |
mmci: Add support for ST Micro derivate
This patch adds support for the ST Microelectronics version of the PL180 PrimeCell. They use designer ID 0x80 and have a few alterations/bugfixes related to o
mmci: Add support for ST Micro derivate
This patch adds support for the ST Microelectronics version of the PL180 PrimeCell. They use designer ID 0x80 and have a few alterations/bugfixes related to open drain and HW flow control. They also add some SDIO registers, I am unsure if these are in ST HW only or if this is things also added in later ARM revisions, but they are included in the mmci.h file for completeness.
Signed-off-by: Linus Walleij <linus.walleij@ericsson.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
show more ...
|
Revision tags: v2.6.28, v2.6.28-rc9, v2.6.28-rc8, v2.6.28-rc7 |
|
#
ee569c43 |
| 30-Nov-2008 |
Russell King <rmk@dyn-67.arm.linux.org.uk> |
[ARM] amba drivers: don't pass a consumer clock name for devices with unique clocks
Where devices only have one consumer, passing a consumer clock ID has no real benefit, and it only encourages wron
[ARM] amba drivers: don't pass a consumer clock name for devices with unique clocks
Where devices only have one consumer, passing a consumer clock ID has no real benefit, and it only encourages wrong implementations of the clk API. Remove it.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v2.6.28-rc6, v2.6.28-rc5, v2.6.28-rc4, v2.6.28-rc3, v2.6.28-rc2 |
|
#
9e943021 |
| 24-Oct-2008 |
Linus Walleij <triad@df.lth.se> |
[ARM] 5322/1: Fix fastpath issue in mmci.c
Fix fastpath issues
Since mmci_request() can be called from a non-interrupt context, and does, during kernel init, causing a host of debug messages during
[ARM] 5322/1: Fix fastpath issue in mmci.c
Fix fastpath issues
Since mmci_request() can be called from a non-interrupt context, and does, during kernel init, causing a host of debug messages during boot if you enable spinlock debugging, we need to use the spinlock calls that save IRQ flags and restore them.
Signed-off-by: Linus Walleij <triad@df.lth.se> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v2.6.28-rc1, v2.6.27, v2.6.27-rc9, v2.6.27-rc8, v2.6.27-rc7, v2.6.27-rc6, v2.6.27-rc5, v2.6.27-rc4, v2.6.27-rc3, v2.6.27-rc2, v2.6.27-rc1, v2.6.26 |
|
#
23af6039 |
| 05-Jul-2008 |
Pierre Ossman <drzeus@drzeus.cx> |
mmc: remove multiwrite capability
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). Th
mmc: remove multiwrite capability
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: Pierre Ossman <drzeus@drzeus.cx>
show more ...
|
Revision tags: v2.6.26-rc9, v2.6.26-rc8, v2.6.26-rc7, v2.6.26-rc6, v2.6.26-rc5, v2.6.26-rc4, v2.6.26-rc3, v2.6.26-rc2, v2.6.26-rc1 |
|
#
c8df9a53 |
| 29-Apr-2008 |
Linus Walleij <triad@df.lth.se> |
[ARM] 5024/1: Fix some minor clk issues in the MMCI PL18x driver
This fixes some two minor clk issues.
The first is a comparison where a byte will probably wrap around to 0 instead of being saturat
[ARM] 5024/1: Fix some minor clk issues in the MMCI PL18x driver
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: Linus Walleij <triad@df.lth.se> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
26eed9a5 |
| 26-Apr-2008 |
Linus Walleij <triad@df.lth.se> |
[ARM] 5022/1: Race in ARM MMCI PL18x driver, V2
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).
[ARM] 5022/1: Race in ARM MMCI PL18x driver, V2
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: Linus Walleij <triad@df.lth.se> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v2.6.25, v2.6.25-rc9, v2.6.25-rc8, v2.6.25-rc7, v2.6.25-rc6, v2.6.25-rc5, v2.6.25-rc4, v2.6.25-rc3, v2.6.25-rc2, v2.6.25-rc1, v2.6.24, v2.6.24-rc8, v2.6.24-rc7, v2.6.24-rc6, v2.6.24-rc5, v2.6.24-rc4, v2.6.24-rc3, v2.6.24-rc2 |
|
#
bd6dee6f |
| 24-Oct-2007 |
Jens Axboe <jens.axboe@oracle.com> |
mmc: sg fallout
Do a full scan of the directory to try and be a bit more proactive, instead of waiting for things to break.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
Revision tags: v2.6.24-rc1 |
|
#
019a5f56 |
| 11-Oct-2007 |
Nicolas Pitre <nico@cam.org> |
mmc: don't use weight32()
Using weight32() to determine if a value is a power of 2 is a rather heavi weight solution. The classic idiom is (x & (x - 1)) == 0, but the kernel already provide a is_po
mmc: don't use weight32()
Using weight32() to determine if a value is a power of 2 is a rather heavi weight solution. The classic idiom is (x & (x - 1)) == 0, but the kernel already provide a is_power_of_2 function for it.
Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
show more ...
|
Revision tags: v2.6.23, v2.6.23-rc9, v2.6.23-rc8, v2.6.23-rc7, v2.6.23-rc6, v2.6.23-rc5, v2.6.23-rc4, v2.6.23-rc3, v2.6.23-rc2 |
|
#
255d01af |
| 24-Jul-2007 |
Pierre Ossman <drzeus@drzeus.cx> |
mmc: remove BYTEBLOCK capability
Remove the BYTEBLOCK capability and let the broken hosts fail the requests with -EINVAL instead.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
|
Revision tags: v2.6.23-rc1 |
|
#
17b0429d |
| 22-Jul-2007 |
Pierre Ossman <drzeus@drzeus.cx> |
mmc: remove custom error codes
Convert the MMC layer to use standard error codes and not its own, incompatible values.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
|
#
70f10482 |
| 11-Jul-2007 |
Pierre Ossman <drzeus@drzeus.cx> |
mmc: update header file paths
Make sure all headers in the files reflect their true position in the tree.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
|
Revision tags: v2.6.22, v2.6.22-rc7, v2.6.22-rc6, v2.6.22-rc5, v2.6.22-rc4, v2.6.22-rc3, v2.6.22-rc2, v2.6.22-rc1, v2.6.21, v2.6.21-rc7, v2.6.21-rc6, v2.6.21-rc5, v2.6.21-rc4, v2.6.21-rc3, v2.6.21-rc2, v2.6.21-rc1 |
|
#
1c6a0718 |
| 11-Feb-2007 |
Pierre Ossman <drzeus@drzeus.cx> |
mmc: Move host and card drivers to subdirs
Clean up the drivers/mmc directory by moving card and host drivers into subdirectories.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
|
#
6c971bd9 |
| 25-Feb-2021 |
Yann Gautier <yann.gautier@foss.st.com> |
mmc: mmci: Add MMC_CAP_NEED_RSP_BUSY for the stm32 variants commit 774514bf977377c9137640a0310bd64eed0f7323 upstream. An issue has been observed on STM32MP157C-EV1 board, with an er
mmc: mmci: Add MMC_CAP_NEED_RSP_BUSY for the stm32 variants commit 774514bf977377c9137640a0310bd64eed0f7323 upstream. An issue has been observed on STM32MP157C-EV1 board, with an erase command with secure erase argument, ending up waiting for ~4 hours before timeout. The requested busy timeout from the mmc core ends up with 14784000ms (~4 hours), but the supported host->max_busy_timeout is 86767ms, which leads to that the core switch to use an R1 response in favor of the R1B and polls for busy with the host->card_busy() ops. In this case the polling doesn't work as expected, as we never detects that the card stops signaling busy, which leads to the following message: mmc1: Card stuck being busy! __mmc_poll_for_busy The problem boils done to that the stm32 variants can't use R1 responses in favor of R1B responses, as it leads to an internal state machine in the controller to get stuck. To continue to process requests, it would need to be reset. To fix this problem, let's set MMC_CAP_NEED_RSP_BUSY for the stm32 variant, which prevent the mmc core from switching to R1 responses. Additionally, let's cap the cmd->busy_timeout to the host->max_busy_timeout, thus rely on 86767ms to be sufficient (~66 seconds was need for this test case). Fixes: 94fe2580a2f3 ("mmc: core: Enable erase/discard/trim support for all mmc hosts") Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Link: https://lore.kernel.org/r/20210225145454.12780-1-yann.gautier@foss.st.com Cc: stable@vger.kernel.org [Ulf: Simplified the code and extended the commit message] Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
Revision tags: v5.10, v5.8.17, v5.8.16, v5.8.15, v5.9, v5.8.14, v5.8.13, v5.8.12, v5.8.11, v5.8.10, v5.8.9, v5.8.8, v5.8.7, v5.8.6, v5.4.62, v5.8.5, v5.8.4, v5.4.61, v5.8.3, v5.4.60, v5.8.2, v5.4.59, v5.8.1, v5.4.58, v5.4.57, v5.4.56, v5.8, v5.7.12, v5.4.55, v5.7.11, v5.4.54, v5.7.10, v5.4.53, v5.4.52, v5.7.9, v5.7.8, v5.4.51, v5.4.50, v5.7.7, v5.4.49, v5.7.6, v5.7.5, v5.4.48, v5.7.4, v5.7.3, v5.4.47 |
|
#
81a77ee9 |
| 11-Jun-2020 |
Ludovic Barre <ludovic.barre@st.com> |
mmc: mmci: add sdio datactrl mask for sdmmc revisions This patch adds datactrl_mask_sdio for sdmmc revisions. sdmmc revisions used same bit of previous ST variant. Signed-off-by
mmc: mmci: add sdio datactrl mask for sdmmc revisions This patch adds datactrl_mask_sdio for sdmmc revisions. sdmmc revisions used same bit of previous ST variant. Signed-off-by: Ludovic Barre <ludovic.barre@st.com> Link: https://lore.kernel.org/r/20200611132839.4515-1-ludovic.barre@st.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
show more ...
|