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

Commit 61961faa authored by Shrey Vijay's avatar Shrey Vijay Committed by Vipin Deep Kaur
Browse files

qcom-geni-se: Disable FIFO watermark irq in DMA mode



Disable RX and TX FIFO watermark interrupts in SE_DMA mode
of transfer, as these interrupts are not required.

Signed-off-by: default avatarShrey Vijay <shreyv@codeaurora.org>
Change-Id: I48b83d31b1eb2c651807bcd5b1052908b941dff2
parent 71644d76
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -309,7 +309,9 @@ static int geni_se_select_fifo_mode(void __iomem *base)

static int geni_se_select_dma_mode(void __iomem *base)
{
	int proto = get_se_proto(base);
	unsigned int geni_dma_mode = 0;
	unsigned int common_geni_m_irq_en;

	geni_write_reg(0, base, SE_GSI_EVENT_EN);
	geni_write_reg(0xFFFFFFFF, base, SE_GENI_M_IRQ_CLEAR);
@@ -318,6 +320,12 @@ static int geni_se_select_dma_mode(void __iomem *base)
	geni_write_reg(0xFFFFFFFF, base, SE_DMA_RX_IRQ_CLR);
	geni_write_reg(0xFFFFFFFF, base, SE_IRQ_EN);

	common_geni_m_irq_en = geni_read_reg(base, SE_GENI_M_IRQ_EN);
	if (proto != UART)
		common_geni_m_irq_en &=
			~(M_TX_FIFO_WATERMARK_EN | M_RX_FIFO_WATERMARK_EN);

	geni_write_reg(common_geni_m_irq_en, base, SE_GENI_M_IRQ_EN);
	geni_dma_mode = geni_read_reg(base, SE_GENI_DMA_MODE_EN);
	geni_dma_mode |= GENI_DMA_MODE_EN;
	geni_write_reg(geni_dma_mode, base, SE_GENI_DMA_MODE_EN);