mirror of
https://github.com/torvalds/linux.git
synced 2024-11-30 16:11:38 +00:00
fa440d8703
In dual-link mode the LVDS0 encoder transmits even-numbered pixels, and sends odd-numbered pixels to the LVDS1 encoder for transmission on a separate link. To implement support for this mode of operation, determine if the LVDS connection operates in dual-link mode by querying the next device in the pipeline, locate the companion encoder, and control it directly through its bridge operations. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Tested-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Acked-by: Sam Ravnborg <sam@ravnborg.org> Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
33 lines
848 B
C
33 lines
848 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* rcar_lvds.h -- R-Car LVDS Encoder
|
|
*
|
|
* Copyright (C) 2013-2018 Renesas Electronics Corporation
|
|
*
|
|
* Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com)
|
|
*/
|
|
|
|
#ifndef __RCAR_LVDS_H__
|
|
#define __RCAR_LVDS_H__
|
|
|
|
struct drm_bridge;
|
|
|
|
#if IS_ENABLED(CONFIG_DRM_RCAR_LVDS)
|
|
int rcar_lvds_clk_enable(struct drm_bridge *bridge, unsigned long freq);
|
|
void rcar_lvds_clk_disable(struct drm_bridge *bridge);
|
|
bool rcar_lvds_dual_link(struct drm_bridge *bridge);
|
|
#else
|
|
static inline int rcar_lvds_clk_enable(struct drm_bridge *bridge,
|
|
unsigned long freq)
|
|
{
|
|
return -ENOSYS;
|
|
}
|
|
static inline void rcar_lvds_clk_disable(struct drm_bridge *bridge) { }
|
|
static inline bool rcar_lvds_dual_link(struct drm_bridge *bridge)
|
|
{
|
|
return false;
|
|
}
|
|
#endif /* CONFIG_DRM_RCAR_LVDS */
|
|
|
|
#endif /* __RCAR_LVDS_H__ */
|