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

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

Merge "msm: vidc: Update video clock flags" into msm-4.9

parents 86b60d62 03edb084
Loading
Loading
Loading
Loading
+22 −13
Original line number Original line Diff line number Diff line
@@ -3386,6 +3386,7 @@ static inline int __init_clocks(struct venus_hfi_device *device)
static inline void __disable_unprepare_clks(struct venus_hfi_device *device)
static inline void __disable_unprepare_clks(struct venus_hfi_device *device)
{
{
	struct clock_info *cl;
	struct clock_info *cl;
	int rc = 0;


	if (!device) {
	if (!device) {
		dprintk(VIDC_ERR, "Invalid params: %pK\n", device);
		dprintk(VIDC_ERR, "Invalid params: %pK\n", device);
@@ -3395,6 +3396,18 @@ static inline void __disable_unprepare_clks(struct venus_hfi_device *device)
	venus_hfi_for_each_clock_reverse(device, cl) {
	venus_hfi_for_each_clock_reverse(device, cl) {
		dprintk(VIDC_DBG, "Clock: %s disable and unprepare\n",
		dprintk(VIDC_DBG, "Clock: %s disable and unprepare\n",
				cl->name);
				cl->name);
		rc = clk_set_flags(cl->clk, CLKFLAG_NORETAIN_PERIPH);
		if (rc) {
			dprintk(VIDC_WARN,
				"Failed set flag NORETAIN_PERIPH %s\n",
					cl->name);
		}
		rc = clk_set_flags(cl->clk, CLKFLAG_NORETAIN_MEM);
		if (rc) {
			dprintk(VIDC_WARN,
				"Failed set flag NORETAIN_MEM %s\n",
					cl->name);
		}
		clk_disable_unprepare(cl->clk);
		clk_disable_unprepare(cl->clk);
	}
	}
}
}
@@ -3418,22 +3431,18 @@ static inline int __prepare_enable_clks(struct venus_hfi_device *device)
		if (cl->has_scaling)
		if (cl->has_scaling)
			clk_set_rate(cl->clk, clk_round_rate(cl->clk, 0));
			clk_set_rate(cl->clk, clk_round_rate(cl->clk, 0));


		if (cl->has_mem_retention) {
		rc = clk_set_flags(cl->clk, CLKFLAG_RETAIN_PERIPH);
			rc = clk_set_flags(cl->clk, CLKFLAG_NORETAIN_PERIPH);
		if (rc) {
		if (rc) {
			dprintk(VIDC_WARN,
			dprintk(VIDC_WARN,
					"Failed set flag NORETAIN_PERIPH %s\n",
				"Failed set flag RETAIN_PERIPH %s\n",
					cl->name);
					cl->name);
		}
		}

		rc = clk_set_flags(cl->clk, CLKFLAG_RETAIN_MEM);
			rc = clk_set_flags(cl->clk, CLKFLAG_NORETAIN_MEM);
		if (rc) {
		if (rc) {
			dprintk(VIDC_WARN,
			dprintk(VIDC_WARN,
					"Failed set flag NORETAIN_MEM %s\n",
				"Failed set flag RETAIN_MEM %s\n",
					cl->name);
					cl->name);
		}
		}
		}

		rc = clk_prepare_enable(cl->clk);
		rc = clk_prepare_enable(cl->clk);
		if (rc) {
		if (rc) {
			dprintk(VIDC_ERR, "Failed to enable clocks\n");
			dprintk(VIDC_ERR, "Failed to enable clocks\n");