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

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

Merge "msm: mdss: send panic/robust signal to bimc on ferrum"

parents b3cd5e99 8f5a0c9f
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1112,6 +1112,7 @@ static int mdp3_parse_dt(struct platform_device *pdev)
{
	struct resource *res;
	struct property *prop = NULL;
	bool panic_ctrl;
	int rc;

	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "mdp_phys");
@@ -1149,6 +1150,10 @@ static int mdp3_parse_dt(struct platform_device *pdev)
	prop = of_find_property(pdev->dev.of_node, "batfet-supply", NULL);
	mdp3_res->batfet_required = prop ? true : false;

	panic_ctrl = of_property_read_bool(
				pdev->dev.of_node, "qcom,mdss-has-panic-ctrl");
	mdp3_res->dma[MDP3_DMA_P].has_panic_ctrl = panic_ctrl;

	return 0;
}

+6 −0
Original line number Diff line number Diff line
@@ -894,6 +894,9 @@ static int mdp3_dma_start(struct mdp3_dma *dma, struct mdp3_intf *intf)
	init_completion(&dma->vsync_comp);
	spin_unlock_irqrestore(&dma->dma_lock, flag);

	if (dma->dma_sel == MDP3_DMA_P && dma->has_panic_ctrl)
		MDP3_REG_WRITE(MDP3_PANIC_ROBUST_CTRL, BIT(0));

	mdp3_dma_callback_enable(dma, cb_type);
	pr_debug("mdp3_dma_start wait for vsync_comp in\n");
	wait_for_completion_killable(&dma->vsync_comp);
@@ -913,6 +916,9 @@ static int mdp3_dma_stop(struct mdp3_dma *dma, struct mdp3_intf *intf)
	else
		return -EINVAL;

	if (dma->dma_sel == MDP3_DMA_P && dma->has_panic_ctrl)
		MDP3_REG_WRITE(MDP3_PANIC_ROBUST_CTRL, 0);

	if (dma->output_config.out_sel == MDP3_DMA_OUTPUT_SEL_DSI_VIDEO)
		display_status_bit |= BIT(11);

+1 −0
Original line number Diff line number Diff line
@@ -273,6 +273,7 @@ struct mdp3_dma {
	struct mdp3_dma_histogram_data histo_data;
	unsigned int vsync_status;
	bool update_src_cfg;
	bool has_panic_ctrl;

	int (*dma_config)(struct mdp3_dma *dma,
			struct mdp3_dma_source *source_config,
+3 −0
Original line number Diff line number Diff line
@@ -64,6 +64,9 @@
/*clock control*/
#define MDP3_REG_CGC_EN					0x0100

/*danger safe*/
#define MDP3_PANIC_ROBUST_CTRL				0x900A0

/*DMA_P*/
#define MDP3_REG_DMA_P_CONFIG				0x90000
#define MDP3_REG_DMA_P_SIZE				0x90004