#include <drm/display/drm_dp_helper.h>
#include "nouveau_drv.h"
#include "nouveau_connector.h"
#include "nouveau_encoder.h"
#include "nouveau_crtc.h"
#include <nvif/if0011.h>
MODULE_PARM_DESC(…) …;
static int nouveau_mst = …;
module_param_named(mst, nouveau_mst, int, 0400);
static bool
nouveau_dp_has_sink_count(struct drm_connector *connector,
struct nouveau_encoder *outp)
{ … }
static bool
nouveau_dp_probe_lttpr(struct nouveau_encoder *outp)
{ … }
static enum drm_connector_status
nouveau_dp_probe_dpcd(struct nouveau_connector *nv_connector,
struct nouveau_encoder *outp)
{ … }
int
nouveau_dp_detect(struct nouveau_connector *nv_connector,
struct nouveau_encoder *nv_encoder)
{ … }
void
nouveau_dp_power_down(struct nouveau_encoder *outp)
{ … }
static bool
nouveau_dp_train_link(struct nouveau_encoder *outp, bool retrain)
{ … }
bool
nouveau_dp_train(struct nouveau_encoder *outp, bool mst, u32 khz, u8 bpc)
{ … }
static bool
nouveau_dp_link_check_locked(struct nouveau_encoder *outp)
{ … }
bool
nouveau_dp_link_check(struct nouveau_connector *nv_connector)
{ … }
void
nouveau_dp_irq(struct work_struct *work)
{ … }
enum drm_mode_status
nv50_dp_mode_valid(struct nouveau_encoder *outp,
const struct drm_display_mode *mode,
unsigned *out_clock)
{ … }