#include "i915_drv.h"
#include "i915_reg.h"
#include "i915_trace.h"
#include "intel_bios.h"
#include "intel_de.h"
#include "intel_display_types.h"
#include "intel_dp.h"
#include "intel_dp_aux.h"
#include "intel_dp_aux_regs.h"
#include "intel_pps.h"
#include "intel_quirks.h"
#include "intel_tc.h"
#define AUX_CH_NAME_BUFSIZE …
static const char *aux_ch_name(struct intel_display *display,
char *buf, int size, enum aux_ch aux_ch)
{ … }
u32 intel_dp_aux_pack(const u8 *src, int src_bytes)
{ … }
static void intel_dp_aux_unpack(u32 src, u8 *dst, int dst_bytes)
{ … }
static u32
intel_dp_aux_wait_done(struct intel_dp *intel_dp)
{ … }
static u32 g4x_get_aux_clock_divider(struct intel_dp *intel_dp, int index)
{ … }
static u32 ilk_get_aux_clock_divider(struct intel_dp *intel_dp, int index)
{ … }
static u32 hsw_get_aux_clock_divider(struct intel_dp *intel_dp, int index)
{ … }
static u32 skl_get_aux_clock_divider(struct intel_dp *intel_dp, int index)
{ … }
static int intel_dp_aux_sync_len(void)
{ … }
int intel_dp_aux_fw_sync_len(struct intel_dp *intel_dp)
{ … }
static int g4x_dp_aux_precharge_len(void)
{ … }
static u32 g4x_get_aux_send_ctl(struct intel_dp *intel_dp,
int send_bytes,
u32 aux_clock_divider)
{ … }
static u32 skl_get_aux_send_ctl(struct intel_dp *intel_dp,
int send_bytes,
u32 unused)
{ … }
static int
intel_dp_aux_xfer(struct intel_dp *intel_dp,
const u8 *send, int send_bytes,
u8 *recv, int recv_size,
u32 aux_send_ctl_flags)
{ … }
#define BARE_ADDRESS_SIZE …
#define HEADER_SIZE …
static void
intel_dp_aux_header(u8 txbuf[HEADER_SIZE],
const struct drm_dp_aux_msg *msg)
{ … }
static u32 intel_dp_aux_xfer_flags(const struct drm_dp_aux_msg *msg)
{ … }
static ssize_t
intel_dp_aux_transfer(struct drm_dp_aux *aux, struct drm_dp_aux_msg *msg)
{ … }
static i915_reg_t vlv_aux_ctl_reg(struct intel_dp *intel_dp)
{ … }
static i915_reg_t vlv_aux_data_reg(struct intel_dp *intel_dp, int index)
{ … }
static i915_reg_t g4x_aux_ctl_reg(struct intel_dp *intel_dp)
{ … }
static i915_reg_t g4x_aux_data_reg(struct intel_dp *intel_dp, int index)
{ … }
static i915_reg_t ilk_aux_ctl_reg(struct intel_dp *intel_dp)
{ … }
static i915_reg_t ilk_aux_data_reg(struct intel_dp *intel_dp, int index)
{ … }
static i915_reg_t skl_aux_ctl_reg(struct intel_dp *intel_dp)
{ … }
static i915_reg_t skl_aux_data_reg(struct intel_dp *intel_dp, int index)
{ … }
static i915_reg_t tgl_aux_ctl_reg(struct intel_dp *intel_dp)
{ … }
static i915_reg_t tgl_aux_data_reg(struct intel_dp *intel_dp, int index)
{ … }
static i915_reg_t xelpdp_aux_ctl_reg(struct intel_dp *intel_dp)
{ … }
static i915_reg_t xelpdp_aux_data_reg(struct intel_dp *intel_dp, int index)
{ … }
void intel_dp_aux_fini(struct intel_dp *intel_dp)
{ … }
void intel_dp_aux_init(struct intel_dp *intel_dp)
{ … }
static enum aux_ch default_aux_ch(struct intel_encoder *encoder)
{ … }
static struct intel_encoder *
get_encoder_by_aux_ch(struct intel_encoder *encoder,
enum aux_ch aux_ch)
{ … }
enum aux_ch intel_dp_aux_ch(struct intel_encoder *encoder)
{ … }
void intel_dp_aux_irq_handler(struct intel_display *display)
{ … }