Commit bfcc3d8f authored by Dmitry Baryshkov's avatar Dmitry Baryshkov
Browse files

drm/msm/dp: support setting the DP subconnector type

parent 6398e4d4
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -364,8 +364,12 @@ static int dp_display_send_hpd_notification(struct dp_display_private *dp,
	}

	/* reset video pattern flag on disconnect */
	if (!hpd)
	if (!hpd) {
		dp->panel->video_test = false;
		drm_dp_set_subconnector_property(dp->dp_display.connector,
						 connector_status_disconnected,
						 dp->panel->dpcd, dp->panel->downstream_ports);
	}

	dp->dp_display.is_connected = hpd;

@@ -393,6 +397,9 @@ static int dp_display_process_hpd_high(struct dp_display_private *dp)

	dp_link_process_request(dp->link);

	drm_dp_set_subconnector_property(dp->dp_display.connector, connector_status_connected,
					 dp->panel->dpcd, dp->panel->downstream_ports);

	edid = dp->panel->edid;

	dp->dp_display.psr_supported = dp->panel->psr_cap.version && psr_enabled;
+5 −0
Original line number Diff line number Diff line
@@ -161,6 +161,11 @@ int dp_panel_read_sink_caps(struct dp_panel *dp_panel,
		}
	}

	rc = drm_dp_read_downstream_info(panel->aux, dp_panel->dpcd,
					 dp_panel->downstream_ports);
	if (rc)
		return rc;

	kfree(dp_panel->edid);
	dp_panel->edid = NULL;

+1 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ struct dp_panel_psr {
struct dp_panel {
	/* dpcd raw data */
	u8 dpcd[DP_RECEIVER_CAP_SIZE];
	u8 downstream_ports[DP_MAX_DOWNSTREAM_PORTS];

	struct dp_link_info link_info;
	struct drm_dp_desc desc;