Lines Matching +full:mmc +full:- +full:card

1 .. SPDX-License-Identifier: GPL-2.0
4 MMC Test Framework
10 … host controller drivers and all devices handled by the MMC subsystem. This includes not only MMC
16 - Verifying the functionality and performance of MMC and SD host controller drivers.
17 - Ensuring compatibility and reliability of MMC and SD devices.
18 - Identifying and diagnosing issues in the MMC subsystem.
22 Note: whatever is on your card will be overwritten by these tests.
29 1. **Enable the MMC Test Framework**:
33 .. code-block:: none
39 Device Drivers --->
40 <*> MMC/SD/SDIO card support --->
41 [*] MMC host test driver
45 .. code-block:: none
51 2. **Load the MMC Test Module**:
55 .. code-block:: none
59 Binding the MMC Card for Testing
62MMC testing, you need to unbind the MMC card from the ``mmcblk`` driver and bind it to the ``mmc_t…
64 1. Identify the MMC card:
66 .. code-block:: sh
68 ls /sys/bus/mmc/devices/
70 This will list the MMC devices, such as ``mmc0:0001``.
72 2. Unbind the MMC card from the ``mmcblk`` driver:
74 .. code-block:: sh
76 echo 'mmc0:0001' > /sys/bus/mmc/drivers/mmcblk/unbind
78 3. Bind the MMC card to the ``mmc_test`` driver:
80 .. code-block:: sh
82 echo 'mmc0:0001' > /sys/bus/mmc/drivers/mmc_test/bind
84 After binding, you should see a line in the kernel log indicating that the card has been claimed fo…
86 .. code-block:: none
88 mmc_test mmc0:0001: Card claimed for testing.
91 Usage - Debugfs Entries
100 .. code-block:: sh
106 .. code-block:: sh
114 .. code-block:: sh
120 .. code-block:: sh
128 .. code-block:: sh
134 +------+--------------------------------+---------------------------------------------+
138 +------+--------------------------------+---------------------------------------------+
140 | | | single 512-Byte block to the MMC card |
142 +------+--------------------------------+---------------------------------------------+
144 +------+--------------------------------+---------------------------------------------+
146 | | (with data verification) | single 512-Byte block to the MMC card |
149 +------+--------------------------------+---------------------------------------------+
152 +------+--------------------------------+---------------------------------------------+
153 | 5 | Multi-block write | Performs a multi-block write operation of |
154 | | | 8 blocks (each 512 bytes) to the MMC card. |
155 +------+--------------------------------+---------------------------------------------+
156 | 6 | Multi-block read | Same for read |
157 +------+--------------------------------+---------------------------------------------+
160 | | | byte up to 256 bytes, to the MMC card. |
161 +------+--------------------------------+---------------------------------------------+
163 +------+--------------------------------+---------------------------------------------+
167 | | | to 511 bytes, to the MMC card. |
168 +------+--------------------------------+---------------------------------------------+
170 +------+--------------------------------+---------------------------------------------+
173 | | | bytes offset) to test how the MMC card |
175 +------+--------------------------------+---------------------------------------------+
177 +------+--------------------------------+---------------------------------------------+
178 | 13 | Badly aligned multi-block write| same for multi-write |
179 +------+--------------------------------+---------------------------------------------+
180 | 14 | Badly aligned multi-block read | same for multi-read |
181 +------+--------------------------------+---------------------------------------------+
183 | | (Start failure) | modifying the MMC request in a way that it |
185 | | | MMC_WRITE_BLOCK for a multi-block transfer |
186 +------+--------------------------------+---------------------------------------------+
189 +------+--------------------------------+---------------------------------------------+
192 +------+--------------------------------+---------------------------------------------+
195 +------+--------------------------------+---------------------------------------------+
197 +------+--------------------------------+---------------------------------------------+
199 +------+--------------------------------+---------------------------------------------+
200 | 21 | Multi-block highmem write | same for multi-write |
201 +------+--------------------------------+---------------------------------------------+
202 | 22 | Multi-block highmem read | same for mult-read |
203 +------+--------------------------------+---------------------------------------------+
204 | 23 | Best-case read performance | Performs 512K sequential read (non sg) |
205 +------+--------------------------------+---------------------------------------------+
206 | 24 | Best-case write performance | same for write |
207 +------+--------------------------------+---------------------------------------------+
208 | 25 | Best-case read performance | Same using sg |
210 +------+--------------------------------+---------------------------------------------+
211 | 26 | Best-case write performance | same for write |
213 +------+--------------------------------+---------------------------------------------+
215 +------+--------------------------------+---------------------------------------------+
217 +------+--------------------------------+---------------------------------------------+
219 +------+--------------------------------+---------------------------------------------+
221 +------+--------------------------------+---------------------------------------------+
223 +------+--------------------------------+---------------------------------------------+
225 +------+--------------------------------+---------------------------------------------+
227 +------+--------------------------------+---------------------------------------------+
229 +------+--------------------------------+---------------------------------------------+
231 +------+--------------------------------+---------------------------------------------+
233 +------+--------------------------------+---------------------------------------------+
235 +------+--------------------------------+---------------------------------------------+
236 | 38 | Write performance | With non-blocking req 4k to 4MB |
237 +------+--------------------------------+---------------------------------------------+
239 +------+--------------------------------+---------------------------------------------+
240 | 40 | Read performance | With non-blocking req 4k to 4MB |
241 +------+--------------------------------+---------------------------------------------+
243 +------+--------------------------------+---------------------------------------------+
244 | 42 | Write performance | Non-blocking req 1 to 512 sg elems |
245 +------+--------------------------------+---------------------------------------------+
247 +------+--------------------------------+---------------------------------------------+
248 | 44 | Read performance | Non-blocking req 1 to 512 sg elems |
249 +------+--------------------------------+---------------------------------------------+
251 +------+--------------------------------+---------------------------------------------+
253 +------+--------------------------------+---------------------------------------------+
255 +------+--------------------------------+---------------------------------------------+
257 +------+--------------------------------+---------------------------------------------+
259 +------+--------------------------------+---------------------------------------------+
260 | 50 | Commands during non-blocking | Read - use Set Block Count (CMD23) |
261 +------+--------------------------------+---------------------------------------------+
262 | 51 | Commands during non-blocking | Write - use Set Block Count (CMD23) |
263 +------+--------------------------------+---------------------------------------------+
270 - **OK**: The test completed successfully.
271 - **FAILED**: The test failed.
272 - **UNSUPPORTED (by host)**: The test is unsupported by the host.
273 - **UNSUPPORTED (by card)**: The test is unsupported by the card.
274 - **ERROR**: An error occurred during the test.
281 .. code-block:: none
283 [ 1234.567890] mmc0: Starting tests of card mmc0:0001...
299 For more information or to report issues, please contact the MMC subsystem maintainers.