Thread (9 messages) flat view 9 messages, 5 authors, 2019-03-11

RE: [PATCH] net: mvpp2: avoid bouncing buffers

From: Yan Markman <hidden>
Date: 2018-08-20 07:02:50
Also in: lkml

Hi everybody
The MVPP2 code already has DMA's patch taken from OLD Backport and placed by Antoine Tenart.
Please refer the attached 
Best regards
Yan Markman


-----Original Message-----
From: Christoph Hellwig [mailto:hch@infradead.org] 
Sent: Monday, August 20, 2018 9:23 AM
To: David Miller <davem@davemloft.net>
Cc: brian.brooks@linaro.org; antoine.tenart@bootlin.com; maxime.chevallier@bootlin.com; Yan Markman <redacted>; Stefan Chulski <redacted>; netdev@vger.kernel.org; linux-kernel@vger.kernel.org; bjorn.topel@intel.com; brian.brooks@arm.com
Subject: Re: [PATCH] net: mvpp2: avoid bouncing buffers

On Sun, Aug 19, 2018 at 07:55:05PM -0700, David Miller wrote:
From: Brian Brooks <redacted>
Date: Sun, 19 Aug 2018 21:47:30 -0500
quoted
@@ -5126,6 +5126,12 @@ static int mvpp2_probe(struct platform_device *pdev)
 	}
 
 	if (priv->hw_version == MVPP22) {
+		/* Platform code may have set dev->dma_mask to point
+		 * to dev->coherent_dma_mask, but we want to ensure
+		 * they take different values due to comment below.
+		 */
+		pdev->dev.dma_mask = &priv->dma_mask;
The platform code might be doing this exactly because it cannot 
support different coherent and streaming DMA masks.

Well, in any case, the platform code is doing it for a reason and 
overriding this in a "driver" of all places seems totally 
inappropriate and at best a layering violation.

I would rather you fix this in a way that involves well defined APIs 
that set the DMA masks or whatever to the values that you need, rather 
than going behind the platform code's back and changing the DMA mask 
pointer like this.
Agreed.  What platform do you see this issue on?

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help