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

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

Merge "thermal: tsens: Disable Tsens interrupts during driver initialization"

parents 4f476c17 88d1db63
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -89,6 +89,7 @@
#define TSENS_TM_CRITICAL_INT_EN		BIT(2)
#define TSENS_TM_UPPER_INT_EN			BIT(1)
#define TSENS_TM_LOWER_INT_EN			BIT(0)
#define TSENS_TM_UPPER_LOWER_INT_DISABLE	0xffffffff

#define TSENS_TM_UPPER_INT_MASK(n)	(((n) & 0xffff0000) >> 16)
#define TSENS_TM_LOWER_INT_MASK(n)	((n) & 0xffff)
@@ -269,8 +270,8 @@ struct tsens_tm_device {
	uint32_t			wd_bark_val;
	int				tsens_irq;
	int				tsens_critical_irq;
	void				*tsens_addr;
	void				*tsens_calib_addr;
	void __iomem			*tsens_addr;
	void __iomem			*tsens_calib_addr;
	int				tsens_len;
	int				calib_len;
	struct resource			*res_tsens_mem;
@@ -2079,6 +2080,7 @@ static int tsens_hw_init(struct tsens_tm_device *tmdev)
	void __iomem *sensor_int_mask_addr;
	unsigned int srot_val;
	int crit_mask;
	void __iomem *int_mask_addr;

	if (!tmdev) {
		pr_err("Invalid tsens device\n");
@@ -2104,6 +2106,10 @@ static int tsens_hw_init(struct tsens_tm_device *tmdev)
			/*Update critical cycle monitoring*/
			mb();
		}
		int_mask_addr = TSENS_TM_UPPER_LOWER_INT_MASK
					(tmdev->tsens_addr);
		writel_relaxed(TSENS_TM_UPPER_LOWER_INT_DISABLE,
					int_mask_addr);
		writel_relaxed(TSENS_TM_CRITICAL_INT_EN |
			TSENS_TM_UPPER_INT_EN | TSENS_TM_LOWER_INT_EN,
			TSENS_TM_INT_EN(tmdev->tsens_addr));