#define pr_fmt(fmt) …
#include <linux/platform_device.h>
#include <drm/display/drm_dp_helper.h>
#include <drm/drm_edid.h>
#include "dp_catalog.h"
#include "dp_audio.h"
#include "dp_panel.h"
#include "dp_display.h"
#include "dp_utils.h"
struct dp_audio_private { … };
static u32 dp_audio_get_header(struct dp_catalog *catalog,
enum dp_catalog_audio_sdp_type sdp,
enum dp_catalog_audio_header_type header)
{ … }
static void dp_audio_set_header(struct dp_catalog *catalog,
u32 data,
enum dp_catalog_audio_sdp_type sdp,
enum dp_catalog_audio_header_type header)
{ … }
static void dp_audio_stream_sdp(struct dp_audio_private *audio)
{ … }
static void dp_audio_timestamp_sdp(struct dp_audio_private *audio)
{ … }
static void dp_audio_infoframe_sdp(struct dp_audio_private *audio)
{ … }
static void dp_audio_copy_management_sdp(struct dp_audio_private *audio)
{ … }
static void dp_audio_isrc_sdp(struct dp_audio_private *audio)
{ … }
static void dp_audio_setup_sdp(struct dp_audio_private *audio)
{ … }
static void dp_audio_setup_acr(struct dp_audio_private *audio)
{ … }
static void dp_audio_safe_to_exit_level(struct dp_audio_private *audio)
{ … }
static void dp_audio_enable(struct dp_audio_private *audio, bool enable)
{ … }
static struct dp_audio_private *dp_audio_get_data(struct platform_device *pdev)
{ … }
static int dp_audio_hook_plugged_cb(struct device *dev, void *data,
hdmi_codec_plugged_cb fn,
struct device *codec_dev)
{ … }
static int dp_audio_get_eld(struct device *dev,
void *data, uint8_t *buf, size_t len)
{ … }
int dp_audio_hw_params(struct device *dev,
void *data,
struct hdmi_codec_daifmt *daifmt,
struct hdmi_codec_params *params)
{ … }
static void dp_audio_shutdown(struct device *dev, void *data)
{ … }
static const struct hdmi_codec_ops dp_audio_codec_ops = …;
static struct hdmi_codec_pdata codec_data = …;
void dp_unregister_audio_driver(struct device *dev, struct dp_audio *dp_audio)
{ … }
int dp_register_audio_driver(struct device *dev,
struct dp_audio *dp_audio)
{ … }
struct dp_audio *dp_audio_get(struct platform_device *pdev,
struct dp_panel *panel,
struct dp_catalog *catalog)
{ … }
void dp_audio_put(struct dp_audio *dp_audio)
{ … }