Documentation/driver-api/mmc/mmc-test.rst
Source file repositories/reference/linux-study-clean/Documentation/driver-api/mmc/mmc-test.rst
File Facts
- System
- Linux kernel
- Corpus path
Documentation/driver-api/mmc/mmc-test.rst- Extension
.rst- Size
- 16256 bytes
- Lines
- 300
- Domain
- Support Tooling And Documentation
- Bucket
- Documentation
- Inferred role
- Support Tooling And Documentation: documentation
- Status
- atlas-only
Why This File Exists
Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
.. SPDX-License-Identifier: GPL-2.0
========================
MMC Test Framework
========================
Overview
========
The `mmc_test` framework is designed to test the performance and reliability of host controller drivers and all devices handled by the MMC subsystem. This includes not only MMC devices but also SD cards and other devices supported by the subsystem.
The framework provides a variety of tests to evaluate different aspects of the host controller and device interactions, such as read and write performance, data integrity, and error handling. These tests help ensure that the host controller drivers and devices operate correctly under various conditions.
The `mmc_test` framework is particularly useful for:
- Verifying the functionality and performance of MMC and SD host controller drivers.
- Ensuring compatibility and reliability of MMC and SD devices.
- Identifying and diagnosing issues in the MMC subsystem.
The results of the tests are logged in the kernel log, providing detailed information about the test outcomes and any encountered issues.
Note: whatever is on your card will be overwritten by these tests.
Initialization
==============
To use the ``mmc_test`` framework, follow these steps:
1. **Enable the MMC Test Framework**:
Ensure that the ``CONFIG_MMC_TEST`` kernel configuration option is enabled. This can be done by configuring the kernel:
.. code-block:: none
make menuconfig
Navigate to:
Device Drivers --->
<*> MMC/SD/SDIO card support --->
[*] MMC host test driver
Alternatively, you can enable it directly in the kernel configuration file:
.. code-block:: none
echo "CONFIG_MMC_TEST=y" >> .config
Rebuild and install the kernel if necessary.
2. **Load the MMC Test Module**:
If the ``mmc_test`` framework is built as a module, you need to load it using ``modprobe``:
.. code-block:: none
modprobe mmc_test
Binding the MMC Card for Testing
================================
To enable MMC testing, you need to unbind the MMC card from the ``mmcblk`` driver and bind it to the ``mmc_test`` driver. This allows the ``mmc_test`` framework to take control of the MMC card for testing purposes.
1. Identify the MMC card:
.. code-block:: sh
ls /sys/bus/mmc/devices/
This will list the MMC devices, such as ``mmc0:0001``.
Annotation
- Atlas domain: Support Tooling And Documentation / Documentation.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.