History log of /fuchsia/zircon/system/dev/block/sdmmc/ops.c
Revision Date Author Comments
# eea209fa 13-Sep-2018 Ruchira Ravoori <ravoorir@google.com>

[zircon][sdio] Do a soft reset before probing

On Vim2 Basic, very rarely during netboot, the CMD5(one of the init commands)on
sdio fails with no response and we fail to probe. To fix the issue, this changeset adds
a soft reset along with the hardware reset, before we probe. This changeset also adds a
sdmmc_request_helper which retries the request if the request fails.

Test: Prior to this change, on VIM2 basic, I have noted that
the sdio probe failed intermittently only during netboot. I have made sure that
when such an error occured, soft reset fixed the issue.

Change-Id: I2745bf674840c6ac7bf13312d092efae0eff7376


# 518fbd95 29-Jun-2018 Ruchira Ravoori <ravoorir@google.com>

[zircon][sdio] Add more protocol ops

This changeset adds proto ops for getting hw info and current blk size of sdio
device. I had to do some refactoring to make the data structures more
secure to use in the upper layers.

Test: sdio test on vim2 using the apis

Change-Id: If439f263b1a3cd8c90a975782b33f57c20d80af2


# 8c987f9c 29-Jun-2018 Ruchira Ravoori <ravoorir@google.com>

[zircon][sdio] Add dma support for data I/O

This changeset adds dma support for data requests. Depending on whether
the controller supports dma, we either pass on or map the vmo.

Test: SDIO probe using dma on vim2

Change-Id: Ic08d0e1ff586109eddb96478fd5f6411118e4b9f


# 522cbc50 08-Jun-2018 Ruchira Ravoori <ravoorir@google.com>

[zircon][sdio]Add support for core sdio

This changeset probes and initializes the sdio functions. It also
implements the rw commands(CMD52 and CMD53) for control/IO operations
on SDIO

Change-Id: I8585c064602cae6256acc3074371d887aa014252


# 1e849439 30-May-2018 Ruchira Ravoori <ravoorir@google.com>

[zircon][amlogic][sd-emmc] Add PIO mode support

The SDIO instance PORTA of the amlogic controller does not support DMA.
This change adds PIO support for the driver. The use_dma flag is used by the amlogic
controller for command submission as well as data as compared to the
sdhci on x64. In PIO mode, the controller reads the descriptors from the SRAM region of
the mmio space and data from the ping-pong buffers. For SDHCI on X64, the use_dma
flag is ignored during command submission and used only during data.
While in sdmmc, this changeset also fixes the issue of unmap when sdmmc
does not use dma.

Change-Id: I8d6dc95acb6405e1f89511376a68a044bbf0ece4


# ce63421f 08-Apr-2018 Ruchira Ravoori <ravoorir@rodete-laptop-imager.corp.google.com>

[zircon][sdhci] Move sdhci hardware details from sdmmc to sdhci layer

sdmmc code is being reused for amlogic's sdhci which does not follow the sdhci
spec. This changeset relocates the cmd info specific to sdchi from sdmmc layer
to sdhci layer.

Change-Id: I6640056e6c06ee51946f0b8be6a5b07a7beb1fd2


# 829e5f88 02-Apr-2018 Ruchira Ravoori <ravoorir@rodete-desktop-imager.corp.google.com>

[zircon][sdhci] Modify sdmmc code to support amlogic sd controller

Amlogic sdhci controller does not implement sdhci spec. However it can
reuse the layers up and above sdmmc.
This changeset does the following to support amlogic sdhci:
1. Introduce a quirk which takes care of command response being off by one
for pcie sdhci controllers.
2. Move command semantics that are specific to sdhci controller from
sdmmc to sdhci layer

Change-Id: Ic5a00b537575dc7933c06561350f712578fd89b7


# 4459d6f8 10-Jan-2018 Yvonne Yip <yky@google.com>

[dev][sdhci][sdmmc] remove iotxn and cleanup

* switch to new block protocol
* remove iotxn usage
* introduce SDMMC protocol instead of device_ioctl()
* fix PIO mode
* make tuning command less special
* fix various issues where we did not conform to the spec
* comment out bit rotted SD card support for now

Change-Id: I7b8e96d326cfe010d1a8e1355453ac89790d5498