From 6778948f9de86c3cfaf36725a7c87dcff9ba247f Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Mon, 11 Dec 2023 08:20:59 +0000 Subject: [PATCH] kernel_5.10 no rt --- kernel/drivers/gpu/drm/bridge/maxim-max96755f.c | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-) diff --git a/kernel/drivers/gpu/drm/bridge/maxim-max96755f.c b/kernel/drivers/gpu/drm/bridge/maxim-max96755f.c index bfabb61..95dcd52 100644 --- a/kernel/drivers/gpu/drm/bridge/maxim-max96755f.c +++ b/kernel/drivers/gpu/drm/bridge/maxim-max96755f.c @@ -41,6 +41,7 @@ bool dv_swp_ab; bool dpi_deskew_en; bool split_mode; + bool bridge_dual_link; u32 dsi_lane_map[4]; struct { @@ -283,7 +284,7 @@ static void max96755f_bridge_reset_oneshot(struct max96755f_bridge *ser) { - regmap_update_bits(ser->regmap, 0x10, RESET_ONESHOT, + regmap_update_bits(ser->regmap, 0x0010, RESET_ONESHOT, FIELD_PREP(RESET_ONESHOT, 1)); mdelay(100); @@ -324,6 +325,12 @@ FIELD_PREP(START_PORTAY, 1)); regmap_update_bits(ser->regmap, 0x02, VID_TX_EN_X, FIELD_PREP(VID_TX_EN_X, 1)); + if (ser->bridge_dual_link) { + regmap_update_bits(ser->regmap, 0x0010, + AUTO_LINK | LINK_CFG, + FIELD_PREP(AUTO_LINK, 0) | + FIELD_PREP(LINK_CFG, DUAL_LINK)); + } } max96755f_bridge_reset_oneshot(ser); @@ -358,7 +365,7 @@ FIELD_PREP(VID_TX_EN_X, 0) | FIELD_PREP(VID_TX_EN_Y, 0)); - if (ser->split_mode) + if (ser->split_mode || ser->bridge_dual_link) regmap_update_bits(ser->regmap, 0x0010, AUTO_LINK | LINK_CFG, FIELD_PREP(AUTO_LINK, 1) | @@ -487,6 +494,7 @@ static int max96755f_bridge_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; + struct device_node *np = dev->of_node; struct max96755f_bridge *ser; int ret; @@ -529,6 +537,8 @@ if (ret) return dev_err_probe(dev, ret, "failed to request lock IRQ\n"); + ser->bridge_dual_link = of_property_read_bool(np, "bridge_dual_link"); + ser->bridge.funcs = &max96755f_bridge_funcs; ser->bridge.of_node = dev->of_node; ser->bridge.ops = DRM_BRIDGE_OP_DETECT; -- Gitblit v1.6.2