#include "drm/drm_bridge_connector.h"
#include "msm_kms.h"
#include "dsi.h"
#define DSI_CLOCK_MASTER …
#define DSI_CLOCK_SLAVE …
#define DSI_LEFT …
#define DSI_RIGHT …
#define DSI_ENCODER_MASTER …
#define DSI_ENCODER_SLAVE …
struct msm_dsi_manager { … };
static struct msm_dsi_manager msm_dsim_glb;
#define IS_BONDED_DSI() …
#define IS_SYNC_NEEDED() …
#define IS_MASTER_DSI_LINK(id) …
static inline struct msm_dsi *dsi_mgr_get_dsi(int id)
{ … }
static inline struct msm_dsi *dsi_mgr_get_other_dsi(int id)
{ … }
static int dsi_mgr_parse_of(struct device_node *np, int id)
{ … }
static int dsi_mgr_setup_components(int id)
{ … }
static int enable_phy(struct msm_dsi *msm_dsi,
struct msm_dsi_phy_shared_timings *shared_timings)
{ … }
static int
dsi_mgr_phy_enable(int id,
struct msm_dsi_phy_shared_timings shared_timings[DSI_MAX])
{ … }
static void dsi_mgr_phy_disable(int id)
{ … }
struct dsi_bridge { … };
#define to_dsi_bridge(x) …
static int dsi_mgr_bridge_get_id(struct drm_bridge *bridge)
{ … }
static int dsi_mgr_bridge_power_on(struct drm_bridge *bridge)
{ … }
static void dsi_mgr_bridge_power_off(struct drm_bridge *bridge)
{ … }
static void dsi_mgr_bridge_pre_enable(struct drm_bridge *bridge)
{ … }
void msm_dsi_manager_tpg_enable(void)
{ … }
static void dsi_mgr_bridge_post_disable(struct drm_bridge *bridge)
{ … }
static void dsi_mgr_bridge_mode_set(struct drm_bridge *bridge,
const struct drm_display_mode *mode,
const struct drm_display_mode *adjusted_mode)
{ … }
static enum drm_mode_status dsi_mgr_bridge_mode_valid(struct drm_bridge *bridge,
const struct drm_display_info *info,
const struct drm_display_mode *mode)
{ … }
static int dsi_mgr_bridge_attach(struct drm_bridge *bridge,
enum drm_bridge_attach_flags flags)
{ … }
static const struct drm_bridge_funcs dsi_mgr_bridge_funcs = …;
int msm_dsi_manager_connector_init(struct msm_dsi *msm_dsi,
struct drm_encoder *encoder)
{ … }
int msm_dsi_manager_cmd_xfer(int id, const struct mipi_dsi_msg *msg)
{ … }
bool msm_dsi_manager_cmd_xfer_trigger(int id, u32 dma_base, u32 len)
{ … }
int msm_dsi_manager_register(struct msm_dsi *msm_dsi)
{ … }
void msm_dsi_manager_unregister(struct msm_dsi *msm_dsi)
{ … }
bool msm_dsi_is_bonded_dsi(struct msm_dsi *msm_dsi)
{ … }
bool msm_dsi_is_master_dsi(struct msm_dsi *msm_dsi)
{ … }
const char *msm_dsi_get_te_source(struct msm_dsi *msm_dsi)
{ … }