Follow the example of mipi_dsi_generic_write_multi(), mipi_dsi_dcs_write_buffer_multi(), mipi_dsi_generic_write_seq_multi() and mipi_dsi_dcs_write_seq_multi(). Define _multi variants for several other common MIPI DSI functions and use these functions in the panel code. This series also includes a fix for the LG SW43408. If the proposed approach is declined, the fix will be submitted separately. Depends: - https://lore.kernel.org/dri-devel/20240508205222.2251854-1-dianders@xxxxxxxxxxxx/ - https://lore.kernel.org/dri-devel/20240511021326.288728-1-yangcong5@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> --- Changes in v2: - Rebased on top of Cong's series - Fixed mipi_dsi_compression_mode_ext_multi() docs (Doug) - Added do/while(0) wrapping to mipi_dsi_msleep() macro (Doug) - Inlined boe_panel_enter_sleep_mode(), ili9882t_enter_sleep_mode() (Doug) - Dropped error prints around nt36672e_on() and nt36672e_off() (Doug) - Link to v1: https://lore.kernel.org/r/20240510-dsi-panels-upd-api-v1-0-317c78a0dcc8@xxxxxxxxxx --- Dmitry Baryshkov (7): drm/panel: lg-sw43408: add missing error handling drm/mipi-dsi: wrap more functions for streamline handling drm/panel: boe-tv101wum-nl6: use wrapped MIPI DCS functions drm/panel: ilitek-ili9882t: use wrapped MIPI DCS functions drm/panel: innolux-p079zca: use mipi_dsi_dcs_nop_multi() drm/panel: novatek-nt36672e: use wrapped MIPI DCS functions drm/panel: lg-sw43408: use new streamlined MIPI DSI API drivers/gpu/drm/drm_mipi_dsi.c | 210 +++++++++ drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c | 81 +--- drivers/gpu/drm/panel/panel-ilitek-ili9882t.c | 48 +- drivers/gpu/drm/panel/panel-innolux-p079zca.c | 9 +- drivers/gpu/drm/panel/panel-lg-sw43408.c | 74 +-- drivers/gpu/drm/panel/panel-novatek-nt36672e.c | 597 ++++++++++++------------- include/drm/drm_mipi_dsi.h | 21 + 7 files changed, 583 insertions(+), 457 deletions(-) --- base-commit: 7dd7a948b03724e4c63271bd96830059bc62a1ef change-id: 20240510-dsi-panels-upd-api-479adb2b0e01 Best regards, -- Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>