Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 133406eb authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "Merge remote-tracking branch 'origin/dev/msm-3.18-drm_kms' into msm-3.18"

parents f6a9d356 b566bb16
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -602,8 +602,13 @@
	/delete-property/ qcom,dsi-display-active;
};

&hdmi_display {
	qcom,display-type = "primary";
};

&dsi_adv_7533_1 {
	qcom,dsi-display-active;
	qcom,display-type = "secondary";

	qcom,panel-supply-entries {
		#address-cells = <1>;
+45 −9
Original line number Diff line number Diff line
@@ -362,23 +362,23 @@
		};
		qcom,sde-plane-id@2 {
			qcom,display-type = "primary";
			qcom,plane-name = "vig2", "vig3";
			qcom,plane-name = "dma0", "dma1";
			qcom,plane-type = "overlay";
		};
		qcom,sde-plane-id@3 {
			qcom,display-type = "primary";
			qcom,plane-name = "rgb2", "rgb3";
			qcom,plane-type = "overlay";
			qcom,plane-name = "cursor0", "cursor1";
			qcom,plane-type = "cursor";
		};
		qcom,sde-plane-id@4 {
			qcom,display-type = "primary";
			qcom,plane-name = "dma0", "dma1";
			qcom,plane-type = "overlay";
			qcom,display-type = "secondary";
			qcom,plane-name = "rgb2", "rgb3";
			qcom,plane-type = "primary";
		};
		qcom,sde-plane-id@5 {
			qcom,display-type = "primary";
			qcom,plane-name = "cursor0", "cursor1";
			qcom,plane-type = "cursor";
			qcom,display-type = "secondary";
			qcom,plane-name = "vig2", "vig3";
			qcom,plane-type = "overlay";
		};
	};
};
@@ -393,6 +393,42 @@
	qcom,hdmi-tx-mux-lpm-gpio = <&tlmm 85 0>;
};

&dsi_dual_sharp_video_1 {
	/delete-property/ qcom,dsi-display-active;
};

&hdmi_display {
	qcom,display-type = "primary";
};

&dsi_adv_7533_1 {
	qcom,dsi-display-active;
	qcom,display-type = "secondary";

	qcom,panel-supply-entries {
		#address-cells = <1>;
		#size-cells = <0>;

		qcom,panel-supply-entry@0 {
			reg = <0>;
			qcom,supply-name = "vdd";
			qcom,supply-min-voltage = <3300000>;
			qcom,supply-max-voltage = <3300000>;
			qcom,supply-enable-load = <100000>;
			qcom,supply-disable-load = <100>;
		};

		qcom,panel-supply-entry@1 {
			reg = <1>;
			qcom,supply-name = "vddio";
			qcom,supply-min-voltage = <1800000>;
			qcom,supply-max-voltage = <1800000>;
			qcom,supply-enable-load = <100000>;
			qcom,supply-disable-load = <100>;
		};
	};
};

&mdss_mdp {
	qcom,mdss-pref-prim-intf = "dsi";
};
+12 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@
 * @hdmi_mode:          HDMI or DVI mode for the sink
 * @num_of_input_lanes: Number of input lanes in case of DSI/LVDS
 * @pluggable:          If it's pluggable
 * @panel_count:        Number of panels attached to this display
 */
struct dba_bridge {
	struct drm_bridge base;
@@ -48,6 +49,7 @@ struct dba_bridge {
	bool hdmi_mode;
	u32 num_of_input_lanes;
	bool pluggable;
	u32 panel_count;
};
#define to_dba_bridge(x)     container_of((x), struct dba_bridge, base)

@@ -225,9 +227,18 @@ static void _dba_bridge_mode_set(struct drm_bridge *bridge,
	if (!bridge || !mode || !adjusted_mode || !d_bridge) {
		SDE_ERROR("Invalid params\n");
		return;
	} else if (!d_bridge->panel_count) {
		SDE_ERROR("Panel count is 0\n");
		return;
	}

	d_bridge->mode = *adjusted_mode;
	/* Adjust mode according to number of panels */
	d_bridge->mode.hdisplay /= d_bridge->panel_count;
	d_bridge->mode.hsync_start /= d_bridge->panel_count;
	d_bridge->mode.hsync_end /= d_bridge->panel_count;
	d_bridge->mode.htotal /= d_bridge->panel_count;
	d_bridge->mode.clock /= d_bridge->panel_count;
}

static bool _dba_bridge_mode_fixup(struct drm_bridge *bridge,
@@ -293,6 +304,7 @@ struct drm_bridge *dba_bridge_init(struct drm_device *dev,
	bridge->hdmi_mode = data->hdmi_mode;
	bridge->num_of_input_lanes = data->num_of_input_lanes;
	bridge->pluggable = data->pluggable;
	bridge->panel_count = data->panel_count;
	bridge->base.funcs = &_dba_bridge_ops;
	bridge->base.encoder = encoder;

+2 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@
 * @num_of_input_lanes:   Number of input lanes in case of DSI/LVDS
 * @precede_bridge:       Precede bridge chip
 * @pluggable:            If it's pluggable
 * @panel_count:          Number of panels attached to this display
 */
struct dba_bridge_init {
	const char *client_name;
@@ -42,6 +43,7 @@ struct dba_bridge_init {
	u32 num_of_input_lanes;
	struct drm_bridge *precede_bridge;
	bool pluggable;
	u32 panel_count;
};

/**
+2 −2
Original line number Diff line number Diff line
@@ -198,12 +198,12 @@ enum dsi_video_traffic_mode {
 * @h_sync_width:     HSYNC width in pixels.
 * @h_front_porch:    Horizontal fron porch in pixels.
 * @h_skew:
 * @h_sync_polarity:  Polarity of HSYNC (false is active low).
 * @h_sync_polarity:  Polarity of HSYNC (false is active high).
 * @v_active:         Active height of one frame in lines.
 * @v_back_porch:     Vertical back porch in lines.
 * @v_sync_width:     VSYNC width in lines.
 * @v_front_porch:    Vertical front porch in lines.
 * @v_sync_polarity:  Polarity of VSYNC (false is active low).
 * @v_sync_polarity:  Polarity of VSYNC (false is active high).
 * @refresh_rate:     Refresh rate in Hz.
 */
struct dsi_mode_info {
Loading