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

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

Merge "ARM: dts: msm: Update MDSS mixers in msm8937 DT"

parents 5d82f29d 18d1d8ef
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -74,7 +74,6 @@

		qcom,mdss-ctl-off = <0x00002000 0x00002200 0x00002400>;
		qcom,mdss-mixer-intf-off = <0x00045000 0x00046000>;
		qcom,mdss-mixer-wb-off = <0x00048000>;
		qcom,mdss-dspp-off = <0x00055000>;
		qcom,mdss-wb-off = <0x00065000 0x00066000>;
		qcom,mdss-intf-off = <0x0006B000 0x0006B800 0x0006C000>;
+39 −11
Original line number Diff line number Diff line
@@ -2576,6 +2576,7 @@ static int mdss_mdp_parse_dt_mixer(struct platform_device *pdev)
	int rc = 0;
	u32 *mixer_offsets = NULL, *dspp_offsets = NULL,
	    *pingpong_offsets = NULL;
	u32 is_virtual_mixer_req = false;

	struct mdss_data_type *mdata = platform_get_drvdata(pdev);

@@ -2630,10 +2631,22 @@ static int mdss_mdp_parse_dt_mixer(struct platform_device *pdev)
	if (rc)
		goto parse_done;

	if (mdata->nmixers_wb) {
		rc = mdss_mdp_parse_dt_handler(pdev, "qcom,mdss-mixer-wb-off",
		mixer_offsets + mdata->nmixers_intf, mdata->nmixers_wb);
				mixer_offsets + mdata->nmixers_intf,
				mdata->nmixers_wb);
		if (rc)
			goto parse_done;
	} else {
		/*
		 * If writeback mixers are not available, put the number of
		 * writeback mixers equal to number of DMA pipes so that
		 * later same number of virtual writeback mixers can be
		 * allocated.
		 */
		mdata->nmixers_wb = mdata->ndma_pipes;
		is_virtual_mixer_req = true;
	}

	rc = mdss_mdp_parse_dt_handler(pdev, "qcom,mdss-dspp-off",
		dspp_offsets, mdata->ndspp);
@@ -2651,11 +2664,27 @@ static int mdss_mdp_parse_dt_mixer(struct platform_device *pdev)
	if (rc)
		goto parse_done;

	if (mdata->nmixers_wb) {
		if (is_virtual_mixer_req) {
			/*
			 * Replicate last interface mixers based on number of
			 * dma pipes available as virtual writeback mixers.
			 */
			rc = mdss_mdp_mixer_addr_setup(mdata, mixer_offsets +
				mdata->nmixers_intf - mdata->ndma_pipes,
				NULL, NULL, MDSS_MDP_MIXER_TYPE_WRITEBACK,
				mdata->nmixers_wb);
			if (rc)
				goto parse_done;
		} else {
			rc = mdss_mdp_mixer_addr_setup(mdata, mixer_offsets +
				mdata->nmixers_intf, NULL, NULL,
			MDSS_MDP_MIXER_TYPE_WRITEBACK, mdata->nmixers_wb);
				MDSS_MDP_MIXER_TYPE_WRITEBACK,
				mdata->nmixers_wb);
			if (rc)
				goto parse_done;
		}
	}

parse_done:
	kfree(pingpong_offsets);
@@ -2812,8 +2841,7 @@ static int mdss_mdp_parse_dt_wb(struct platform_device *pdev)

	mdata = platform_get_drvdata(pdev);

	num_wb_mixer = mdss_mdp_parse_dt_prop_len(pdev,
				"qcom,mdss-mixer-wb-off");
	num_wb_mixer = mdata->nmixers_wb;

	wfd_data = of_get_property(pdev->dev.of_node,
					"qcom,mdss-wfd-mode", NULL);