summaryrefslogtreecommitdiff
path: root/EmbeddedPkg/Universal/MmcDxe/MmcBlockIo.c
AgeCommit message (Collapse)Author
2013-03-14MmcDxe: fixes sd card identification on pandaOlivier Deprez
It is observed with few SD cards that the protocol is hanging after issuing cmd5 and before cmd8. Adding a small delay inbetween recovers and driver bring up is continuing without problem.
2013-03-12ARM Packages: Fixed coding style and typosoliviermartin
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14179 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-19EmbeddedPkg/MmcDxe: Ensure MMC is in Identification Modeoliviermartin
This change ensure the MMC card is in Identification Mode. The card might be in Data Transfer Mode if a pre UEFI Boot Loader had initialized the card. A potential optimization would be to skip the Identification Mode in this case. Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13872 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-31EmbeddedPkg/MmcDxe: The timeout while waiting for the programming to be ↵oliviermartin
complete was decreased twice. Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13694 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-02EmbeddedPkg/MmcDxe: Fixed typooliviermartin
Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13585 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-02EmbeddedPkg/MmcDxe: Avoid nanosecond delay when command succeedsoliviermartin
Check response just after receiving it to avoid the delay. Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13584 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-02EmbeddedPkg/MmcDxe: Fixed MmcIdentificationMode()oliviermartin
The condition to check if the card is ready was not correct. Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13583 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26EmbeddedPkg/MmcDxe: Fixed XCLANG buildoliviermartin
Move the constant array from its declaration inside the function to a global declaration. Signed-off-by: Andrew Fish <afish@apple.com> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13140 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-01EmbeddedPkg/MmcDxe: Add 'This' pointer attribute to protocol functionoliviermartin
This attribute allows the EFI_MMC_HOST_PROTOCOL interface to manage multiple instances in one driver. EmbeddedPkg/MmcDxe: Add Revision attribute to the EFI_MMC_HOST_PROTOCOL Note: The ARM PL180 and Omap35xx MMC host drivers has been updated. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12255 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-30EmbeddedPkg/MmcDxe: Card Presence Detect Race Conditionoliviermartin
The MMC driver defaults to assume a card is not present. It then starts a timer in MmcDxeInitialize to check for card presence every 200ms. However it does not immediately check to see if a card is present so if the EFI driver connection process occurs less than 200ms after the driver load, the connection process for partition or filesystem drivers will fail because MediaPresent still is FALSE. To resolve this race condition, we need to immediately perform the presence check in the Start routine. EmbeddedPkg/MmcDxe: Media ID Handling Initialize the MMC device on Start or when presence changes instead of doing it on the Block IO calls. This way the layered drivers can be stopped and rebuilt with new Media IDs instead of experiencing errors on calls to Block IO. Proposed-by: Eugene Cohen (HP) Reviewed-by: oliviermartin git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12237 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-18ArmPkg: Fix ARMGCC buildoliviermartin
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12165 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15EmbeddedPkg/MmcDxe: Set the BlockLength at the beginning of the BlockIo transferoliviermartin
Before the SetBlockLength command was called prior to a Read or Write command. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12133 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15EmbeddedPkg/MmcDxe: Implement the correct macro to get the device size of SD ↵oliviermartin
2 High Density cards git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12131 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15EmbeddedPkg/MmcDxe: Fix the CMD3 sequenceoliviermartin
In the former version, we were checking the card was in the new state (Standby state). But the transition to the nez state is only visible in the response of the next command. This commit removes the check on the MMC state. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12130 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15EmbeddedPkg/MmcDxe: Improved parameters checkingoliviermartin
Ensure the passed parameters are correct. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12129 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15EmbeddedPkg/MmcDxe: Create a periodic function to check if a card is presentoliviermartin
In the former version, the check was done for every BlockIo operation. By using a periodical function, we check less time in consequence performance are better. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12128 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-15ArmPkg: Fix warnings raised by ARMGCColiviermartin
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11829 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03EmbeddedPkg/MmcDxe: Fix coding styleoliviermartin
Make the coding style more compliant with the EDK2 coding convention. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11727 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03EmbeddedPkg/MmcDxe: Wait for the MMC controller to be in Transfer Modeoliviermartin
The MMC controller might be ready for data but not be in a 'ready' state to send or receive commands. This fix waits for the MMC controller to be in the correct state. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11726 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03EmbeddedPkg: Move Universal/MmcDxe from ArmPkg to EmbeddedPkgoliviermartin
The MmcDxe is not ARM architecture specific. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11725 6f19259b-4bc3-4df7-8a09-765794883524