#include <linux/clk.h>
#include <linux/of.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_bridge_connector.h>
#include <drm/drm_simple_kms_helper.h>
#include "drm.h"
#include "dc.h"
struct tegra_rgb { … };
static inline struct tegra_rgb *to_rgb(struct tegra_output *output)
{ … }
struct reg_entry { … };
static const struct reg_entry rgb_enable[] = …;
static const struct reg_entry rgb_disable[] = …;
static void tegra_dc_write_regs(struct tegra_dc *dc,
const struct reg_entry *table,
unsigned int num)
{ … }
static void tegra_rgb_encoder_disable(struct drm_encoder *encoder)
{ … }
static void tegra_rgb_encoder_enable(struct drm_encoder *encoder)
{ … }
static bool tegra_rgb_pll_rate_change_allowed(struct tegra_rgb *rgb)
{ … }
static int
tegra_rgb_encoder_atomic_check(struct drm_encoder *encoder,
struct drm_crtc_state *crtc_state,
struct drm_connector_state *conn_state)
{ … }
static const struct drm_encoder_helper_funcs tegra_rgb_encoder_helper_funcs = …;
int tegra_dc_rgb_probe(struct tegra_dc *dc)
{ … }
void tegra_dc_rgb_remove(struct tegra_dc *dc)
{ … }
int tegra_dc_rgb_init(struct drm_device *drm, struct tegra_dc *dc)
{ … }
int tegra_dc_rgb_exit(struct tegra_dc *dc)
{ … }