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

Commit 2bc8103c authored by Mao Jinlong's avatar Mao Jinlong Committed by Tingwei Zhang
Browse files

dcc_v2: Don't set the default value to sram when dcc is enabled



If set the default value to sram when dcc is enabled, there will be
stuck issue for dcc dump.

Change-Id: I784993d6db41e1afed92ccc05bec0cf1987a3e04
Signed-off-by: default avatarMao Jinlong <jinlmao@codeaurora.org>
parent 899c49c7
Loading
Loading
Loading
Loading
+22 −3
Original line number Diff line number Diff line
@@ -589,13 +589,15 @@ static int dcc_valid_list(struct dcc_drvdata *drvdata, int curr_list)
		return -EINVAL;

	if (drvdata->enable[curr_list]) {
		dev_err(drvdata->dev, "DCC is already enabled\n");
		dev_err(drvdata->dev, "List %d is already enabled\n",
				curr_list);
		return -EINVAL;
	}

	lock_reg = dcc_readl(drvdata, DCC_LL_LOCK(curr_list));
	if (lock_reg & 0x1) {
		dev_err(drvdata->dev, "DCC is already enabled\n");
		dev_err(drvdata->dev, "List %d is already locked\n",
				curr_list);
		return -EINVAL;
	}

@@ -603,6 +605,21 @@ static int dcc_valid_list(struct dcc_drvdata *drvdata, int curr_list)
	return 0;
}

static bool is_dcc_enabled(struct dcc_drvdata *drvdata)
{
	bool dcc_enable = false;
	int list;

	for (list = 0; list < DCC_MAX_LINK_LIST; list++) {
		if (drvdata->enable[list]) {
			dcc_enable = true;
			break;
		}
	}

	return dcc_enable;
}

static int dcc_enable(struct dcc_drvdata *drvdata)
{
	int ret = 0;
@@ -611,7 +628,9 @@ static int dcc_enable(struct dcc_drvdata *drvdata)

	mutex_lock(&drvdata->mutex);

	if (!is_dcc_enabled(drvdata)) {
		memset_io(drvdata->ram_base, 0xDE, drvdata->ram_size);
	}

	for (list = 0; list < drvdata->nr_link_list; list++) {