Symbol: vc4_hdmi
drivers/gpu/drm/vc4/vc4_crtc.c
557
struct vc4_hdmi *vc4_hdmi;
drivers/gpu/drm/vc4/vc4_crtc.c
592
vc4_hdmi = encoder_to_vc4_hdmi(encoder);
drivers/gpu/drm/vc4/vc4_crtc.c
593
ret = pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev);
drivers/gpu/drm/vc4/vc4_hdmi.c
1005
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1141
static void vc5_hdmi_set_csc_coeffs(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.c
1144
lockdep_assert_held(&vc4_hdmi->hw_lock);
drivers/gpu/drm/vc4/vc4_hdmi.c
1154
static void vc5_hdmi_set_csc_coeffs_swap(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.c
1157
lockdep_assert_held(&vc4_hdmi->hw_lock);
drivers/gpu/drm/vc4/vc4_hdmi.c
1169
(*vc5_hdmi_find_yuv_csc_coeffs(struct vc4_hdmi *vc4_hdmi, u32 colorspace, bool limited))[4]
drivers/gpu/drm/vc4/vc4_hdmi.c
118
static bool vc4_hdmi_supports_scrambling(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
1196
static void vc5_hdmi_csc_setup(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.c
120
struct drm_display_info *display = &vc4_hdmi->connector.display_info;
drivers/gpu/drm/vc4/vc4_hdmi.c
1200
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
1214
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1218
csc = vc5_hdmi_find_yuv_csc_coeffs(vc4_hdmi, state->colorspace, !!lim_range);
drivers/gpu/drm/vc4/vc4_hdmi.c
122
lockdep_assert_held(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
1220
vc5_hdmi_set_csc_coeffs_swap(vc4_hdmi, csc);
drivers/gpu/drm/vc4/vc4_hdmi.c
1224
csc = vc5_hdmi_find_yuv_csc_coeffs(vc4_hdmi, state->colorspace, !!lim_range);
drivers/gpu/drm/vc4/vc4_hdmi.c
1237
vc5_hdmi_set_csc_coeffs(vc4_hdmi, csc);
drivers/gpu/drm/vc4/vc4_hdmi.c
1243
vc5_hdmi_set_csc_coeffs(vc4_hdmi, vc5_hdmi_csc_full_rgb_to_rgb[lim_range]);
drivers/gpu/drm/vc4/vc4_hdmi.c
1255
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1260
static void vc4_hdmi_set_timings(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.c
1264
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
1289
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1319
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1324
static void vc5_hdmi_set_timings(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.c
1328
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
1355
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1426
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1431
static void vc4_hdmi_recenter_fifo(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
1433
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
1442
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1452
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1456
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
146
struct vc4_hdmi *vc4_hdmi = entry->file.data;
drivers/gpu/drm/vc4/vc4_hdmi.c
1463
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
147
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
1476
struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
drivers/gpu/drm/vc4/vc4_hdmi.c
1477
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
1478
struct drm_connector *connector = &vc4_hdmi->connector;
drivers/gpu/drm/vc4/vc4_hdmi.c
1481
const struct drm_display_mode *mode = &vc4_hdmi->saved_adjusted_mode;
drivers/gpu/drm/vc4/vc4_hdmi.c
1488
mutex_lock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
1493
ret = pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev);
drivers/gpu/drm/vc4/vc4_hdmi.c
1518
ret = clk_set_min_rate(vc4_hdmi->hsm_clock, hsm_rate);
drivers/gpu/drm/vc4/vc4_hdmi.c
1524
ret = clk_set_rate(vc4_hdmi->pixel_clock, tmds_char_rate);
drivers/gpu/drm/vc4/vc4_hdmi.c
1530
ret = clk_prepare_enable(vc4_hdmi->pixel_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
1536
vc4_hdmi_cec_update_clk_div(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
154
WARN_ON(pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev));
drivers/gpu/drm/vc4/vc4_hdmi.c
1545
ret = clk_set_min_rate(vc4_hdmi->pixel_bvb_clock, bvb_rate);
drivers/gpu/drm/vc4/vc4_hdmi.c
1551
ret = clk_prepare_enable(vc4_hdmi->pixel_bvb_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
1557
if (vc4_hdmi->variant->phy_init)
drivers/gpu/drm/vc4/vc4_hdmi.c
1558
vc4_hdmi->variant->phy_init(vc4_hdmi, conn_state);
drivers/gpu/drm/vc4/vc4_hdmi.c
156
drm_print_regset32(&p, &vc4_hdmi->hdmi_regset);
drivers/gpu/drm/vc4/vc4_hdmi.c
1560
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1567
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1569
if (vc4_hdmi->variant->set_timings)
drivers/gpu/drm/vc4/vc4_hdmi.c
157
drm_print_regset32(&p, &vc4_hdmi->hd_regset);
drivers/gpu/drm/vc4/vc4_hdmi.c
1570
vc4_hdmi->variant->set_timings(vc4_hdmi, conn_state, mode);
drivers/gpu/drm/vc4/vc4_hdmi.c
1574
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
1579
clk_disable_unprepare(vc4_hdmi->pixel_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
158
drm_print_regset32(&p, &vc4_hdmi->cec_regset);
drivers/gpu/drm/vc4/vc4_hdmi.c
1581
pm_runtime_put(&vc4_hdmi->pdev->dev);
drivers/gpu/drm/vc4/vc4_hdmi.c
1585
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
159
drm_print_regset32(&p, &vc4_hdmi->csc_regset);
drivers/gpu/drm/vc4/vc4_hdmi.c
1592
struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
drivers/gpu/drm/vc4/vc4_hdmi.c
1593
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
1594
struct drm_connector *connector = &vc4_hdmi->connector;
drivers/gpu/drm/vc4/vc4_hdmi.c
1595
const struct drm_display_mode *mode = &vc4_hdmi->saved_adjusted_mode;
drivers/gpu/drm/vc4/vc4_hdmi.c
160
drm_print_regset32(&p, &vc4_hdmi->dvp_regset);
drivers/gpu/drm/vc4/vc4_hdmi.c
1601
mutex_lock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
1606
if (vc4_hdmi->variant->csc_setup)
drivers/gpu/drm/vc4/vc4_hdmi.c
1607
vc4_hdmi->variant->csc_setup(vc4_hdmi, conn_state, mode);
drivers/gpu/drm/vc4/vc4_hdmi.c
1609
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
161
drm_print_regset32(&p, &vc4_hdmi->phy_regset);
drivers/gpu/drm/vc4/vc4_hdmi.c
1611
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1616
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
162
drm_print_regset32(&p, &vc4_hdmi->ram_regset);
drivers/gpu/drm/vc4/vc4_hdmi.c
1622
struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
drivers/gpu/drm/vc4/vc4_hdmi.c
1623
struct drm_connector *connector = &vc4_hdmi->connector;
drivers/gpu/drm/vc4/vc4_hdmi.c
1625
const struct drm_display_mode *mode = &vc4_hdmi->saved_adjusted_mode;
drivers/gpu/drm/vc4/vc4_hdmi.c
1626
struct drm_display_info *display = &vc4_hdmi->connector.display_info;
drivers/gpu/drm/vc4/vc4_hdmi.c
163
drm_print_regset32(&p, &vc4_hdmi->rm_regset);
drivers/gpu/drm/vc4/vc4_hdmi.c
1633
mutex_lock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
1638
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
165
pm_runtime_put(&vc4_hdmi->pdev->dev);
drivers/gpu/drm/vc4/vc4_hdmi.c
1659
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1673
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1682
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1690
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1691
vc4_hdmi->packet_ram_enabled = true;
drivers/gpu/drm/vc4/vc4_hdmi.c
1696
vc4_hdmi_recenter_fifo(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
1702
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
1709
struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
drivers/gpu/drm/vc4/vc4_hdmi.c
1711
mutex_lock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
1712
drm_mode_copy(&vc4_hdmi->saved_adjusted_mode,
drivers/gpu/drm/vc4/vc4_hdmi.c
1714
vc4_hdmi->output_bpc = conn_state->hdmi.output_bpc;
drivers/gpu/drm/vc4/vc4_hdmi.c
1715
vc4_hdmi->output_format = conn_state->hdmi.output_format;
drivers/gpu/drm/vc4/vc4_hdmi.c
1716
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
172
static void vc4_hdmi_reset(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
1724
const struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector);
drivers/gpu/drm/vc4/vc4_hdmi.c
1727
if (clock > vc4_hdmi->variant->max_pixel_clock)
drivers/gpu/drm/vc4/vc4_hdmi.c
174
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
1773
struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
drivers/gpu/drm/vc4/vc4_hdmi.c
1778
if (vc4_hdmi->variant->unsupported_odd_h_timings) {
drivers/gpu/drm/vc4/vc4_hdmi.c
1805
if (vc4_hdmi->disable_wifi_frequencies &&
drivers/gpu/drm/vc4/vc4_hdmi.c
1819
struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
drivers/gpu/drm/vc4/vc4_hdmi.c
1821
if (vc4_hdmi->variant->unsupported_odd_h_timings &&
drivers/gpu/drm/vc4/vc4_hdmi.c
1839
struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
drivers/gpu/drm/vc4/vc4_hdmi.c
1840
const struct vc4_hdmi_variant *variant = vc4_hdmi->variant;
drivers/gpu/drm/vc4/vc4_hdmi.c
1843
vc4_hdmi_debugfs_regs, vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
185
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1852
static u32 vc4_hdmi_channel_map(struct vc4_hdmi *vc4_hdmi, u32 channel_mask)
drivers/gpu/drm/vc4/vc4_hdmi.c
1864
static u32 vc5_hdmi_channel_map(struct vc4_hdmi *vc4_hdmi, u32 channel_mask)
drivers/gpu/drm/vc4/vc4_hdmi.c
1876
static bool vc5_hdmi_hp_detect(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
1878
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
1886
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1888
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1896
static void vc4_hdmi_audio_set_mai_clock(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.c
1899
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
1908
hsm_clock = clk_get_rate(vc4_hdmi->audio_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
1916
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1920
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1925
static void vc4_hdmi_set_n_cts(struct vc4_hdmi *vc4_hdmi, unsigned int samplerate)
drivers/gpu/drm/vc4/vc4_hdmi.c
1927
const struct drm_display_mode *mode = &vc4_hdmi->saved_adjusted_mode;
drivers/gpu/drm/vc4/vc4_hdmi.c
1931
lockdep_assert_held(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
1932
lockdep_assert_held(&vc4_hdmi->hw_lock);
drivers/gpu/drm/vc4/vc4_hdmi.c
1952
static inline struct vc4_hdmi *dai_to_hdmi(struct snd_soc_dai *dai)
drivers/gpu/drm/vc4/vc4_hdmi.c
1959
static bool vc4_hdmi_audio_can_stream(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
1961
struct drm_display_info *display = &vc4_hdmi->connector.display_info;
drivers/gpu/drm/vc4/vc4_hdmi.c
1963
lockdep_assert_held(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
1977
struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector);
drivers/gpu/drm/vc4/vc4_hdmi.c
1978
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
1983
mutex_lock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
199
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
1990
if (!vc4_hdmi_audio_can_stream(vc4_hdmi)) {
drivers/gpu/drm/vc4/vc4_hdmi.c
1995
vc4_hdmi->audio.streaming = true;
drivers/gpu/drm/vc4/vc4_hdmi.c
1997
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2004
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2006
if (vc4_hdmi->variant->phy_rng_enable)
drivers/gpu/drm/vc4/vc4_hdmi.c
2007
vc4_hdmi->variant->phy_rng_enable(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
2012
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
2017
static void vc4_hdmi_audio_reset(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
2019
struct device *dev = &vc4_hdmi->pdev->dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
2023
lockdep_assert_held(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
2025
vc4_hdmi->audio.streaming = false;
drivers/gpu/drm/vc4/vc4_hdmi.c
2026
ret = vc4_hdmi_stop_packet(vc4_hdmi, HDMI_INFOFRAME_TYPE_AUDIO, false);
drivers/gpu/drm/vc4/vc4_hdmi.c
2030
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2036
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2041
struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector);
drivers/gpu/drm/vc4/vc4_hdmi.c
2042
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
2046
mutex_lock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
205
static void vc5_hdmi_reset(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
2051
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2058
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2060
if (vc4_hdmi->variant->phy_rng_disable)
drivers/gpu/drm/vc4/vc4_hdmi.c
2061
vc4_hdmi->variant->phy_rng_disable(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
2063
vc4_hdmi->audio.streaming = false;
drivers/gpu/drm/vc4/vc4_hdmi.c
2064
vc4_hdmi_audio_reset(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
2069
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
207
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
2115
struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector);
drivers/gpu/drm/vc4/vc4_hdmi.c
2116
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
2128
dev_dbg(&vc4_hdmi->pdev->dev, "%s: %u Hz, %d bit, %d channels\n", __func__,
drivers/gpu/drm/vc4/vc4_hdmi.c
2131
mutex_lock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
2138
if (!vc4_hdmi_audio_can_stream(vc4_hdmi)) {
drivers/gpu/drm/vc4/vc4_hdmi.c
2143
vc4_hdmi_audio_set_mai_clock(vc4_hdmi, sample_rate);
drivers/gpu/drm/vc4/vc4_hdmi.c
2145
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
218
reset_control_reset(vc4_hdmi->reset);
drivers/gpu/drm/vc4/vc4_hdmi.c
220
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2208
channel_map = vc4_hdmi->variant->channel_map(vc4_hdmi, channel_mask);
drivers/gpu/drm/vc4/vc4_hdmi.c
2212
vc4_hdmi_set_n_cts(vc4_hdmi, sample_rate);
drivers/gpu/drm/vc4/vc4_hdmi.c
2214
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2224
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
2236
struct vc4_hdmi *vc4_hdmi = dai_to_hdmi(dai);
drivers/gpu/drm/vc4/vc4_hdmi.c
2238
snd_soc_dai_init_dma_data(dai, &vc4_hdmi->audio.dma_data, NULL);
drivers/gpu/drm/vc4/vc4_hdmi.c
227
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2275
struct vc4_hdmi *vc4_hdmi = snd_soc_card_get_drvdata(rtd->card);
drivers/gpu/drm/vc4/vc4_hdmi.c
2280
&vc4_hdmi->hdmi_jack);
drivers/gpu/drm/vc4/vc4_hdmi.c
2286
return snd_soc_component_set_jack(component, &vc4_hdmi->hdmi_jack, NULL);
drivers/gpu/drm/vc4/vc4_hdmi.c
2289
static int vc4_hdmi_audio_init(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
2292
&vc4_hdmi->variant->registers[HDMI_MAI_DATA];
drivers/gpu/drm/vc4/vc4_hdmi.c
2293
struct snd_soc_dai_link *dai_link = &vc4_hdmi->audio.link;
drivers/gpu/drm/vc4/vc4_hdmi.c
2294
struct snd_soc_card *card = &vc4_hdmi->audio.card;
drivers/gpu/drm/vc4/vc4_hdmi.c
2295
struct device *dev = &vc4_hdmi->pdev->dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
2318
BUILD_BUG_ON(offsetof(struct vc4_hdmi, audio) != 0);
drivers/gpu/drm/vc4/vc4_hdmi.c
234
static void vc4_hdmi_cec_update_clk_div(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
2347
vc4_hdmi->audio.dma_data.addr = be32_to_cpup(addr) + mai_data->offset;
drivers/gpu/drm/vc4/vc4_hdmi.c
2348
vc4_hdmi->audio.dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
drivers/gpu/drm/vc4/vc4_hdmi.c
2349
vc4_hdmi->audio.dma_data.maxburst = 2;
drivers/gpu/drm/vc4/vc4_hdmi.c
236
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
2388
ret = drm_connector_hdmi_audio_init(&vc4_hdmi->connector, dev,
drivers/gpu/drm/vc4/vc4_hdmi.c
2394
dai_link->cpus = &vc4_hdmi->audio.cpu;
drivers/gpu/drm/vc4/vc4_hdmi.c
2395
dai_link->codecs = &vc4_hdmi->audio.codec;
drivers/gpu/drm/vc4/vc4_hdmi.c
2396
dai_link->platforms = &vc4_hdmi->audio.platform;
drivers/gpu/drm/vc4/vc4_hdmi.c
2406
dai_link->codecs->name = dev_name(&vc4_hdmi->connector.hdmi_audio.codec_pdev->dev);
drivers/gpu/drm/vc4/vc4_hdmi.c
2412
card->name = vc4_hdmi->variant->card_name;
drivers/gpu/drm/vc4/vc4_hdmi.c
2424
snd_soc_card_set_drvdata(card, vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
2435
struct vc4_hdmi *vc4_hdmi = priv;
drivers/gpu/drm/vc4/vc4_hdmi.c
2436
struct drm_connector *connector = &vc4_hdmi->connector;
drivers/gpu/drm/vc4/vc4_hdmi.c
2445
static int vc4_hdmi_hotplug_init(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
2447
struct drm_connector *connector = &vc4_hdmi->connector;
drivers/gpu/drm/vc4/vc4_hdmi.c
2448
struct platform_device *pdev = vc4_hdmi->pdev;
drivers/gpu/drm/vc4/vc4_hdmi.c
2451
if (vc4_hdmi->variant->external_irq_controller) {
drivers/gpu/drm/vc4/vc4_hdmi.c
2460
"vc4 hdmi hpd connected", vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
2471
"vc4 hdmi hpd disconnected", vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
2484
struct vc4_hdmi *vc4_hdmi = priv;
drivers/gpu/drm/vc4/vc4_hdmi.c
2486
if (vc4_hdmi->cec_rx_msg.len)
drivers/gpu/drm/vc4/vc4_hdmi.c
2487
drm_connector_hdmi_cec_received_msg(&vc4_hdmi->connector,
drivers/gpu/drm/vc4/vc4_hdmi.c
2488
&vc4_hdmi->cec_rx_msg);
drivers/gpu/drm/vc4/vc4_hdmi.c
2495
struct vc4_hdmi *vc4_hdmi = priv;
drivers/gpu/drm/vc4/vc4_hdmi.c
2497
if (vc4_hdmi->cec_tx_ok) {
drivers/gpu/drm/vc4/vc4_hdmi.c
2498
drm_connector_hdmi_cec_transmit_done(&vc4_hdmi->connector,
drivers/gpu/drm/vc4/vc4_hdmi.c
2506
drm_connector_hdmi_cec_transmit_done(&vc4_hdmi->connector,
drivers/gpu/drm/vc4/vc4_hdmi.c
2515
struct vc4_hdmi *vc4_hdmi = priv;
drivers/gpu/drm/vc4/vc4_hdmi.c
2518
if (vc4_hdmi->cec_irq_was_rx)
drivers/gpu/drm/vc4/vc4_hdmi.c
252
cec_rate = clk_get_rate(vc4_hdmi->cec_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
2526
static void vc4_cec_read_msg(struct vc4_hdmi *vc4_hdmi, u32 cntrl1)
drivers/gpu/drm/vc4/vc4_hdmi.c
2528
struct drm_device *dev = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
2529
struct cec_msg *msg = &vc4_hdmi->cec_rx_msg;
drivers/gpu/drm/vc4/vc4_hdmi.c
2532
lockdep_assert_held(&vc4_hdmi->hw_lock);
drivers/gpu/drm/vc4/vc4_hdmi.c
254
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2552
static irqreturn_t vc4_cec_irq_handler_tx_bare_locked(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
2567
lockdep_assert_held(&vc4_hdmi->hw_lock);
drivers/gpu/drm/vc4/vc4_hdmi.c
2570
vc4_hdmi->cec_tx_ok = cntrl1 & VC4_HDMI_CEC_TX_STATUS_GOOD;
drivers/gpu/drm/vc4/vc4_hdmi.c
2579
struct vc4_hdmi *vc4_hdmi = priv;
drivers/gpu/drm/vc4/vc4_hdmi.c
2582
spin_lock(&vc4_hdmi->hw_lock);
drivers/gpu/drm/vc4/vc4_hdmi.c
2583
ret = vc4_cec_irq_handler_tx_bare_locked(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
2584
spin_unlock(&vc4_hdmi->hw_lock);
drivers/gpu/drm/vc4/vc4_hdmi.c
2589
static irqreturn_t vc4_cec_irq_handler_rx_bare_locked(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
2593
lockdep_assert_held(&vc4_hdmi->hw_lock);
drivers/gpu/drm/vc4/vc4_hdmi.c
2606
vc4_hdmi->cec_rx_msg.len = 0;
drivers/gpu/drm/vc4/vc4_hdmi.c
2608
vc4_cec_read_msg(vc4_hdmi, cntrl1);
drivers/gpu/drm/vc4/vc4_hdmi.c
2620
struct vc4_hdmi *vc4_hdmi = priv;
drivers/gpu/drm/vc4/vc4_hdmi.c
2623
spin_lock(&vc4_hdmi->hw_lock);
drivers/gpu/drm/vc4/vc4_hdmi.c
2624
ret = vc4_cec_irq_handler_rx_bare_locked(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
2625
spin_unlock(&vc4_hdmi->hw_lock);
drivers/gpu/drm/vc4/vc4_hdmi.c
2632
struct vc4_hdmi *vc4_hdmi = priv;
drivers/gpu/drm/vc4/vc4_hdmi.c
2651
spin_lock(&vc4_hdmi->hw_lock);
drivers/gpu/drm/vc4/vc4_hdmi.c
2653
vc4_hdmi->cec_irq_was_rx = cntrl5 & VC4_HDMI_CEC_RX_CEC_INT;
drivers/gpu/drm/vc4/vc4_hdmi.c
2654
if (vc4_hdmi->cec_irq_was_rx)
drivers/gpu/drm/vc4/vc4_hdmi.c
2655
ret = vc4_cec_irq_handler_rx_bare_locked(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
2657
ret = vc4_cec_irq_handler_tx_bare_locked(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
2660
spin_unlock(&vc4_hdmi->hw_lock);
drivers/gpu/drm/vc4/vc4_hdmi.c
2667
struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector);
drivers/gpu/drm/vc4/vc4_hdmi.c
2668
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
267
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2684
ret = pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev);
drivers/gpu/drm/vc4/vc4_hdmi.c
2690
mutex_lock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
2692
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2721
if (!vc4_hdmi->variant->external_irq_controller)
drivers/gpu/drm/vc4/vc4_hdmi.c
2724
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2726
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
273
static void vc4_hdmi_cec_update_clk_div(struct vc4_hdmi *vc4_hdmi) {}
drivers/gpu/drm/vc4/vc4_hdmi.c
2734
struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector);
drivers/gpu/drm/vc4/vc4_hdmi.c
2735
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
2747
mutex_lock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
2749
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2751
if (!vc4_hdmi->variant->external_irq_controller)
drivers/gpu/drm/vc4/vc4_hdmi.c
2757
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2759
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
2761
pm_runtime_put(&vc4_hdmi->pdev->dev);
drivers/gpu/drm/vc4/vc4_hdmi.c
2778
struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector);
drivers/gpu/drm/vc4/vc4_hdmi.c
2779
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
2791
mutex_lock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
2792
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2796
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2797
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
280
struct vc4_hdmi *vc4_hdmi;
drivers/gpu/drm/vc4/vc4_hdmi.c
2807
struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector);
drivers/gpu/drm/vc4/vc4_hdmi.c
2808
struct drm_device *dev = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
2823
mutex_lock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
2825
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2843
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
2844
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
2852
struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector);
drivers/gpu/drm/vc4/vc4_hdmi.c
2853
struct platform_device *pdev = vc4_hdmi->pdev;
drivers/gpu/drm/vc4/vc4_hdmi.c
2857
if (vc4_hdmi->variant->external_irq_controller) {
drivers/gpu/drm/vc4/vc4_hdmi.c
2861
"vc4 hdmi cec rx", vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
2868
"vc4 hdmi cec tx", vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
2875
"vc4 hdmi cec", vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
2890
static int vc4_hdmi_cec_register(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
2892
struct platform_device *pdev = vc4_hdmi->pdev;
drivers/gpu/drm/vc4/vc4_hdmi.c
2919
return drmm_connector_hdmi_cec_register(&vc4_hdmi->connector,
drivers/gpu/drm/vc4/vc4_hdmi.c
2921
vc4_hdmi->variant->card_name,
drivers/gpu/drm/vc4/vc4_hdmi.c
2926
static int vc4_hdmi_cec_register(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
2940
struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.c
2944
const struct vc4_hdmi_variant *variant = vc4_hdmi->variant;
drivers/gpu/drm/vc4/vc4_hdmi.c
2969
regset->base = __vc4_hdmi_get_field_base(vc4_hdmi, reg);
drivers/gpu/drm/vc4/vc4_hdmi.c
2981
struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
2983
struct platform_device *pdev = vc4_hdmi->pdev;
drivers/gpu/drm/vc4/vc4_hdmi.c
2987
vc4_hdmi->hdmicore_regs = vc4_ioremap_regs(pdev, 0);
drivers/gpu/drm/vc4/vc4_hdmi.c
2988
if (IS_ERR(vc4_hdmi->hdmicore_regs))
drivers/gpu/drm/vc4/vc4_hdmi.c
2989
return PTR_ERR(vc4_hdmi->hdmicore_regs);
drivers/gpu/drm/vc4/vc4_hdmi.c
2991
vc4_hdmi->hd_regs = vc4_ioremap_regs(pdev, 1);
drivers/gpu/drm/vc4/vc4_hdmi.c
2992
if (IS_ERR(vc4_hdmi->hd_regs))
drivers/gpu/drm/vc4/vc4_hdmi.c
2993
return PTR_ERR(vc4_hdmi->hd_regs);
drivers/gpu/drm/vc4/vc4_hdmi.c
2995
ret = vc4_hdmi_build_regset(drm, vc4_hdmi, &vc4_hdmi->hd_regset, VC4_HD);
drivers/gpu/drm/vc4/vc4_hdmi.c
2999
ret = vc4_hdmi_build_regset(drm, vc4_hdmi, &vc4_hdmi->hdmi_regset, VC4_HDMI);
drivers/gpu/drm/vc4/vc4_hdmi.c
3003
vc4_hdmi->pixel_clock = devm_clk_get(dev, "pixel");
drivers/gpu/drm/vc4/vc4_hdmi.c
3004
if (IS_ERR(vc4_hdmi->pixel_clock)) {
drivers/gpu/drm/vc4/vc4_hdmi.c
3005
ret = PTR_ERR(vc4_hdmi->pixel_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
3011
vc4_hdmi->hsm_clock = devm_clk_get(dev, "hdmi");
drivers/gpu/drm/vc4/vc4_hdmi.c
3012
if (IS_ERR(vc4_hdmi->hsm_clock)) {
drivers/gpu/drm/vc4/vc4_hdmi.c
3014
return PTR_ERR(vc4_hdmi->hsm_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
3016
vc4_hdmi->audio_clock = vc4_hdmi->hsm_clock;
drivers/gpu/drm/vc4/vc4_hdmi.c
3017
vc4_hdmi->cec_clock = vc4_hdmi->hsm_clock;
drivers/gpu/drm/vc4/vc4_hdmi.c
3023
struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
3025
struct platform_device *pdev = vc4_hdmi->pdev;
drivers/gpu/drm/vc4/vc4_hdmi.c
3030
vc4_hdmi->hdmicore_regs = devm_platform_ioremap_resource_byname(pdev,
drivers/gpu/drm/vc4/vc4_hdmi.c
3032
if (IS_ERR(vc4_hdmi->hdmicore_regs))
drivers/gpu/drm/vc4/vc4_hdmi.c
3033
return PTR_ERR(vc4_hdmi->hdmicore_regs);
drivers/gpu/drm/vc4/vc4_hdmi.c
3044
vc4_hdmi->hd_regs = devm_ioremap(dev, res->start, resource_size(res));
drivers/gpu/drm/vc4/vc4_hdmi.c
3045
if (!vc4_hdmi->hd_regs)
drivers/gpu/drm/vc4/vc4_hdmi.c
3048
vc4_hdmi->cec_regs = devm_platform_ioremap_resource_byname(pdev,
drivers/gpu/drm/vc4/vc4_hdmi.c
3050
if (IS_ERR(vc4_hdmi->cec_regs))
drivers/gpu/drm/vc4/vc4_hdmi.c
3051
return PTR_ERR(vc4_hdmi->cec_regs);
drivers/gpu/drm/vc4/vc4_hdmi.c
3053
vc4_hdmi->csc_regs = devm_platform_ioremap_resource_byname(pdev,
drivers/gpu/drm/vc4/vc4_hdmi.c
3055
if (IS_ERR(vc4_hdmi->csc_regs))
drivers/gpu/drm/vc4/vc4_hdmi.c
3056
return PTR_ERR(vc4_hdmi->csc_regs);
drivers/gpu/drm/vc4/vc4_hdmi.c
3058
vc4_hdmi->dvp_regs = devm_platform_ioremap_resource_byname(pdev,
drivers/gpu/drm/vc4/vc4_hdmi.c
3060
if (IS_ERR(vc4_hdmi->dvp_regs))
drivers/gpu/drm/vc4/vc4_hdmi.c
3061
return PTR_ERR(vc4_hdmi->dvp_regs);
drivers/gpu/drm/vc4/vc4_hdmi.c
3063
vc4_hdmi->phy_regs = devm_platform_ioremap_resource_byname(pdev,
drivers/gpu/drm/vc4/vc4_hdmi.c
3066
if (IS_ERR(vc4_hdmi->phy_regs))
drivers/gpu/drm/vc4/vc4_hdmi.c
3067
return PTR_ERR(vc4_hdmi->phy_regs);
drivers/gpu/drm/vc4/vc4_hdmi.c
3069
vc4_hdmi->ram_regs = devm_platform_ioremap_resource_byname(pdev,
drivers/gpu/drm/vc4/vc4_hdmi.c
3071
if (IS_ERR(vc4_hdmi->ram_regs))
drivers/gpu/drm/vc4/vc4_hdmi.c
3072
return PTR_ERR(vc4_hdmi->ram_regs);
drivers/gpu/drm/vc4/vc4_hdmi.c
3074
vc4_hdmi->rm_regs = devm_platform_ioremap_resource_byname(pdev, "rm");
drivers/gpu/drm/vc4/vc4_hdmi.c
3075
if (IS_ERR(vc4_hdmi->rm_regs))
drivers/gpu/drm/vc4/vc4_hdmi.c
3076
return PTR_ERR(vc4_hdmi->rm_regs);
drivers/gpu/drm/vc4/vc4_hdmi.c
3078
vc4_hdmi->hsm_clock = devm_clk_get(dev, "hdmi");
drivers/gpu/drm/vc4/vc4_hdmi.c
3079
if (IS_ERR(vc4_hdmi->hsm_clock)) {
drivers/gpu/drm/vc4/vc4_hdmi.c
3081
return PTR_ERR(vc4_hdmi->hsm_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
3084
vc4_hdmi->pixel_bvb_clock = devm_clk_get(dev, "bvb");
drivers/gpu/drm/vc4/vc4_hdmi.c
3085
if (IS_ERR(vc4_hdmi->pixel_bvb_clock)) {
drivers/gpu/drm/vc4/vc4_hdmi.c
3087
return PTR_ERR(vc4_hdmi->pixel_bvb_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
309
vc4_hdmi = connector_to_vc4_hdmi(connector);
drivers/gpu/drm/vc4/vc4_hdmi.c
3090
vc4_hdmi->audio_clock = devm_clk_get(dev, "audio");
drivers/gpu/drm/vc4/vc4_hdmi.c
3091
if (IS_ERR(vc4_hdmi->audio_clock)) {
drivers/gpu/drm/vc4/vc4_hdmi.c
3093
return PTR_ERR(vc4_hdmi->audio_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
3096
vc4_hdmi->cec_clock = devm_clk_get(dev, "cec");
drivers/gpu/drm/vc4/vc4_hdmi.c
3097
if (IS_ERR(vc4_hdmi->cec_clock)) {
drivers/gpu/drm/vc4/vc4_hdmi.c
3099
return PTR_ERR(vc4_hdmi->cec_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
310
mutex_lock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
3102
vc4_hdmi->reset = devm_reset_control_get(dev, NULL);
drivers/gpu/drm/vc4/vc4_hdmi.c
3103
if (IS_ERR(vc4_hdmi->reset)) {
drivers/gpu/drm/vc4/vc4_hdmi.c
3105
return PTR_ERR(vc4_hdmi->reset);
drivers/gpu/drm/vc4/vc4_hdmi.c
3108
ret = vc4_hdmi_build_regset(drm, vc4_hdmi, &vc4_hdmi->hdmi_regset, VC4_HDMI);
drivers/gpu/drm/vc4/vc4_hdmi.c
3112
ret = vc4_hdmi_build_regset(drm, vc4_hdmi, &vc4_hdmi->hd_regset, VC4_HD);
drivers/gpu/drm/vc4/vc4_hdmi.c
3116
ret = vc4_hdmi_build_regset(drm, vc4_hdmi, &vc4_hdmi->cec_regset, VC5_CEC);
drivers/gpu/drm/vc4/vc4_hdmi.c
312
if (!vc4_hdmi_supports_scrambling(vc4_hdmi)) {
drivers/gpu/drm/vc4/vc4_hdmi.c
3120
ret = vc4_hdmi_build_regset(drm, vc4_hdmi, &vc4_hdmi->csc_regset, VC5_CSC);
drivers/gpu/drm/vc4/vc4_hdmi.c
3124
ret = vc4_hdmi_build_regset(drm, vc4_hdmi, &vc4_hdmi->dvp_regset, VC5_DVP);
drivers/gpu/drm/vc4/vc4_hdmi.c
3128
ret = vc4_hdmi_build_regset(drm, vc4_hdmi, &vc4_hdmi->phy_regset, VC5_PHY);
drivers/gpu/drm/vc4/vc4_hdmi.c
313
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
3132
ret = vc4_hdmi_build_regset(drm, vc4_hdmi, &vc4_hdmi->ram_regset, VC5_RAM);
drivers/gpu/drm/vc4/vc4_hdmi.c
3136
ret = vc4_hdmi_build_regset(drm, vc4_hdmi, &vc4_hdmi->rm_regset, VC5_RM);
drivers/gpu/drm/vc4/vc4_hdmi.c
3145
struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev);
drivers/gpu/drm/vc4/vc4_hdmi.c
3147
clk_disable_unprepare(vc4_hdmi->audio_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
3148
clk_disable_unprepare(vc4_hdmi->hsm_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
3155
struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev);
drivers/gpu/drm/vc4/vc4_hdmi.c
3161
ret = clk_prepare_enable(vc4_hdmi->hsm_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
317
scrambling_needed = vc4_hdmi_mode_needs_scrambling(&vc4_hdmi->saved_adjusted_mode,
drivers/gpu/drm/vc4/vc4_hdmi.c
3174
rate = clk_get_rate(vc4_hdmi->hsm_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
318
vc4_hdmi->output_bpc,
drivers/gpu/drm/vc4/vc4_hdmi.c
3180
ret = clk_prepare_enable(vc4_hdmi->audio_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
3184
if (vc4_hdmi->variant->reset)
drivers/gpu/drm/vc4/vc4_hdmi.c
3185
vc4_hdmi->variant->reset(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
3188
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
319
vc4_hdmi->output_format);
drivers/gpu/drm/vc4/vc4_hdmi.c
3193
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
3195
vc4_hdmi_cec_update_clk_div(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
3197
if (!vc4_hdmi->variant->external_irq_controller) {
drivers/gpu/drm/vc4/vc4_hdmi.c
3198
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
3200
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
3207
clk_disable_unprepare(vc4_hdmi->hsm_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
321
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
3213
struct vc4_hdmi *vc4_hdmi = ptr;
drivers/gpu/drm/vc4/vc4_hdmi.c
3215
put_device(&vc4_hdmi->ddc->dev);
drivers/gpu/drm/vc4/vc4_hdmi.c
3223
struct vc4_hdmi *vc4_hdmi;
drivers/gpu/drm/vc4/vc4_hdmi.c
3228
vc4_hdmi = drmm_kzalloc(drm, sizeof(*vc4_hdmi), GFP_KERNEL);
drivers/gpu/drm/vc4/vc4_hdmi.c
3229
if (!vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
3232
ret = drmm_mutex_init(drm, &vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
3236
spin_lock_init(&vc4_hdmi->hw_lock);
drivers/gpu/drm/vc4/vc4_hdmi.c
3237
INIT_DELAYED_WORK(&vc4_hdmi->scrambling_work, vc4_hdmi_scrambling_wq);
drivers/gpu/drm/vc4/vc4_hdmi.c
3239
dev_set_drvdata(dev, vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
3240
encoder = &vc4_hdmi->encoder.base;
drivers/gpu/drm/vc4/vc4_hdmi.c
3241
vc4_hdmi->encoder.type = variant->encoder_type;
drivers/gpu/drm/vc4/vc4_hdmi.c
3242
vc4_hdmi->encoder.pre_crtc_configure = vc4_hdmi_encoder_pre_crtc_configure;
drivers/gpu/drm/vc4/vc4_hdmi.c
3243
vc4_hdmi->encoder.pre_crtc_enable = vc4_hdmi_encoder_pre_crtc_enable;
drivers/gpu/drm/vc4/vc4_hdmi.c
3244
vc4_hdmi->encoder.post_crtc_enable = vc4_hdmi_encoder_post_crtc_enable;
drivers/gpu/drm/vc4/vc4_hdmi.c
3245
vc4_hdmi->encoder.post_crtc_disable = vc4_hdmi_encoder_post_crtc_disable;
drivers/gpu/drm/vc4/vc4_hdmi.c
3246
vc4_hdmi->encoder.post_crtc_powerdown = vc4_hdmi_encoder_post_crtc_powerdown;
drivers/gpu/drm/vc4/vc4_hdmi.c
3247
vc4_hdmi->pdev = pdev;
drivers/gpu/drm/vc4/vc4_hdmi.c
3248
vc4_hdmi->variant = variant;
drivers/gpu/drm/vc4/vc4_hdmi.c
3257
vc4_hdmi->scdc_enabled = true;
drivers/gpu/drm/vc4/vc4_hdmi.c
3259
ret = variant->init_resources(drm, vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
3269
vc4_hdmi->ddc = of_find_i2c_adapter_by_node(ddc_node);
drivers/gpu/drm/vc4/vc4_hdmi.c
327
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
3271
if (!vc4_hdmi->ddc) {
drivers/gpu/drm/vc4/vc4_hdmi.c
3276
ret = devm_add_action_or_reset(dev, vc4_hdmi_put_ddc_device, vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
3283
vc4_hdmi->hpd_gpio = devm_gpiod_get_optional(dev, "hpd", GPIOD_IN);
drivers/gpu/drm/vc4/vc4_hdmi.c
3284
if (IS_ERR(vc4_hdmi->hpd_gpio)) {
drivers/gpu/drm/vc4/vc4_hdmi.c
3285
return PTR_ERR(vc4_hdmi->hpd_gpio);
drivers/gpu/drm/vc4/vc4_hdmi.c
3288
vc4_hdmi->disable_wifi_frequencies =
drivers/gpu/drm/vc4/vc4_hdmi.c
3308
clk_prepare_enable(vc4_hdmi->pixel_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
3309
clk_prepare_enable(vc4_hdmi->hsm_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
3310
clk_prepare_enable(vc4_hdmi->pixel_bvb_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
3322
ret = vc4_hdmi_connector_init(drm, vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
3326
ret = vc4_hdmi_hotplug_init(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
3330
ret = vc4_hdmi_cec_register(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
3334
ret = vc4_hdmi_audio_init(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
334
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
339
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
343
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
357
static void vc4_hdmi_handle_hotplug(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.c
361
struct drm_connector *connector = &vc4_hdmi->connector;
drivers/gpu/drm/vc4/vc4_hdmi.c
398
struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector);
drivers/gpu/drm/vc4/vc4_hdmi.c
413
ret = pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev);
drivers/gpu/drm/vc4/vc4_hdmi.c
420
if (vc4_hdmi->hpd_gpio) {
drivers/gpu/drm/vc4/vc4_hdmi.c
421
if (gpiod_get_value_cansleep(vc4_hdmi->hpd_gpio))
drivers/gpu/drm/vc4/vc4_hdmi.c
424
if (vc4_hdmi->variant->hp_detect &&
drivers/gpu/drm/vc4/vc4_hdmi.c
425
vc4_hdmi->variant->hp_detect(vc4_hdmi))
drivers/gpu/drm/vc4/vc4_hdmi.c
429
vc4_hdmi_handle_hotplug(vc4_hdmi, ctx, status);
drivers/gpu/drm/vc4/vc4_hdmi.c
430
pm_runtime_put(&vc4_hdmi->pdev->dev);
drivers/gpu/drm/vc4/vc4_hdmi.c
534
struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi.c
536
struct drm_connector *connector = &vc4_hdmi->connector;
drivers/gpu/drm/vc4/vc4_hdmi.c
537
struct drm_encoder *encoder = &vc4_hdmi->encoder.base;
drivers/gpu/drm/vc4/vc4_hdmi.c
541
if (vc4_hdmi->variant->supports_hdr)
drivers/gpu/drm/vc4/vc4_hdmi.c
549
vc4_hdmi->ddc,
drivers/gpu/drm/vc4/vc4_hdmi.c
600
static int vc4_hdmi_stop_packet(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.c
604
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
613
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
616
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
630
struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector);
drivers/gpu/drm/vc4/vc4_hdmi.c
642
ret = vc4_hdmi_stop_packet(vc4_hdmi, type, true);
drivers/gpu/drm/vc4/vc4_hdmi.c
655
struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector);
drivers/gpu/drm/vc4/vc4_hdmi.c
659
&vc4_hdmi->variant->registers[HDMI_RAM_PACKET_START];
drivers/gpu/drm/vc4/vc4_hdmi.c
663
void __iomem *base = __vc4_hdmi_get_field_base(vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.c
685
ret = vc4_hdmi_stop_packet(vc4_hdmi, type, true);
drivers/gpu/drm/vc4/vc4_hdmi.c
691
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
718
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
794
struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
drivers/gpu/drm/vc4/vc4_hdmi.c
795
struct drm_connector *connector = &vc4_hdmi->connector;
drivers/gpu/drm/vc4/vc4_hdmi.c
797
const struct drm_display_mode *mode = &vc4_hdmi->saved_adjusted_mode;
drivers/gpu/drm/vc4/vc4_hdmi.c
801
lockdep_assert_held(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
803
if (!vc4_hdmi_supports_scrambling(vc4_hdmi))
drivers/gpu/drm/vc4/vc4_hdmi.c
807
vc4_hdmi->output_bpc,
drivers/gpu/drm/vc4/vc4_hdmi.c
808
vc4_hdmi->output_format))
drivers/gpu/drm/vc4/vc4_hdmi.c
817
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
820
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
824
vc4_hdmi->scdc_enabled = true;
drivers/gpu/drm/vc4/vc4_hdmi.c
826
queue_delayed_work(system_percpu_wq, &vc4_hdmi->scrambling_work,
drivers/gpu/drm/vc4/vc4_hdmi.c
832
struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
drivers/gpu/drm/vc4/vc4_hdmi.c
833
struct drm_connector *connector = &vc4_hdmi->connector;
drivers/gpu/drm/vc4/vc4_hdmi.c
838
lockdep_assert_held(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
840
if (!vc4_hdmi->scdc_enabled)
drivers/gpu/drm/vc4/vc4_hdmi.c
843
vc4_hdmi->scdc_enabled = false;
drivers/gpu/drm/vc4/vc4_hdmi.c
845
if (delayed_work_pending(&vc4_hdmi->scrambling_work))
drivers/gpu/drm/vc4/vc4_hdmi.c
846
cancel_delayed_work_sync(&vc4_hdmi->scrambling_work);
drivers/gpu/drm/vc4/vc4_hdmi.c
851
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
854
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
864
struct vc4_hdmi *vc4_hdmi = container_of(to_delayed_work(work),
drivers/gpu/drm/vc4/vc4_hdmi.c
865
struct vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.c
867
struct drm_connector *connector = &vc4_hdmi->connector;
drivers/gpu/drm/vc4/vc4_hdmi.c
875
queue_delayed_work(system_percpu_wq, &vc4_hdmi->scrambling_work,
drivers/gpu/drm/vc4/vc4_hdmi.c
882
struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
drivers/gpu/drm/vc4/vc4_hdmi.c
883
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
888
mutex_lock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
890
vc4_hdmi->packet_ram_enabled = false;
drivers/gpu/drm/vc4/vc4_hdmi.c
895
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
905
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
914
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
918
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
926
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
932
struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
drivers/gpu/drm/vc4/vc4_hdmi.c
933
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
937
mutex_lock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
942
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
945
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.c
947
if (vc4_hdmi->variant->phy_disable)
drivers/gpu/drm/vc4/vc4_hdmi.c
948
vc4_hdmi->variant->phy_disable(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.c
950
clk_disable_unprepare(vc4_hdmi->pixel_bvb_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
951
clk_disable_unprepare(vc4_hdmi->pixel_clock);
drivers/gpu/drm/vc4/vc4_hdmi.c
953
pm_runtime_put(&vc4_hdmi->pdev->dev);
drivers/gpu/drm/vc4/vc4_hdmi.c
958
mutex_unlock(&vc4_hdmi->mutex);
drivers/gpu/drm/vc4/vc4_hdmi.c
961
static void vc4_hdmi_csc_setup(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.c
965
struct drm_device *drm = vc4_hdmi->connector.dev;
drivers/gpu/drm/vc4/vc4_hdmi.c
973
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi.h
12
struct vc4_hdmi;
drivers/gpu/drm/vc4/vc4_hdmi.h
223
container_of_const(_connector, struct vc4_hdmi, connector)
drivers/gpu/drm/vc4/vc4_hdmi.h
225
static inline struct vc4_hdmi *
drivers/gpu/drm/vc4/vc4_hdmi.h
229
return container_of_const(_encoder, struct vc4_hdmi, encoder);
drivers/gpu/drm/vc4/vc4_hdmi.h
232
void vc4_hdmi_phy_init(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.h
234
void vc4_hdmi_phy_disable(struct vc4_hdmi *vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.h
235
void vc4_hdmi_phy_rng_enable(struct vc4_hdmi *vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.h
236
void vc4_hdmi_phy_rng_disable(struct vc4_hdmi *vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.h
238
void vc5_hdmi_phy_init(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.h
240
void vc5_hdmi_phy_disable(struct vc4_hdmi *vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.h
241
void vc5_hdmi_phy_rng_enable(struct vc4_hdmi *vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.h
242
void vc5_hdmi_phy_rng_disable(struct vc4_hdmi *vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.h
244
void vc6_hdmi_phy_init(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.h
246
void vc6_hdmi_phy_disable(struct vc4_hdmi *vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.h
62
struct vc4_hdmi *vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.h
65
void (*reset)(struct vc4_hdmi *vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.h
68
void (*csc_setup)(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.h
73
void (*set_timings)(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.h
78
void (*phy_init)(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi.h
82
void (*phy_disable)(struct vc4_hdmi *vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.h
85
void (*phy_rng_enable)(struct vc4_hdmi *vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.h
88
void (*phy_rng_disable)(struct vc4_hdmi *vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi.h
91
u32 (*channel_map)(struct vc4_hdmi *vc4_hdmi, u32 channel_mask);
drivers/gpu/drm/vc4/vc4_hdmi.h
97
bool (*hp_detect)(struct vc4_hdmi *vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
1195
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
1198
void vc6_hdmi_phy_disable(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
172
void vc4_hdmi_phy_init(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
181
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
186
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
189
void vc4_hdmi_phy_disable(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
193
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
195
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
198
void vc4_hdmi_phy_rng_enable(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
202
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
206
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
209
void vc4_hdmi_phy_rng_disable(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
213
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
217
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
397
static void vc5_hdmi_reset_phy(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
399
lockdep_assert_held(&vc4_hdmi->hw_lock);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
405
void vc5_hdmi_phy_init(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
409
const struct vc4_hdmi_variant *variant = vc4_hdmi->variant;
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
418
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
420
vc5_hdmi_reset_phy(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
570
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
573
void vc5_hdmi_phy_disable(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
577
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
578
vc5_hdmi_reset_phy(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
579
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
582
void vc5_hdmi_phy_rng_enable(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
586
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
590
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
593
void vc5_hdmi_phy_rng_disable(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
597
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
601
spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
944
static void vc6_hdmi_reset_phy(struct vc4_hdmi *vc4_hdmi)
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
946
lockdep_assert_held(&vc4_hdmi->hw_lock);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
952
void vc6_hdmi_phy_init(struct vc4_hdmi *vc4_hdmi,
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
959
const struct vc4_hdmi_variant *variant = vc4_hdmi->variant;
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
968
spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
drivers/gpu/drm/vc4/vc4_hdmi_phy.c
970
vc6_hdmi_reset_phy(vc4_hdmi);
drivers/gpu/drm/vc4/vc4_hdmi_regs.h
632
void __iomem *__vc4_hdmi_get_field_base(struct vc4_hdmi *hdmi,
drivers/gpu/drm/vc4/vc4_hdmi_regs.h
667
static inline u32 vc4_hdmi_read(struct vc4_hdmi *hdmi,
drivers/gpu/drm/vc4/vc4_hdmi_regs.h
694
#define HDMI_READ(reg) vc4_hdmi_read(vc4_hdmi, reg)
drivers/gpu/drm/vc4/vc4_hdmi_regs.h
696
static inline void vc4_hdmi_write(struct vc4_hdmi *hdmi,
drivers/gpu/drm/vc4/vc4_hdmi_regs.h
726
#define HDMI_WRITE(reg, val) vc4_hdmi_write(vc4_hdmi, reg, val)