[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <30000803-3772-3edf-f4a9-55122d504f3f@lwfinger.net>
Date: Sat, 8 Jun 2019 16:52:24 -0500
From: Larry Finger <Larry.Finger@...inger.net>
To: Christoph Hellwig <hch@....de>
Cc: Aaro Koskinen <aaro.koskinen@....fi>,
Christian Zigotzky <chzigotzky@...osoft.de>,
Michael Ellerman <mpe@...erman.id.au>,
linux-kernel@...r.kernel.org, linux-wireless@...r.kernel.org,
linuxppc-dev@...ts.ozlabs.org
Subject: Re: [BISECTED REGRESSION] b43legacy broken on G4 PowerBook
On 6/7/19 12:29 PM, Christoph Hellwig wrote:
> I don't think we should work around this in the driver, we need to fix
> it in the core. I'm curious why my previous patch didn't work. Can
> you throw in a few printks what failed? I.e. did dma_direct_supported
> return false? Did the actual allocation fail?
Routine dma_direct_supported() returns true.
The failure is in routine dma_set_mask() in the following if test:
if (!dev->dma_mask || !dma_supported(dev, mask))
return -EIO;
For b43legacy, dev->dma_mask is 0xc265684800000000.
dma_supported(dev, mask) is 0xc08b000000000000, mask is 0x3fffffff, and the
routine returns -EIO.
For b43, dev->dma_mask is 0xc265684800000001,
dma_supported(dev, mask) is 0xc08b000000000000, mask is 0x77777777, and the
routine returns 0.
Thus far I have not found what sets the low-order bit of dev->dma_mask.
Suggestions are welcome.
These tests have all been with your patch that sets ARCH_ZONE_DMA_BITS to 30.
Larry
Powered by blists - more mailing lists