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

Commit 4ad258cc authored by Harsh Vardhan Dwivedi's avatar Harsh Vardhan Dwivedi
Browse files

msm: kgsl: Set only valid values in kgsl_ft_policy



Only write valid GFT policy bits in the ft_policy bitfield
from sysfs.

Change-Id: Ib479c01abead57c48199e7bcde4435b4ccaa42e4
Signed-off-by: default avatarHarsh Vardhan Dwivedi <hdwivedi@codeaurora.org>
Signed-off-by: default avatarTarun Karra <tkarra@codeaurora.org>
parent c44dbd36
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -2012,12 +2012,17 @@ static ssize_t _ft_policy_store(struct device *dev,
{
	struct adreno_device *adreno_dev = _get_adreno_dev(dev);
	int ret;
	unsigned int temp;
	if (adreno_dev == NULL)
		return 0;

	mutex_lock(&adreno_dev->dev.mutex);
	ret = kgsl_sysfs_store(buf, &adreno_dev->ft_policy);
	ret = kgsl_sysfs_store(buf, &temp);
	mutex_unlock(&adreno_dev->dev.mutex);
	if (!ret) {
		temp &= KGSL_FT_POLICY_MASK;
		adreno_dev->ft_policy = temp;
	}

	return ret < 0 ? ret : count;
}
+7 −2
Original line number Diff line number Diff line
@@ -620,8 +620,13 @@ struct log_field {
#define  KGSL_FT_TEMP_DISABLE             5
#define  KGSL_FT_THROTTLE                 6
#define  KGSL_FT_SKIPCMD                  7
#define  KGSL_FT_DEFAULT_POLICY (BIT(KGSL_FT_REPLAY) + BIT(KGSL_FT_SKIPCMD) \
				+ BIT(KGSL_FT_THROTTLE))
#define  KGSL_FT_DEFAULT_POLICY (BIT(KGSL_FT_REPLAY) + \
	BIT(KGSL_FT_SKIPCMD) + BIT(KGSL_FT_THROTTLE))
#define KGSL_FT_POLICY_MASK (BIT(KGSL_FT_OFF) + \
	BIT(KGSL_FT_REPLAY) + BIT(KGSL_FT_SKIPIB) \
	+ BIT(KGSL_FT_SKIPFRAME) + BIT(KGSL_FT_DISABLE) + \
	BIT(KGSL_FT_TEMP_DISABLE) + BIT(KGSL_FT_THROTTLE) + \
	BIT(KGSL_FT_SKIPCMD))

/* This internal bit is used to skip the PM dump on replayed command batches */
#define  KGSL_FT_SKIP_PMDUMP              31