From 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Tue, 22 Oct 2024 10:36:11 +0000
Subject: [PATCH] 修改4g拨号为QMI,需要在系统里后台执行quectel-CM

---
 kernel/include/drm/bridge/analogix_dp.h |   48 +++++++++++++++++++++++-------------------------
 1 files changed, 23 insertions(+), 25 deletions(-)

diff --git a/kernel/include/drm/bridge/analogix_dp.h b/kernel/include/drm/bridge/analogix_dp.h
index 7207fae..09f0dfe 100644
--- a/kernel/include/drm/bridge/analogix_dp.h
+++ b/kernel/include/drm/bridge/analogix_dp.h
@@ -1,12 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * Analogix DP (Display Port) Core interface driver.
  *
  * Copyright (C) 2015 Rockchip Electronics Co., Ltd.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
  */
 #ifndef _ANALOGIX_DP_H_
 #define _ANALOGIX_DP_H_
@@ -19,64 +15,64 @@
 enum analogix_dp_devtype {
 	EXYNOS_DP,
 	RK3288_DP,
-	RK3368_EDP,
 	RK3399_EDP,
 	RK3568_EDP,
+	RK3588_EDP,
 };
 
 static inline bool is_rockchip(enum analogix_dp_devtype type)
 {
 	switch (type) {
 	case RK3288_DP:
-	case RK3368_EDP:
 	case RK3399_EDP:
 	case RK3568_EDP:
+	case RK3588_EDP:
 		return true;
 	default:
 		return false;
 	}
 }
 
-struct analogix_dp_plat_data;
-struct analogix_dp_property_ops {
-	int (*attach_properties)(struct drm_connector *connector);
-	int (*get_property)(struct drm_connector *connector,
-			    const struct drm_connector_state *state,
-			    struct drm_property *property,
-			    u64 *val,
-			    struct analogix_dp_plat_data *data);
-};
-
 struct analogix_dp_plat_data {
 	enum analogix_dp_devtype dev_type;
 	struct drm_panel *panel;
+	struct drm_bridge *bridge;
 	struct drm_encoder *encoder;
 	struct drm_connector *connector;
 	bool skip_connector;
 	bool ssc;
+
+	bool split_mode;
+
+	/* split with other display interface */
+	bool dual_connector_split;
+	bool left_display;
+
+	struct analogix_dp_device *left;
+	struct analogix_dp_device *right;
 
 	int (*power_on_start)(struct analogix_dp_plat_data *);
 	int (*power_on_end)(struct analogix_dp_plat_data *);
 	int (*power_off)(struct analogix_dp_plat_data *);
 	int (*attach)(struct analogix_dp_plat_data *, struct drm_bridge *,
 		      struct drm_connector *);
+	void (*detach)(struct analogix_dp_plat_data *, struct drm_bridge *);
 	int (*get_modes)(struct analogix_dp_plat_data *,
 			 struct drm_connector *);
-	/* Vendor Property support */
-	const struct analogix_dp_property_ops *property_ops;
+	void (*convert_to_split_mode)(struct drm_display_mode *);
+	void (*convert_to_origin_mode)(struct drm_display_mode *);
 };
-
-int analogix_dp_psr_enabled(struct analogix_dp_device *dp);
-int analogix_dp_enable_psr(struct analogix_dp_device *dp);
-int analogix_dp_disable_psr(struct analogix_dp_device *dp);
 
 int analogix_dp_resume(struct analogix_dp_device *dp);
 int analogix_dp_suspend(struct analogix_dp_device *dp);
+int analogix_dp_runtime_resume(struct analogix_dp_device *dp);
+int analogix_dp_runtime_suspend(struct analogix_dp_device *dp);
 
 struct analogix_dp_device *
-analogix_dp_bind(struct device *dev, struct drm_device *drm_dev,
-		 struct analogix_dp_plat_data *plat_data);
+analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data);
+int analogix_dp_bind(struct analogix_dp_device *dp, struct drm_device *drm_dev);
 void analogix_dp_unbind(struct analogix_dp_device *dp);
+void analogix_dp_remove(struct analogix_dp_device *dp);
 
 int analogix_dp_start_crc(struct drm_connector *connector);
 int analogix_dp_stop_crc(struct drm_connector *connector);
@@ -88,5 +84,7 @@
 int analogix_dp_audio_startup(struct analogix_dp_device *dp);
 int analogix_dp_audio_get_eld(struct analogix_dp_device *dp,
 			      u8 *buf, size_t len);
+int analogix_dp_loader_protect(struct analogix_dp_device *dp);
+void analogix_dp_disable(struct analogix_dp_device *dp);
 
 #endif /* _ANALOGIX_DP_H_ */

--
Gitblit v1.6.2