#include <linux/delay.h>
#include <linux/phy/phy.h>
#include <drm/drm_print.h>
#include "dp_reg.h"
#include "dp_aux.h"
enum msm_dp_aux_err { … };
struct dp_aux_private { … };
#define MAX_AUX_RETRIES …
static ssize_t dp_aux_write(struct dp_aux_private *aux,
struct drm_dp_aux_msg *msg)
{ … }
static ssize_t dp_aux_cmd_fifo_tx(struct dp_aux_private *aux,
struct drm_dp_aux_msg *msg)
{ … }
static ssize_t dp_aux_cmd_fifo_rx(struct dp_aux_private *aux,
struct drm_dp_aux_msg *msg)
{ … }
static void dp_aux_update_offset_and_segment(struct dp_aux_private *aux,
struct drm_dp_aux_msg *input_msg)
{ … }
static void dp_aux_transfer_helper(struct dp_aux_private *aux,
struct drm_dp_aux_msg *input_msg,
bool send_seg)
{ … }
static ssize_t dp_aux_transfer(struct drm_dp_aux *dp_aux,
struct drm_dp_aux_msg *msg)
{ … }
irqreturn_t dp_aux_isr(struct drm_dp_aux *dp_aux)
{ … }
void dp_aux_enable_xfers(struct drm_dp_aux *dp_aux, bool enabled)
{ … }
void dp_aux_reconfig(struct drm_dp_aux *dp_aux)
{ … }
void dp_aux_init(struct drm_dp_aux *dp_aux)
{ … }
void dp_aux_deinit(struct drm_dp_aux *dp_aux)
{ … }
int dp_aux_register(struct drm_dp_aux *dp_aux)
{ … }
void dp_aux_unregister(struct drm_dp_aux *dp_aux)
{ … }
static int dp_wait_hpd_asserted(struct drm_dp_aux *dp_aux,
unsigned long wait_us)
{ … }
struct drm_dp_aux *dp_aux_get(struct device *dev, struct dp_catalog *catalog,
struct phy *phy,
bool is_edp)
{ … }
void dp_aux_put(struct drm_dp_aux *dp_aux)
{ … }