|
@@ -7,6 +7,7 @@
|
|
|
#include <linux/completion.h>
|
|
|
#include <linux/delay.h>
|
|
|
#include <drm/drm_fixed.h>
|
|
|
+#include <linux/version.h>
|
|
|
|
|
|
#include "dp_ctrl.h"
|
|
|
#include "dp_debug.h"
|
|
@@ -372,7 +373,11 @@ static int dp_ctrl_link_training_1(struct dp_ctrl_private *ctrl)
|
|
|
if (ret)
|
|
|
break;
|
|
|
|
|
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 0))
|
|
|
drm_dp_link_train_clock_recovery_delay(ctrl->aux->drm_aux, ctrl->panel->dpcd);
|
|
|
+#else
|
|
|
+ drm_dp_link_train_clock_recovery_delay(ctrl->panel->dpcd);
|
|
|
+#endif
|
|
|
|
|
|
ret = dp_ctrl_read_link_status(ctrl, link_status);
|
|
|
if (ret)
|
|
@@ -457,7 +462,11 @@ static int dp_ctrl_link_rate_down_shift(struct dp_ctrl_private *ctrl)
|
|
|
static void dp_ctrl_clear_training_pattern(struct dp_ctrl_private *ctrl)
|
|
|
{
|
|
|
dp_ctrl_update_sink_pattern(ctrl, 0);
|
|
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 0))
|
|
|
drm_dp_link_train_channel_eq_delay(ctrl->aux->drm_aux, ctrl->panel->dpcd);
|
|
|
+#else
|
|
|
+ drm_dp_link_train_channel_eq_delay(ctrl->panel->dpcd);
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
static int dp_ctrl_link_training_2(struct dp_ctrl_private *ctrl)
|
|
@@ -503,7 +512,11 @@ static int dp_ctrl_link_training_2(struct dp_ctrl_private *ctrl)
|
|
|
if (ret)
|
|
|
break;
|
|
|
|
|
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 0))
|
|
|
drm_dp_link_train_channel_eq_delay(ctrl->aux->drm_aux, ctrl->panel->dpcd);
|
|
|
+#else
|
|
|
+ drm_dp_link_train_channel_eq_delay(ctrl->panel->dpcd);
|
|
|
+#endif
|
|
|
|
|
|
ret = dp_ctrl_read_link_status(ctrl, link_status);
|
|
|
if (ret)
|