linux/drivers/gpu/drm/i915/display/intel_dp_hdcp.c

/* SPDX-License-Identifier: MIT */
/*
 * Copyright (C) 2020 Google, Inc.
 *
 * Authors:
 * Sean Paul <[email protected]>
 */

#include <drm/display/drm_dp_helper.h>
#include <drm/display/drm_dp_mst_helper.h>
#include <drm/display/drm_hdcp_helper.h>
#include <drm/drm_print.h>

#include "i915_reg.h"
#include "intel_ddi.h"
#include "intel_de.h"
#include "intel_display_types.h"
#include "intel_dp.h"
#include "intel_dp_hdcp.h"
#include "intel_hdcp.h"
#include "intel_hdcp_regs.h"

static u32 transcoder_to_stream_enc_status(enum transcoder cpu_transcoder)
{}

static void intel_dp_hdcp_wait_for_cp_irq(struct intel_connector *connector,
					  int timeout)
{}

static
int intel_dp_hdcp_write_an_aksv(struct intel_digital_port *dig_port,
				u8 *an)
{}

static int intel_dp_hdcp_read_bksv(struct intel_digital_port *dig_port,
				   u8 *bksv)
{}

static int intel_dp_hdcp_read_bstatus(struct intel_digital_port *dig_port,
				      u8 *bstatus)
{}

static
int intel_dp_hdcp_read_bcaps(struct drm_dp_aux *aux,
			     struct drm_i915_private *i915,
			     u8 *bcaps)
{}

static
int intel_dp_hdcp_repeater_present(struct intel_digital_port *dig_port,
				   bool *repeater_present)
{}

static
int intel_dp_hdcp_read_ri_prime(struct intel_digital_port *dig_port,
				u8 *ri_prime)
{}

static
int intel_dp_hdcp_read_ksv_ready(struct intel_digital_port *dig_port,
				 bool *ksv_ready)
{}

static
int intel_dp_hdcp_read_ksv_fifo(struct intel_digital_port *dig_port,
				int num_downstream, u8 *ksv_fifo)
{}

static
int intel_dp_hdcp_read_v_prime_part(struct intel_digital_port *dig_port,
				    int i, u32 *part)
{}

static
int intel_dp_hdcp_toggle_signalling(struct intel_digital_port *dig_port,
				    enum transcoder cpu_transcoder,
				    bool enable)
{}

static
bool intel_dp_hdcp_check_link(struct intel_digital_port *dig_port,
			      struct intel_connector *connector)
{}

static
int intel_dp_hdcp_get_capability(struct intel_digital_port *dig_port,
				 bool *hdcp_capable)
{}

struct hdcp2_dp_errata_stream_type {} __packed;

struct hdcp2_dp_msg_data {};

static const struct hdcp2_dp_msg_data hdcp2_dp_msg_data[] =;

static int
intel_dp_hdcp2_read_rx_status(struct intel_connector *connector,
			      u8 *rx_status)
{}

static
int hdcp2_detect_msg_availability(struct intel_connector *connector,
				  u8 msg_id, bool *msg_ready)
{}

static ssize_t
intel_dp_hdcp2_wait_for_msg(struct intel_connector *connector,
			    const struct hdcp2_dp_msg_data *hdcp2_msg_data)
{}

static const struct hdcp2_dp_msg_data *get_hdcp2_dp_msg_data(u8 msg_id)
{}

static
int intel_dp_hdcp2_write_msg(struct intel_connector *connector,
			     void *buf, size_t size)
{}

static
ssize_t get_receiver_id_list_rx_info(struct intel_connector *connector,
				     u32 *dev_cnt, u8 *byte)
{}

static
int intel_dp_hdcp2_read_msg(struct intel_connector *connector,
			    u8 msg_id, void *buf, size_t size)
{}

static
int intel_dp_hdcp2_config_stream_type(struct intel_connector *connector,
				      bool is_repeater, u8 content_type)
{}

static
int intel_dp_hdcp2_check_link(struct intel_digital_port *dig_port,
			      struct intel_connector *connector)
{}

static
int _intel_dp_hdcp2_get_capability(struct drm_dp_aux *aux,
				   bool *capable)
{}

static
int intel_dp_hdcp2_get_capability(struct intel_connector *connector,
				  bool *capable)
{}

static
int intel_dp_hdcp_get_remote_capability(struct intel_connector *connector,
					bool *hdcp_capable,
					bool *hdcp2_capable)
{}

static const struct intel_hdcp_shim intel_dp_hdcp_shim =;

static int
intel_dp_mst_toggle_hdcp_stream_select(struct intel_connector *connector,
				       bool enable)
{}

static int
intel_dp_mst_hdcp_stream_encryption(struct intel_connector *connector,
				    bool enable)
{}

static int
intel_dp_mst_hdcp2_stream_encryption(struct intel_connector *connector,
				     bool enable)
{}

static
int intel_dp_mst_hdcp2_check_link(struct intel_digital_port *dig_port,
				  struct intel_connector *connector)
{}

static const struct intel_hdcp_shim intel_dp_mst_hdcp_shim =;

int intel_dp_hdcp_init(struct intel_digital_port *dig_port,
		       struct intel_connector *intel_connector)
{}