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

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

Merge "msm: kgsl: change ISENSE calibration handshake order"

parents 7332de59 dcce0af5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -907,5 +907,6 @@
#define A5XX_GPU_CS_AMP_CALIBRATION_STATUS1_4	0xC421
#define A5XX_GPU_CS_ENABLE_REG			0xC520
#define A5XX_GPU_CS_AMP_CALIBRATION_CONTROL1	0xC557
#define A5XX_GPU_CS_AMP_CALIBRATION_DONE	0xC565
#endif /* _A5XX_REG_H */
+9 −3
Original line number Diff line number Diff line
@@ -1665,9 +1665,12 @@ static int isense_cot(struct adreno_device *adreno_dev)
	unsigned int r, ret;
	struct kgsl_device *device = KGSL_DEVICE(adreno_dev);


	kgsl_regwrite(device, A5XX_GPU_CS_AMP_CALIBRATION_CONTROL1,
		AMP_SW_TRIM_START);
	kgsl_regrmw(device, A5XX_GPU_CS_AMP_CALIBRATION_DONE,
		SW_OPAMP_CAL_DONE, 0);
	kgsl_regrmw(device, A5XX_GPU_CS_AMP_CALIBRATION_CONTROL1,
		AMP_SW_TRIM_START, 0);
	kgsl_regrmw(device, A5XX_GPU_CS_AMP_CALIBRATION_CONTROL1,
		AMP_SW_TRIM_START, AMP_SW_TRIM_START);

	for (ret = 0; ret < AMP_CALIBRATION_TIMEOUT; ret++) {
		kgsl_regread(device, A5XX_GPU_CS_SENSOR_GENERAL_STATUS, &r);
@@ -1694,6 +1697,9 @@ static int isense_cot(struct adreno_device *adreno_dev)
	if (r & AMP_CALIBRATION_ERR)
		return -EIO;

	kgsl_regrmw(device, A5XX_GPU_CS_AMP_CALIBRATION_DONE,
		SW_OPAMP_CAL_DONE, 1);

	return 0;
}

+3 −0
Original line number Diff line number Diff line
@@ -123,6 +123,9 @@ void a5xx_hwcg_set(struct adreno_device *adreno_dev, bool on);
#define AMP_OFFSET_CHECK_MAX_ERR	BIT(2)
#define AMP_OFFSET_CHECK_MIN_ERR	BIT(1)

/* A5XX_GPU_CS_AMP_CALIBRATION_DONE */
#define SW_OPAMP_CAL_DONE           BIT(0)

#define AMP_CALIBRATION_ERR (AMP_OFFSET_CHECK_MIN_ERR | \
		AMP_OFFSET_CHECK_MAX_ERR | AMP_OUT_OF_RANGE_ERR)