aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i2c/tda998x_drv.h
blob: e6c8dd5dbe2124e8ba5d198a75ea76227de03fa4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* tda998x private data */

struct tda998x_priv {
	struct i2c_client *cec;
	struct i2c_client *hdmi;
	uint16_t rev;
	uint8_t current_page;
	int dpms;
	bool is_hdmi_sink;
	u8 vip_cntrl_0;
	u8 vip_cntrl_1;
	u8 vip_cntrl_2;
	struct tda998x_encoder_params params;

	wait_queue_head_t wq_edid;
	volatile int wq_edid_wait;
	struct drm_encoder *encoder;

	u8 audio_ports[2];
	int audio_sample_format;
	int dai_id;			/* DAI ID when streaming active */

	u8 *eld;

	struct snd_pcm_hw_constraint_list rate_constraints;
};

int tda998x_codec_register(struct device *dev);
void tda998x_codec_unregister(struct device *dev);

void tda998x_audio_start(struct tda998x_priv *priv, int full);
void tda998x_audio_stop(struct tda998x_priv *priv);