Files
android_kernel_samsung_sm86…/msm/dp/dp_mst_drm.h
Sudarsan Ramesh 45877a3be6 disp: msm: dp: clear cache upon writing to edid debugfs node
Currently, any edids read by the driver are cached in the
sde_connector object. In the event that subsequent edids are written,
the cached edid is used instead of the newly written edid.

In the event a new edid is written to the edid debugfs node over
dpsim, this change clears the current cached edid before overwriting
the new one.

Change-Id: I53f870e97c3b9ac5954d193f74e4b272386f67a8
Signed-off-by: Sudarsan Ramesh <sudarame@codeaurora.org>
2021-04-16 16:08:50 -04:00

76 行
1.7 KiB
C

/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
*/
#ifndef _DP_MST_DRM_H_
#define _DP_MST_DRM_H_
#include <linux/types.h>
#include <drm/drm_crtc.h>
#include <drm/drm_bridge.h>
#include "dp_display.h"
#if IS_ENABLED(CONFIG_DRM_MSM_DP_MST)
/**
* dp_mst_drm_bridge_init - initialize mst bridge
* @display: Pointer to private display structure
* @encoder: Pointer to encoder for mst bridge mapping
*/
int dp_mst_drm_bridge_init(void *display,
struct drm_encoder *encoder);
/**
* dp_mst_drm_bridge_deinit - de-initialize mst bridges
* @display: Pointer to private display structure
*/
void dp_mst_drm_bridge_deinit(void *display);
/**
* dp_mst_init - initialize mst objects for the given display
* @display: Pointer to private display structure
*/
int dp_mst_init(struct dp_display *dp_display);
/**
* dp_mst_deinit - de-initialize mst objects for the given display
* @display: Pointer to private display structure
*/
void dp_mst_deinit(struct dp_display *dp_display);
/**
* dp_mst_clear_edid_cache - clear mst edid cache for the given display
* @display: Pointer to private display structure
*/
void dp_mst_clear_edid_cache(void *dp_display);
#else
static inline int dp_mst_drm_bridge_init(void *display,
struct drm_encoder *encoder)
{
return 0;
}
static inline void dp_mst_drm_bridge_deinit(void *display)
{
}
static inline int dp_mst_init(struct dp_display *dp_display)
{
return 0;
}
static inline int dp_mst_deinit(struct dp_display *dp_display)
{
return 0;
}
static inline void dp_mst_clear_edid_cache(void *display)
{
}
#endif /* CONFIG_DRM_MSM_DP_MST */
#endif /* _DP_MST_DRM_H_ */