mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 21:22:09 -04:00
disp: msm: dp: compile MST feature based on display config
Add a compile time flag for the MST feature that will allow selectively enabling the feature. Change-Id: I8bf288277c7af00c3cf254a8c757151559e0a010 Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
This commit is contained in:
parent
5977818ac3
commit
51805afe28
5 changed files with 70 additions and 47 deletions
|
|
@ -22,10 +22,11 @@ msm_drm-$(CONFIG_DRM_MSM_DP) += dp/dp_usbpd.o \
|
|||
dp/dp_display.o \
|
||||
dp/dp_drm.o \
|
||||
dp/dp_hdcp2p2.o \
|
||||
dp/dp_mst_drm.o \
|
||||
sde_hdcp_1x.o \
|
||||
sde_hdcp_2x.o \
|
||||
|
||||
msm_drm-$(CONFIG_DRM_MSM_DP_MST) += dp/dp_mst_drm.o \
|
||||
|
||||
msm_drm-$(CONFIG_DRM_MSM_SDE) += sde/sde_crtc.o \
|
||||
sde/sde_encoder.o \
|
||||
sde/sde_encoder_dce.o \
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#include "msm_kms.h"
|
||||
#include "sde_connector.h"
|
||||
#include "dp_drm.h"
|
||||
#include "dp_mst_drm.h"
|
||||
#include "dp_debug.h"
|
||||
|
||||
#define DP_MST_DEBUG(fmt, ...) DP_DEBUG(fmt, ##__VA_ARGS__)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef _DP_DRM_H_
|
||||
|
|
@ -151,31 +151,6 @@ void convert_to_drm_mode(const struct dp_display_mode *dp_mode,
|
|||
int dp_connector_update_pps(struct drm_connector *connector,
|
||||
char *pps_cmd, void *display);
|
||||
|
||||
/**
|
||||
* 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);
|
||||
#else
|
||||
static inline int dp_connector_config_hdr(struct drm_connector *connector,
|
||||
void *display, struct sde_connector_state *c_state)
|
||||
|
|
@ -256,26 +231,6 @@ static inline void convert_to_drm_mode(const struct dp_display_mode *dp_mode,
|
|||
struct drm_display_mode *drm_mode)
|
||||
{
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _DP_DRM_H_ */
|
||||
|
|
|
|||
65
msm/dp/dp_mst_drm.h
Normal file
65
msm/dp/dp_mst_drm.h
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef _DP_MST_DRM_H_
|
||||
#define _DP_MST_DRM_H_
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <drm/drmP.h>
|
||||
#include <drm/drm_crtc.h>
|
||||
|
||||
#include "dp_display.h"
|
||||
|
||||
#ifdef 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);
|
||||
#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;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _DP_MST_DRM_H_ */
|
||||
|
|
@ -37,6 +37,7 @@
|
|||
#include "sde_wb.h"
|
||||
#include "dp_display.h"
|
||||
#include "dp_drm.h"
|
||||
#include "dp_mst_drm.h"
|
||||
|
||||
#include "sde_kms.h"
|
||||
#include "sde_core_irq.h"
|
||||
|
|
|
|||
Loading…
Reference in a new issue