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

Commit 317d9a5e authored by Shrey Vijay's avatar Shrey Vijay
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 202aa1fb
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -317,7 +317,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);
@@ -326,6 +328,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);