On 09/09/2020 17:58, Christoph Hellwig wrote: > On Tue, Sep 08, 2020 at 11:10:03PM +1000, Alexey Kardashevskiy wrote: >>>> 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-...@ozlabs.ru/#2528801 is the rest of the thread I am replying to. -- Alexey