STRUCT MIPI_DSI_HOST_OPS(9)
β¨ struct mipi_dsi_host_ops(9) β¨
okay so welcome to the Kernel API Manual, bestie π«Ά β this page is all about struct mipi_dsi_host_ops, and it is literally the DSI bus operations vibe check π
β¨.
πΈ NAME πΈ
struct mipi_dsi_host_ops β DSI bus operations, no cap π
π SYNOPSIS π
here's the struct, bestie β keep these signatures exactly as they are:
struct mipi_dsi_host_ops {
int (*attach)(struct mipi_dsi_host *host, struct mipi_dsi_device *dsi);
int (*detach)(struct mipi_dsi_host *host, struct mipi_dsi_device *dsi);
ssize_t (*transfer)(struct mipi_dsi_host *host, const struct mipi_dsi_msg *msg);
};
π¦ Members π¦
attachβ attaches a DSI device to the DSI host, periodt πdetachβ detaches that DSI device from the DSI host, bye bestie π«Άtransferβ transmits a DSI packet, go off πβ¨
π Description π
okay so the DSI packets that get sent by .transfer are passed in as mipi_dsi_msg structures π¨β¨. that structure holds the info about what type of packet is being transmitted, plus the transmit and receive buffers, iykyk.
when there's an error during transmission, this function returns a negative error code π. on success, it shall return the number of bytes transmitted for write packets, or the number of bytes received for read packets π .
also important: typically DSI packet transmission is atomic, so the .transfer function will seldomly return anything other than the number of bytes contained in the transmit buffer on success. that's just how it is, fr fr.
and one more thing, bestie: those callbacks can be called no matter what state the host is in π. so drivers that need the underlying device to be powered in order to perform these operations will first need to make sure it has been properly enabled β‘π.
π SEE ALSO π
- Kernel file:
./include/drm/drm_mipi_dsi.h struct mipi_dsi_msg(9)struct mipi_dsi_packet(9)struct mipi_dsi_host(9)struct mipi_dsi_device_info(9)struct mipi_dsi_device(9)struct mipi_dsi_multi_context(9)mipi_dsi_pixel_format_to_bpp(9)enum mipi_dsi_dcs_tear_mode(9)mipi_dsi_generic_write_seq_multi(9)mipi_dsi_generic_write_var_seq_multi(9)mipi_dsi_dcs_write_seq_multi(9)mipi_dsi_dcs_write_var_seq_multi(9)mipi_dsi_dual(9)mipi_dsi_dual_generic_write_seq_multi(9)mipi_dsi_dual_dcs_write_seq_multi(9)struct mipi_dsi_driver(9)
byeeee bestie π this page's source/version is ./include/drm, dated October 2026 πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms