drivers/gpu/drm/bridge/adv7511/adv7511.h
398
static inline struct adv7511 *bridge_to_adv7511(struct drm_bridge *bridge)
drivers/gpu/drm/bridge/adv7511/adv7511.h
400
return container_of(bridge, struct adv7511, bridge);
drivers/gpu/drm/bridge/adv7511/adv7511.h
410
int adv7511_cec_irq_process(struct adv7511 *adv7511, unsigned int irq1);
drivers/gpu/drm/bridge/adv7511/adv7511.h
418
void adv7533_dsi_power_on(struct adv7511 *adv);
drivers/gpu/drm/bridge/adv7511/adv7511.h
419
void adv7533_dsi_power_off(struct adv7511 *adv);
drivers/gpu/drm/bridge/adv7511/adv7511.h
420
void adv7533_dsi_config_timing_gen(struct adv7511 *adv);
drivers/gpu/drm/bridge/adv7511/adv7511.h
421
enum drm_mode_status adv7533_mode_valid(struct adv7511 *adv,
drivers/gpu/drm/bridge/adv7511/adv7511.h
423
int adv7533_patch_registers(struct adv7511 *adv);
drivers/gpu/drm/bridge/adv7511/adv7511.h
424
int adv7533_patch_cec_registers(struct adv7511 *adv);
drivers/gpu/drm/bridge/adv7511/adv7511.h
425
int adv7533_attach_dsi(struct adv7511 *adv);
drivers/gpu/drm/bridge/adv7511/adv7511.h
426
int adv7533_parse_dt(struct device_node *np, struct adv7511 *adv);
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
142
regmap_update_bits(adv7511->regmap, ADV7511_REG_AUDIO_SOURCE, 0x70,
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
144
regmap_update_bits(adv7511->regmap, ADV7511_REG_AUDIO_CONFIG, BIT(6),
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
146
regmap_update_bits(adv7511->regmap, ADV7511_REG_I2S_CONFIG, 0x03,
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
149
adv7511->audio_source = audio_source;
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
151
adv7511->f_audio = hparms->sample_rate;
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
153
adv7511_update_cts_n(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
155
regmap_update_bits(adv7511->regmap, ADV7511_REG_AUDIO_CFG3,
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
157
regmap_update_bits(adv7511->regmap, ADV7511_REG_I2C_FREQ_ID_CFG,
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
167
struct adv7511 *adv7511 = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
169
regmap_update_bits(adv7511->regmap, ADV7511_REG_AUDIO_CONFIG,
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
173
regmap_update_bits(adv7511->regmap, ADV7511_REG_INFOFRAME_UPDATE,
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
176
regmap_update_bits(adv7511->regmap, ADV7511_REG_PACKET_ENABLE1,
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
179
regmap_update_bits(adv7511->regmap, ADV7511_REG_PACKET_ENABLE1,
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
182
regmap_update_bits(adv7511->regmap, ADV7511_REG_AUDIO_CFG1,
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
185
regmap_update_bits(adv7511->regmap, ADV7511_REG_GC(0),
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
189
if (adv7511->audio_source == ADV7511_AUDIO_SOURCE_SPDIF)
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
190
regmap_update_bits(adv7511->regmap, ADV7511_REG_AUDIO_CONFIG,
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
199
struct adv7511 *adv7511 = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
201
if (adv7511->audio_source == ADV7511_AUDIO_SOURCE_SPDIF)
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
202
regmap_update_bits(adv7511->regmap, ADV7511_REG_AUDIO_CONFIG,
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
39
static int adv7511_update_cts_n(struct adv7511 *adv7511)
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
44
adv7511_calc_cts_n(adv7511->f_tmds, adv7511->f_audio, &cts, &n);
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
46
regmap_write(adv7511->regmap, ADV7511_REG_N0, (n >> 16) & 0xf);
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
47
regmap_write(adv7511->regmap, ADV7511_REG_N1, (n >> 8) & 0xff);
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
48
regmap_write(adv7511->regmap, ADV7511_REG_N2, n & 0xff);
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
50
regmap_write(adv7511->regmap, ADV7511_REG_CTS_MANUAL0,
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
52
regmap_write(adv7511->regmap, ADV7511_REG_CTS_MANUAL1,
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
54
regmap_write(adv7511->regmap, ADV7511_REG_CTS_MANUAL2,
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
65
struct adv7511 *adv7511 = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
110
regmap_read(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
117
regmap_update_bits(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
120
regmap_update_bits(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
123
drm_connector_hdmi_cec_received_msg(adv7511->cec_connector, &msg);
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
126
int adv7511_cec_irq_process(struct adv7511 *adv7511, unsigned int irq1)
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
128
unsigned int offset = adv7511->info->reg_cec_offset;
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
141
adv_cec_tx_raw_status(adv7511, irq1);
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
148
if (regmap_read(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
180
adv7511_cec_rx(adv7511, rx_buf);
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
188
struct adv7511 *adv7511 = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
189
unsigned int offset = adv7511->info->reg_cec_offset;
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
191
if (adv7511->i2c_cec == NULL)
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
194
if (!adv7511->cec_enabled_adap && enable) {
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
196
regmap_update_bits(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
200
regmap_write(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
202
regmap_write(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
205
regmap_update_bits(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
212
regmap_update_bits(adv7511->regmap,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
215
} else if (adv7511->cec_enabled_adap && !enable) {
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
216
regmap_update_bits(adv7511->regmap,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
219
regmap_update_bits(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
223
regmap_update_bits(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
226
adv7511->cec_valid_addrs = 0;
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
228
adv7511->cec_enabled_adap = enable;
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
234
struct adv7511 *adv7511 = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
235
unsigned int offset = adv7511->info->reg_cec_offset;
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
238
if (!adv7511->cec_enabled_adap)
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
242
regmap_update_bits(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
245
adv7511->cec_valid_addrs = 0;
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
250
bool is_valid = adv7511->cec_valid_addrs & (1 << i);
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
254
if (is_valid && adv7511->cec_addr[i] == addr)
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
262
adv7511->cec_addr[i] = addr;
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
263
adv7511->cec_valid_addrs |= 1 << i;
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
268
regmap_update_bits(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
272
regmap_update_bits(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
278
regmap_update_bits(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
282
regmap_update_bits(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
288
regmap_update_bits(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
292
regmap_update_bits(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
303
struct adv7511 *adv7511 = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
304
unsigned int offset = adv7511->info->reg_cec_offset;
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
313
regmap_update_bits(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
318
regmap_update_bits(adv7511->regmap, ADV7511_REG_INT(1), 0x38, 0x38);
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
322
regmap_write(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
327
regmap_write(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
330
regmap_write(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
335
static int adv7511_cec_parse_dt(struct device *dev, struct adv7511 *adv7511)
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
337
adv7511->cec_clk = devm_clk_get(dev, "cec");
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
338
if (IS_ERR(adv7511->cec_clk)) {
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
339
int ret = PTR_ERR(adv7511->cec_clk);
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
341
adv7511->cec_clk = NULL;
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
344
clk_prepare_enable(adv7511->cec_clk);
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
345
adv7511->cec_clk_freq = clk_get_rate(adv7511->cec_clk);
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
352
struct adv7511 *adv7511 = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
353
struct device *dev = &adv7511->i2c_main->dev;
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
354
unsigned int offset = adv7511->info->reg_cec_offset;
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
355
int ret = adv7511_cec_parse_dt(dev, adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
36
static void adv_cec_tx_raw_status(struct adv7511 *adv7511, u8 tx_raw_status)
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
360
adv7511->cec_connector = connector;
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
362
regmap_write(adv7511->regmap, ADV7511_REG_CEC_CTRL, 0);
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
364
regmap_write(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
366
regmap_write(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
370
regmap_write(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
373
regmap_write(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
375
((adv7511->cec_clk_freq / 750000) - 1) << 2);
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
38
unsigned int offset = adv7511->info->reg_cec_offset;
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
380
regmap_write(adv7511->regmap, ADV7511_REG_CEC_CTRL,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
41
if (regmap_read(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
49
drm_connector_hdmi_cec_transmit_attempt_done(adv7511->cec_connector,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
65
if (regmap_read(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
77
drm_connector_hdmi_cec_transmit_done(adv7511->cec_connector, status,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
83
drm_connector_hdmi_cec_transmit_attempt_done(adv7511->cec_connector,
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
89
static void adv7511_cec_rx(struct adv7511 *adv7511, int rx_buf)
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
91
unsigned int offset = adv7511->info->reg_cec_offset;
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c
97
if (regmap_read(adv7511->regmap_cec,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1052
static int adv7511_init_regulators(struct adv7511 *adv)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1075
static void adv7511_uninit_regulators(struct adv7511 *adv)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1083
struct adv7511 *adv7511 = i2c_get_clientdata(i2c);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1085
reg -= adv7511->info->reg_cec_offset;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1115
static int adv7511_init_cec_regmap(struct adv7511 *adv)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1234
struct adv7511 *adv7511;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1242
adv7511 = devm_drm_bridge_alloc(dev, struct adv7511, bridge,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1244
if (IS_ERR(adv7511))
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1245
return PTR_ERR(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1247
adv7511->i2c_main = i2c;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1248
adv7511->powered = false;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1249
adv7511->status = connector_status_disconnected;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1250
adv7511->info = i2c_get_match_data(i2c);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1255
&adv7511->next_bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1259
if (adv7511->info->link_config)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1262
ret = adv7533_parse_dt(dev->of_node, adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1266
ret = adv7511_init_regulators(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1276
adv7511->gpio_pd = devm_gpiod_get_optional(dev, "pd", GPIOD_OUT_HIGH);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1277
if (IS_ERR(adv7511->gpio_pd)) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1278
ret = PTR_ERR(adv7511->gpio_pd);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1282
if (adv7511->gpio_pd) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1284
gpiod_set_value_cansleep(adv7511->gpio_pd, 0);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1287
adv7511->regmap = devm_regmap_init_i2c(i2c, &adv7511_regmap_config);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1288
if (IS_ERR(adv7511->regmap)) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1289
ret = PTR_ERR(adv7511->regmap);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1293
ret = regmap_read(adv7511->regmap, ADV7511_REG_CHIP_REVISION, &val);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1298
if (adv7511->info->type == ADV7511)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1299
ret = regmap_register_patch(adv7511->regmap,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1303
ret = adv7533_patch_registers(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1307
adv7511_packet_disable(adv7511, 0xffff);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1309
adv7511->i2c_edid = i2c_new_ancillary_device(i2c, "edid",
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1311
if (IS_ERR(adv7511->i2c_edid)) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1312
ret = PTR_ERR(adv7511->i2c_edid);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1316
regmap_write(adv7511->regmap, ADV7511_REG_EDID_I2C_ADDR,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1317
adv7511->i2c_edid->addr << 1);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1319
adv7511->i2c_packet = i2c_new_ancillary_device(i2c, "packet",
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1321
if (IS_ERR(adv7511->i2c_packet)) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1322
ret = PTR_ERR(adv7511->i2c_packet);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1326
adv7511->regmap_packet = devm_regmap_init_i2c(adv7511->i2c_packet,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1328
if (IS_ERR(adv7511->regmap_packet)) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1329
ret = PTR_ERR(adv7511->regmap_packet);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1333
regmap_write(adv7511->regmap, ADV7511_REG_PACKET_I2C_ADDR,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1334
adv7511->i2c_packet->addr << 1);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1336
ret = adv7511_init_cec_regmap(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1340
INIT_WORK(&adv7511->hpd_work, adv7511_hpd_work);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1342
adv7511_power_off(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1344
i2c_set_clientdata(i2c, adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1346
if (adv7511->info->link_config)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1347
adv7511_set_link_config(adv7511, &link_config);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1349
regmap_write(adv7511->regmap, ADV7511_REG_CEC_CTRL,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1352
adv7511->bridge.ops = DRM_BRIDGE_OP_DETECT |
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1356
if (adv7511->i2c_main->irq)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1357
adv7511->bridge.ops |= DRM_BRIDGE_OP_HPD;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1359
adv7511->bridge.vendor = "Analog";
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1360
adv7511->bridge.product = adv7511->info->name;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1363
adv7511->bridge.ops |= DRM_BRIDGE_OP_HDMI_AUDIO;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1364
adv7511->bridge.hdmi_audio_dev = dev;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1365
adv7511->bridge.hdmi_audio_max_i2s_playback_channels = 2;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1366
adv7511->bridge.hdmi_audio_i2s_formats = (SNDRV_PCM_FMTBIT_S16_LE |
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1371
adv7511->bridge.hdmi_audio_spdif_playback = 1;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1372
adv7511->bridge.hdmi_audio_dai_port = 2;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1376
adv7511->bridge.ops |= DRM_BRIDGE_OP_HDMI_CEC_ADAPTER;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1377
adv7511->bridge.hdmi_cec_dev = dev;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1378
adv7511->bridge.hdmi_cec_adapter_name = dev_name(dev);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1379
adv7511->bridge.hdmi_cec_available_las = ADV7511_MAX_ADDRS;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1382
adv7511->bridge.of_node = dev->of_node;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1383
adv7511->bridge.type = DRM_MODE_CONNECTOR_HDMIA;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1385
drm_bridge_add(&adv7511->bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1388
init_waitqueue_head(&adv7511->wq);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1394
adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1399
if (adv7511->info->has_dsi) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1400
ret = adv7533_attach_dsi(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1408
drm_bridge_remove(&adv7511->bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1409
i2c_unregister_device(adv7511->i2c_cec);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1410
clk_disable_unprepare(adv7511->cec_clk);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1412
i2c_unregister_device(adv7511->i2c_packet);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1414
i2c_unregister_device(adv7511->i2c_edid);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1416
adv7511_uninit_regulators(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1418
of_node_put(adv7511->host_node);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1425
struct adv7511 *adv7511 = i2c_get_clientdata(i2c);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1427
of_node_put(adv7511->host_node);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1429
adv7511_uninit_regulators(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1431
drm_bridge_remove(&adv7511->bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1433
i2c_unregister_device(adv7511->i2c_cec);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1434
clk_disable_unprepare(adv7511->cec_clk);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1436
i2c_unregister_device(adv7511->i2c_packet);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1437
i2c_unregister_device(adv7511->i2c_edid);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
146
static void adv7511_set_colormap(struct adv7511 *adv7511, bool enable,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
152
regmap_update_bits(adv7511->regmap, ADV7511_REG_CSC_UPPER(1),
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
157
regmap_update_bits(adv7511->regmap,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
160
regmap_write(adv7511->regmap,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
167
regmap_update_bits(adv7511->regmap, ADV7511_REG_CSC_UPPER(0),
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
170
regmap_update_bits(adv7511->regmap, ADV7511_REG_CSC_UPPER(0),
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
173
regmap_update_bits(adv7511->regmap, ADV7511_REG_CSC_UPPER(1),
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
177
static int adv7511_packet_enable(struct adv7511 *adv7511, unsigned int packet)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
180
regmap_update_bits(adv7511->regmap, ADV7511_REG_PACKET_ENABLE0,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
185
regmap_update_bits(adv7511->regmap, ADV7511_REG_PACKET_ENABLE1,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
192
static int adv7511_packet_disable(struct adv7511 *adv7511, unsigned int packet)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
195
regmap_update_bits(adv7511->regmap, ADV7511_REG_PACKET_ENABLE0,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
200
regmap_update_bits(adv7511->regmap, ADV7511_REG_PACKET_ENABLE1,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
214
static void adv7511_set_config_csc(struct adv7511 *adv7511,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
248
adv7511_set_colormap(adv7511, config.csc_enable,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
252
regmap_update_bits(adv7511->regmap, ADV7511_REG_VIDEO_INPUT_CFG1, 0x81,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
255
regmap_update_bits(adv7511->regmap, ADV7511_REG_HDCP_HDMI_CFG,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
259
static void adv7511_set_link_config(struct adv7511 *adv7511,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
287
regmap_update_bits(adv7511->regmap, ADV7511_REG_I2C_FREQ_ID_CFG, 0xf,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
289
regmap_update_bits(adv7511->regmap, ADV7511_REG_VIDEO_INPUT_CFG1, 0x7e,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
292
regmap_write(adv7511->regmap, ADV7511_REG_VIDEO_INPUT_CFG2,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
294
regmap_write(adv7511->regmap, ADV7511_REG_TIMING_GEN_SEQ,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
297
regmap_write(adv7511->regmap, 0xba, clock_delay << 5);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
299
adv7511->embedded_sync = config->embedded_sync;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
300
adv7511->hsync_polarity = config->hsync_polarity;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
301
adv7511->vsync_polarity = config->vsync_polarity;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
302
adv7511->rgb = config->input_colorspace == HDMI_COLORSPACE_RGB;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
305
static void __adv7511_power_on(struct adv7511 *adv7511)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
307
adv7511->current_edid_segment = -1;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
309
regmap_update_bits(adv7511->regmap, ADV7511_REG_POWER,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
311
if (adv7511->i2c_main->irq) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
317
regmap_write(adv7511->regmap, ADV7511_REG_INT_ENABLE(0),
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
319
regmap_update_bits(adv7511->regmap,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
334
if (adv7511->info->hpd_override_enable)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
335
regmap_update_bits(adv7511->regmap, ADV7511_REG_POWER2,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
339
regmap_update_bits(adv7511->regmap, ADV7511_REG_POWER2,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
344
static void adv7511_power_on(struct adv7511 *adv7511)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
346
__adv7511_power_on(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
351
regcache_sync(adv7511->regmap);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
353
if (adv7511->info->has_dsi)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
354
adv7533_dsi_power_on(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
355
adv7511->powered = true;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
358
static void __adv7511_power_off(struct adv7511 *adv7511)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
361
if (adv7511->info->hpd_override_enable)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
362
regmap_update_bits(adv7511->regmap, ADV7511_REG_POWER2,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
365
regmap_update_bits(adv7511->regmap, ADV7511_REG_POWER,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
368
regmap_update_bits(adv7511->regmap,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
371
regcache_mark_dirty(adv7511->regmap);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
374
static void adv7511_power_off(struct adv7511 *adv7511)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
376
__adv7511_power_off(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
377
if (adv7511->info->has_dsi)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
378
adv7533_dsi_power_off(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
379
adv7511->powered = false;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
386
static bool adv7511_hpd(struct adv7511 *adv7511)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
391
ret = regmap_read(adv7511->regmap, ADV7511_REG_INT(0), &irq0);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
396
regmap_write(adv7511->regmap, ADV7511_REG_INT(0),
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
406
struct adv7511 *adv7511 = container_of(work, struct adv7511, hpd_work);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
411
ret = regmap_read(adv7511->regmap, ADV7511_REG_STATUS, &val);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
425
adv7511->status == connector_status_disconnected &&
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
426
adv7511->powered) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
427
regcache_mark_dirty(adv7511->regmap);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
428
adv7511_power_on(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
431
if (adv7511->status != status) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
432
adv7511->status = status;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
434
drm_bridge_hpd_notify(&adv7511->bridge, status);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
438
static int adv7511_irq_process(struct adv7511 *adv7511, bool process_hpd)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
445
ret = regmap_read(adv7511->regmap, ADV7511_REG_INT(0), &irq0);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
449
ret = regmap_read(adv7511->regmap, ADV7511_REG_INT(1), &irq1);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
453
regmap_write(adv7511->regmap, ADV7511_REG_INT(0), irq0);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
454
regmap_write(adv7511->regmap, ADV7511_REG_INT(1), irq1);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
456
if (process_hpd && irq0 & ADV7511_INT0_HPD && adv7511->bridge.encoder) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
457
schedule_work(&adv7511->hpd_work);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
462
adv7511->edid_read = true;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
464
if (adv7511->i2c_main->irq)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
465
wake_up_all(&adv7511->wq);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
470
cec_status = adv7511_cec_irq_process(adv7511, irq1);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
482
struct adv7511 *adv7511 = devid;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
485
ret = adv7511_irq_process(adv7511, true);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
493
static int adv7511_wait_for_edid(struct adv7511 *adv7511, int timeout)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
497
if (adv7511->i2c_main->irq) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
498
ret = wait_event_interruptible_timeout(adv7511->wq,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
499
adv7511->edid_read, msecs_to_jiffies(timeout));
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
502
ret = adv7511_irq_process(adv7511, false);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
506
if (adv7511->edid_read)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
513
return adv7511->edid_read ? 0 : -EIO;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
519
struct adv7511 *adv7511 = data;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
528
if (adv7511->current_edid_segment != block / 2) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
531
ret = regmap_read(adv7511->regmap, ADV7511_REG_DDC_STATUS,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
537
adv7511->edid_read = false;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
538
regmap_write(adv7511->regmap, ADV7511_REG_EDID_SEGMENT,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
540
ret = adv7511_wait_for_edid(adv7511, 200);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
549
xfer[0].addr = adv7511->i2c_edid->addr;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
553
xfer[1].addr = adv7511->i2c_edid->addr;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
556
xfer[1].buf = adv7511->edid_buf;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
561
ret = i2c_transfer(adv7511->i2c_edid->adapter, xfer,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
572
adv7511->current_edid_segment = block / 2;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
576
memcpy(buf, adv7511->edid_buf, len);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
578
memcpy(buf, adv7511->edid_buf + 128, len);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
587
static const struct drm_edid *adv7511_edid_read(struct adv7511 *adv7511,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
593
if (!adv7511->powered) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
595
(adv7511->i2c_edid->addr << 1);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
597
__adv7511_power_on(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
600
regmap_write(adv7511->regmap, ADV7511_REG_EDID_I2C_ADDR,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
604
drm_edid = drm_edid_read_custom(connector, adv7511_get_edid_block, adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
606
if (!adv7511->powered)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
607
__adv7511_power_off(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
613
adv7511_detect(struct adv7511 *adv7511)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
620
ret = regmap_read(adv7511->regmap, ADV7511_REG_STATUS, &val);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
629
hpd = adv7511_hpd(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
635
if (status == connector_status_connected && hpd && adv7511->powered) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
636
regcache_mark_dirty(adv7511->regmap);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
637
adv7511_power_on(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
638
if (adv7511->status == connector_status_connected)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
642
if (adv7511->info->hpd_override_enable)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
643
regmap_update_bits(adv7511->regmap, ADV7511_REG_POWER2,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
647
regmap_update_bits(adv7511->regmap, ADV7511_REG_POWER2,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
652
adv7511->status = status;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
656
static void adv7511_mode_set(struct adv7511 *adv7511,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
663
if (adv7511->embedded_sync) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
679
regmap_write(adv7511->regmap, ADV7511_REG_HSYNC_PLACEMENT_MSB,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
681
regmap_write(adv7511->regmap, ADV7511_REG_SYNC_DECODER(0),
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
683
regmap_write(adv7511->regmap, ADV7511_REG_SYNC_DECODER(1),
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
686
regmap_write(adv7511->regmap, ADV7511_REG_SYNC_DECODER(2),
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
689
regmap_write(adv7511->regmap, ADV7511_REG_SYNC_DECODER(3),
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
692
regmap_write(adv7511->regmap, ADV7511_REG_SYNC_DECODER(4),
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
716
if (adv7511->hsync_polarity != mode_hsync_polarity &&
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
717
adv7511->hsync_polarity !=
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
721
if (adv7511->vsync_polarity != mode_vsync_polarity &&
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
722
adv7511->vsync_polarity !=
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
736
if (adv7511->info->type == ADV7511)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
737
regmap_update_bits(adv7511->regmap, 0xfb,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
740
regmap_update_bits(adv7511->regmap, 0x4a,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
743
regmap_update_bits(adv7511->regmap, 0x17,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
746
drm_mode_copy(&adv7511->curr_mode, adj_mode);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
749
if (adv7511->info->has_dsi && adv7511->use_timing_gen)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
750
adv7533_dsi_config_timing_gen(adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
757
adv7511->f_tmds = adj_mode->clock;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
760
static int adv7511_connector_init(struct adv7511 *adv)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
780
static const struct adv7511 *bridge_to_adv7511_const(const struct drm_bridge *bridge)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
782
return container_of(bridge, struct adv7511, bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
788
struct adv7511 *adv = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
817
struct adv7511 *adv = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
827
const struct adv7511 *adv = bridge_to_adv7511_const(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
839
struct adv7511 *adv = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
851
struct adv7511 *adv = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
877
struct adv7511 *adv = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
885
struct adv7511 *adv = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
892
struct adv7511 *adv7511 = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
894
adv7511_packet_disable(adv7511, ADV7511_PACKET_ENABLE_AUDIO_INFOFRAME);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
901
struct adv7511 *adv7511 = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
903
adv7511_packet_disable(adv7511, ADV7511_PACKET_ENABLE_AVI_INFOFRAME);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
910
struct adv7511 *adv7511 = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
912
adv7511_packet_disable(adv7511, ADV7511_PACKET_ENABLE_SPD);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
919
struct adv7511 *adv7511 = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
921
adv7511_packet_disable(adv7511, ADV7511_PACKET_ENABLE_SPARE1);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
929
struct adv7511 *adv7511 = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
932
regmap_update_bits(adv7511->regmap, ADV7511_REG_INFOFRAME_UPDATE,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
936
regmap_bulk_write(adv7511->regmap, ADV7511_REG_AUDIO_INFOFRAME_VERSION,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
940
regmap_update_bits(adv7511->regmap, ADV7511_REG_INFOFRAME_UPDATE,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
943
adv7511_packet_enable(adv7511, ADV7511_PACKET_ENABLE_AUDIO_INFOFRAME);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
951
struct adv7511 *adv7511 = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
954
regmap_update_bits(adv7511->regmap, ADV7511_REG_INFOFRAME_UPDATE,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
958
regmap_bulk_write(adv7511->regmap, ADV7511_REG_AVI_INFOFRAME_VERSION,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
961
regmap_write(adv7511->regmap, ADV7511_REG_AUDIO_INFOFRAME_LENGTH, 0x2);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
962
regmap_write(adv7511->regmap, ADV7511_REG_AUDIO_INFOFRAME(1), 0x1);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
965
regmap_update_bits(adv7511->regmap, ADV7511_REG_INFOFRAME_UPDATE,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
968
adv7511_packet_enable(adv7511, ADV7511_PACKET_ENABLE_AVI_INFOFRAME);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
976
struct adv7511 *adv7511 = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
978
adv7511_packet_disable(adv7511, ADV7511_PACKET_ENABLE_SPD);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
979
regmap_bulk_write(adv7511->regmap_packet, ADV7511_PACKET_SPD(0),
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
981
adv7511_packet_enable(adv7511, ADV7511_PACKET_ENABLE_SPD);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
989
struct adv7511 *adv7511 = bridge_to_adv7511(bridge);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
991
adv7511_packet_disable(adv7511, ADV7511_PACKET_ENABLE_SPARE1);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
992
regmap_bulk_write(adv7511->regmap_packet, ADV7511_PACKET_SPARE1(0),
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
994
adv7511_packet_enable(adv7511, ADV7511_PACKET_ENABLE_SPARE1);
drivers/gpu/drm/bridge/adv7511/adv7533.c
100
enum drm_mode_status adv7533_mode_valid(struct adv7511 *adv,
drivers/gpu/drm/bridge/adv7511/adv7533.c
113
int adv7533_patch_registers(struct adv7511 *adv)
drivers/gpu/drm/bridge/adv7511/adv7533.c
120
int adv7533_patch_cec_registers(struct adv7511 *adv)
drivers/gpu/drm/bridge/adv7511/adv7533.c
127
int adv7533_attach_dsi(struct adv7511 *adv)
drivers/gpu/drm/bridge/adv7511/adv7533.c
162
int adv7533_parse_dt(struct device_node *np, struct adv7511 *adv)
drivers/gpu/drm/bridge/adv7511/adv7533.c
27
void adv7533_dsi_config_timing_gen(struct adv7511 *adv)
drivers/gpu/drm/bridge/adv7511/adv7533.c
66
void adv7533_dsi_power_on(struct adv7511 *adv)
drivers/gpu/drm/bridge/adv7511/adv7533.c
92
void adv7533_dsi_power_off(struct adv7511 *adv)