2021-01-14 13:13:47 +02:00
|
|
|
/* SPDX-License-Identifier: MIT */
|
|
|
|
/*
|
|
|
|
* Copyright © 2020 Intel Corporation
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _INTEL_FDI_H_
|
|
|
|
#define _INTEL_FDI_H_
|
|
|
|
|
2023-09-21 22:51:58 +03:00
|
|
|
#include <linux/types.h>
|
|
|
|
|
2021-09-30 12:22:58 +03:00
|
|
|
enum pipe;
|
2023-09-21 22:51:58 +03:00
|
|
|
struct intel_atomic_state;
|
2021-01-14 13:13:47 +02:00
|
|
|
struct intel_crtc;
|
|
|
|
struct intel_crtc_state;
|
2025-02-12 13:15:39 +05:30
|
|
|
struct intel_display;
|
2025-02-25 18:49:13 +02:00
|
|
|
struct intel_display;
|
2021-02-04 21:43:19 +02:00
|
|
|
struct intel_encoder;
|
2023-09-21 22:51:58 +03:00
|
|
|
struct intel_link_bw_limits;
|
2021-01-14 13:13:47 +02:00
|
|
|
|
2023-09-21 22:51:59 +03:00
|
|
|
int intel_fdi_add_affected_crtcs(struct intel_atomic_state *state);
|
2025-02-25 18:49:13 +02:00
|
|
|
int intel_fdi_link_freq(struct intel_display *display,
|
2021-08-18 13:11:09 +03:00
|
|
|
const struct intel_crtc_state *pipe_config);
|
2023-09-21 22:51:58 +03:00
|
|
|
bool intel_fdi_compute_pipe_bpp(struct intel_crtc_state *crtc_state);
|
2021-01-14 13:13:47 +02:00
|
|
|
int ilk_fdi_compute_config(struct intel_crtc *intel_crtc,
|
|
|
|
struct intel_crtc_state *pipe_config);
|
2023-09-21 22:51:58 +03:00
|
|
|
int intel_fdi_atomic_check_link(struct intel_atomic_state *state,
|
|
|
|
struct intel_link_bw_limits *limits);
|
2021-01-14 13:13:47 +02:00
|
|
|
void intel_fdi_normal_train(struct intel_crtc *crtc);
|
|
|
|
void ilk_fdi_disable(struct intel_crtc *crtc);
|
|
|
|
void ilk_fdi_pll_disable(struct intel_crtc *intel_crtc);
|
|
|
|
void ilk_fdi_pll_enable(const struct intel_crtc_state *crtc_state);
|
2025-02-25 18:49:13 +02:00
|
|
|
void intel_fdi_init_hook(struct intel_display *display);
|
2021-02-04 21:43:19 +02:00
|
|
|
void hsw_fdi_link_train(struct intel_encoder *encoder,
|
|
|
|
const struct intel_crtc_state *crtc_state);
|
2021-10-15 10:16:24 +03:00
|
|
|
void hsw_fdi_disable(struct intel_encoder *encoder);
|
2025-02-25 18:49:13 +02:00
|
|
|
void intel_fdi_pll_freq_update(struct intel_display *display);
|
2021-01-14 13:13:47 +02:00
|
|
|
|
2021-09-29 01:57:50 +03:00
|
|
|
void intel_fdi_link_train(struct intel_crtc *crtc,
|
|
|
|
const struct intel_crtc_state *crtc_state);
|
2021-09-30 12:22:58 +03:00
|
|
|
|
2025-02-25 18:49:13 +02:00
|
|
|
void assert_fdi_tx_enabled(struct intel_display *display, enum pipe pipe);
|
|
|
|
void assert_fdi_tx_disabled(struct intel_display *display, enum pipe pipe);
|
|
|
|
void assert_fdi_rx_enabled(struct intel_display *display, enum pipe pipe);
|
|
|
|
void assert_fdi_rx_disabled(struct intel_display *display, enum pipe pipe);
|
2025-02-12 13:15:39 +05:30
|
|
|
void assert_fdi_tx_pll_enabled(struct intel_display *display, enum pipe pipe);
|
|
|
|
void assert_fdi_rx_pll_enabled(struct intel_display *display, enum pipe pipe);
|
|
|
|
void assert_fdi_rx_pll_disabled(struct intel_display *display, enum pipe pipe);
|
2021-09-30 12:22:58 +03:00
|
|
|
|
2021-01-14 13:13:47 +02:00
|
|
|
#endif
|