Переглянути джерело

Merge "disp: msm: dp: set drm device pointer in dp aux object"

qctecmdr 3 роки тому
батько
коміт
7f0ec61940
3 змінених файлів з 7 додано та 3 видалено
  1. 4 1
      msm/dp/dp_aux.c
  2. 2 1
      msm/dp/dp_aux.h
  3. 1 1
      msm/dp/dp_display.c

+ 4 - 1
msm/dp/dp_aux.c

@@ -636,7 +636,7 @@ static void dp_aux_deinit(struct dp_aux *dp_aux)
 	aux->enabled = false;
 }
 
-static int dp_aux_register(struct dp_aux *dp_aux)
+static int dp_aux_register(struct dp_aux *dp_aux, struct drm_device *drm_dev)
 {
 	struct dp_aux_private *aux;
 	int ret = 0;
@@ -652,6 +652,9 @@ static int dp_aux_register(struct dp_aux *dp_aux)
 	aux->drm_aux.name = "sde_dp_aux";
 	aux->drm_aux.dev = aux->dev;
 	aux->drm_aux.transfer = dp_aux_transfer;
+#if (KERNEL_VERSION(5, 15, 0) <= LINUX_VERSION_CODE)
+	aux->drm_aux.drm_dev = drm_dev;
+#endif
 	atomic_set(&aux->aborted, 1);
 	ret = drm_dp_aux_register(&aux->drm_aux);
 	if (ret) {

+ 2 - 1
msm/dp/dp_aux.h

@@ -1,5 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
+ * Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
  * Copyright (c) 2012-2021, The Linux Foundation. All rights reserved.
  */
 
@@ -43,7 +44,7 @@ struct dp_aux {
 	struct mutex *access_lock;
 
 	struct drm_dp_aux *drm_aux;
-	int (*drm_aux_register)(struct dp_aux *aux);
+	int (*drm_aux_register)(struct dp_aux *aux, struct drm_device *drm_dev);
 	void (*drm_aux_deregister)(struct dp_aux *aux);
 	void (*isr)(struct dp_aux *aux);
 	void (*init)(struct dp_aux *aux, struct dp_aux_cfg *aux_cfg);

+ 1 - 1
msm/dp/dp_display.c

@@ -2057,7 +2057,7 @@ static int dp_init_sub_modules(struct dp_display_private *dp)
 		goto error_aux;
 	}
 
-	rc = dp->aux->drm_aux_register(dp->aux);
+	rc = dp->aux->drm_aux_register(dp->aux, dp->dp_display.drm_dev);
 	if (rc) {
 		DP_ERR("DRM DP AUX register failed\n");
 		goto error_pll;