Signed-off-by: John Crispin <john@phrozen.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
		
			
				
	
	
		
			27 lines
		
	
	
		
			973 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			973 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 9864f39695aefe0831b3c6e86c0dff30489ad580 Mon Sep 17 00:00:00 2001
 | 
						|
From: Matthew McClintock <mmcclint@codeaurora.org>
 | 
						|
Date: Thu, 10 Mar 2016 16:48:27 -0600
 | 
						|
Subject: [PATCH 08/69] spi: qup: don't re-read opflags to see if transaction
 | 
						|
 is done for reads
 | 
						|
 | 
						|
For reads, we will get another interrupt so we need to handle things
 | 
						|
then. For writes, we can finish up now.
 | 
						|
 | 
						|
Signed-off-by: Matthew McClintock <mmcclint@codeaurora.org>
 | 
						|
---
 | 
						|
 drivers/spi/spi-qup.c | 3 ++-
 | 
						|
 1 file changed, 2 insertions(+), 1 deletion(-)
 | 
						|
 | 
						|
--- a/drivers/spi/spi-qup.c
 | 
						|
+++ b/drivers/spi/spi-qup.c
 | 
						|
@@ -567,7 +567,8 @@ static irqreturn_t spi_qup_qup_irq(int i
 | 
						|
 	}
 | 
						|
 
 | 
						|
 	/* re-read opflags as flags may have changed due to actions above */
 | 
						|
-	opflags = readl_relaxed(controller->base + QUP_OPERATIONAL);
 | 
						|
+	if (opflags & QUP_OP_OUT_SERVICE_FLAG)
 | 
						|
+		opflags = readl_relaxed(controller->base + QUP_OPERATIONAL);
 | 
						|
 
 | 
						|
 	if ((controller->rx_bytes == xfer->len &&
 | 
						|
 		(opflags & QUP_OP_MAX_INPUT_DONE_FLAG)) ||  error)
 |