This series introduces a simulated MIPI DSI panel driver. Currently, the only way to validate DSI connectors is with a physical panel. Since obtaining physical panels for all possible DSI configurations is logistically infeasible, introduce a way for DSI drivers to simulate a panel. This will be helpful in catching DSI misconfiguration bugs and catching performance issues for high FPS panels that might not be easily obtainable. To configure and bind the sim panel, the user must: 1) modprobe the panel_simulation kernel module after the device boots to shell 2) Mount the configfs and create a test panel config group within the sim_panel configfs 3) Configure the sim panel 4) Enable the sim panel by writing the DSI device name to the `enable` node Currently, the sim panel driver supports configuring the supported DRM mode and DSI mode flags. Eventually, we would like to add more customizations (such as configuring DSC, dual DSI, etc.). TODOs once a general agreement has been reached on the configfs design: - Add documentation - Allow users to specify multiple supported DRM modes --- Changes in v2: - Use configfs framework for panel configuration - Move sim panel framework API calls from MSM DSI driver to DRM framework - Rebased to latest msm-next - Link to v1: https://lore.kernel.org/r/20240116-jz-test-sim-panel-v1-0-f9511f46c9c7@xxxxxxxxxxx --- Jessica Zhang (3): drm/panel: add driver for simulated panel drm/dsi: Add API to register simulated DSI panel drm/panel: Introduce simulated panel bridge API MAINTAINERS | 5 + drivers/gpu/drm/bridge/panel.c | 28 +++ drivers/gpu/drm/drm_mipi_dsi.c | 36 +++ drivers/gpu/drm/drm_panel.c | 33 +++ drivers/gpu/drm/panel/Kconfig | 9 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-simulation.c | 371 +++++++++++++++++++++++++++++++ include/drm/drm_bridge.h | 1 + include/drm/drm_panel.h | 1 + 9 files changed, 485 insertions(+) --- base-commit: 2023aaa11289cab27f69cf7e8111fd233cdf3170 change-id: 20240102-jz-test-sim-panel-71c14a56716e Best regards, -- Jessica Zhang <quic_jesszhan@xxxxxxxxxxx>