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

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

Merge "hwmon: qpnp-adc-voltage: Modify temperature compensation"

parents bfa61cb5 75e00574
Loading
Loading
Loading
Loading
+12 −31
Original line number Original line Diff line number Diff line
@@ -539,32 +539,22 @@ static int32_t qpnp_ocv_comp(int64_t *result,
	if (version == -EINVAL)
	if (version == -EINVAL)
		return 0;
		return 0;


	if (version == QPNP_REV_ID_8110_2_0) {
	if (version == QPNP_REV_ID_8026_2_2) {
		if (die_temp < -20000)
			die_temp = -20000;
	} else if (version == QPNP_REV_ID_8026_2_2) {
		if (die_temp > 25000)
		if (die_temp > 25000)
			return 0;
			return 0;
	} else {
		if (die_temp < 25000)
			return 0;
		if (die_temp > 60000)
			die_temp = 60000;
	}
	}


	switch (version) {
	switch (version) {
	case QPNP_REV_ID_8941_3_1:
	case QPNP_REV_ID_8941_3_1:
		switch (vadc->id) {
		switch (vadc->id) {
		case COMP_ID_TSMC:
		case COMP_ID_TSMC:
			temp_var = (((die_temp *
			 temp_var = ((die_temp - 25000) *
			(-QPNP_VBAT_COEFF_4))
			(-QPNP_VBAT_COEFF_4));
			+ QPNP_VBAT_COEFF_5));
			break;
			break;
		default:
		default:
		case COMP_ID_GF:
		case COMP_ID_GF:
			temp_var = (((die_temp *
			temp_var = ((die_temp - 25000) *
			(-QPNP_VBAT_COEFF_1))
			(-QPNP_VBAT_COEFF_1));
			+ QPNP_VBAT_COEFF_2));
			break;
			break;
		}
		}
		break;
		break;
@@ -621,9 +611,6 @@ static int32_t qpnp_ocv_comp(int64_t *result,
				temp_var = QPNP_VBAT_COEFF_19;
				temp_var = QPNP_VBAT_COEFF_19;
			temp_var = (die_temp - 25000) * temp_var;
			temp_var = (die_temp - 25000) * temp_var;
			break;
			break;
		case COMP_ID_TSMC:
			pr_debug("No TSMC Comp Info, exiting\n");
			return 0;
		default:
		default:
		case COMP_ID_GF:
		case COMP_ID_GF:
			*result -= QPNP_OCV_OFFSET_GF;
			*result -= QPNP_OCV_OFFSET_GF;
@@ -663,12 +650,7 @@ static int32_t qpnp_vbat_sns_comp(int64_t *result,
	if (version == -EINVAL)
	if (version == -EINVAL)
		return 0;
		return 0;


	if (version == QPNP_REV_ID_8110_2_0) {
	if (version != QPNP_REV_ID_8941_3_1) {
		if (die_temp < -20000)
			die_temp = -20000;
	} else {
		if (die_temp < 25000)
			return 0;
		/* min(die_temp_c, 60_degC) */
		/* min(die_temp_c, 60_degC) */
		if (die_temp > 60000)
		if (die_temp > 60000)
			die_temp = 60000;
			die_temp = 60000;
@@ -678,14 +660,16 @@ static int32_t qpnp_vbat_sns_comp(int64_t *result,
	case QPNP_REV_ID_8941_3_1:
	case QPNP_REV_ID_8941_3_1:
		switch (vadc->id) {
		switch (vadc->id) {
		case COMP_ID_TSMC:
		case COMP_ID_TSMC:
			temp_var = (die_temp *
			temp_var = ((die_temp - 25000) *
			(-QPNP_VBAT_COEFF_1));
			(-QPNP_VBAT_COEFF_1));
			break;
			break;
		default:
		default:
		case COMP_ID_GF:
		case COMP_ID_GF:
			temp_var = (((die_temp *
			/* min(die_temp_c, 60_degC) */
			(-QPNP_VBAT_COEFF_6))
			if (die_temp > 60000)
			+ QPNP_VBAT_COEFF_7));
				die_temp = 60000;
			temp_var = ((die_temp - 25000) *
			(-QPNP_VBAT_COEFF_1));
			break;
			break;
		}
		}
		break;
		break;
@@ -737,9 +721,6 @@ static int32_t qpnp_vbat_sns_comp(int64_t *result,
			temp_var = ((die_temp - 25000) *
			temp_var = ((die_temp - 25000) *
			(QPNP_VBAT_COEFF_17));
			(QPNP_VBAT_COEFF_17));
			break;
			break;
		case COMP_ID_TSMC:
			pr_debug("No TSMC Comp Info, exiting\n");
			return 0;
		default:
		default:
		case COMP_ID_GF:
		case COMP_ID_GF:
			*result -= QPNP_VBAT_OFFSET_GF;
			*result -= QPNP_VBAT_OFFSET_GF;