hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
....@@ -437,6 +437,16 @@
437437 } else {
438438 s->output_if |= dp->id ? VOP_OUTPUT_IF_eDP1 : VOP_OUTPUT_IF_eDP0;
439439 }
440
+
441
+ if (dp->plat_data.dual_connector_split) {
442
+ s->output_flags |= ROCKCHIP_OUTPUT_DUAL_CONNECTOR_SPLIT_MODE;
443
+
444
+ if (dp->plat_data.left_display)
445
+ s->output_if_left_panel |= dp->id ?
446
+ VOP_OUTPUT_IF_eDP1 :
447
+ VOP_OUTPUT_IF_eDP0;
448
+ }
449
+
440450 s->output_bpc = di->bpc;
441451 s->bus_flags = di->bus_flags;
442452 s->tv_state = &conn_state->tv;
....@@ -678,6 +688,12 @@
678688 device_property_read_u32(dev, "min-refresh-rate", &dp->min_refresh_rate);
679689 device_property_read_u32(dev, "max-refresh-rate", &dp->max_refresh_rate);
680690
691
+ if (dp->data->split_mode && device_property_read_bool(dev, "dual-connector-split")) {
692
+ dp->plat_data.dual_connector_split = true;
693
+ if (device_property_read_bool(dev, "left-display"))
694
+ dp->plat_data.left_display = true;
695
+ }
696
+
681697 ret = component_add(dev, &rockchip_dp_component_ops);
682698 if (ret)
683699 goto err_dp_remove;