Thread (1 message) 1 message, 1 author, 2021-09-29

Re: [PATCH kernel] powerpc/dma: Fix dma_map_ops::get_required_mask

From: Alexey Kardashevskiy <hidden>
Date: 2021-09-29 08:49:02


On 09/09/2020 17:58, Christoph Hellwig wrote:
On Tue, Sep 08, 2020 at 11:10:03PM +1000, Alexey Kardashevskiy wrote:
quoted
quoted
quoted
a-ha, this makes more sense, thanks. Then I guess we need to revert that
one bit from yours f1565c24b596, do not we?
Why?  The was the original intent of the API, but now we also use
internally to check the addressing capabilities.
The bigger mask the better, no? As it is now, it's limited by the window 
size which happens to be bigger than 4GB but smaller then full 64bit (48bit 
on my system)
Yes, the bigger mask is better.  But I don't see why you'd want to
revert the dma bypass code for that entirely.

Ok we have another victim of this change:

https://github.com/torvalds/linux/blob/master/drivers/scsi/mpt3sas/mpt3sas_base.c#L3007


It calls dma_get_required_mask() to know "the mask that the platform
requires to operate efficiently" (from dma-api.rst). The current
upstream returns 31 for pseries which in no way is efficient, we can do
better so we need this hunk back (but just this one):
https://github.com/torvalds/linux/commit/f1565c24b5965dfd2352f209c417ff160be04db9#diff-18e87e1863bf902c6388d72ad99467b7fcec0dd37084636d96ad5a35a3e59904L156
(well, almost, move it above the !tbl check).

This does not hit us on powernv/upstream as that returns 44 (or so) and
the mpt3sas driver (which does the right thing afaict) just assumes that
">32" == ">=63". What do I miss here? Thanks,

ps:
https://patchwork.ozlabs.org/project/linuxppc-dev/patch/20200908015106.79661-1-aik@ozlabs.ru/#2528801
is the rest of the thread I am replying to.


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