[PATCH 5/5] drm/amdgpu: replace iova debugfs file with iomem

Christian König christian.koenig at amd.com
Fri Feb 9 14:12:26 UTC 2018


Am 09.02.2018 um 15:02 schrieb Tom St Denis:
> On 09/02/18 08:56 AM, Christian König wrote:
>> Am 09.02.2018 um 14:32 schrieb Tom St Denis:
>>> On 02/02/18 02:09 PM, Christian König wrote:
>>>> [SNIP]
>>>> +        if (p->mapping != adev->mman.bdev.dev_mapping)
>>>> +            return -EPERM;
>>>
>>> This comparison fails for both IOMMU and non-IOMMU devices in my 
>>> carrizo+polaris10 box.
>>>
>>> The address being read from is what the VM decodes to (checked with 
>>> strace).
>>
>> Have you applied the whole series? That patches before this one are 
>> necessary to initialize p->mapping when there isn't any userspace 
>> mapping for the page.
>
>
> Yes, I have the entire 5 pages applied to a temp branch based on the 
> tip of drm-next
>
> $ git log --oneline HEAD~10..
> 405bc1dc85db (HEAD -> iomem) wip
> a06d7a6f29e4 drm/amdgpu: replace iova debugfs file with iomem
> d324c21f2c5e drm/ttm: set page mapping during allocation
> 9f440ee91c58 drm/radeon: remove extra TT unpopulated check
> f55d505b0387 drm/amdgpu: remove extra TT unpopulated check
> 37d705119ea8 drm/ttm: add ttm_tt_populate wrapper
> 53af6035d04b (origin/amd-staging-drm-next, amd-staging-drm-next) 
> drm/radeon: only enable swiotlb path when need v2
>
> (the wip is me adding printks to see which error path is taken).
>
> I don't see an init call for adev->mman.bdev.man[TTM_PL_SYSTEM] 
> anywhere.  Maybe that's related?

No, there is simply no need to initialize the system domain. What are 
the values of p->mapping and adev->mman.bdev.dev_mapping when they don't 
match? Maybe we are allocating memory before initializing 
adev->mman.bdev.dev_mapping.

Or do you have more than one GPU in the system? E.g. APU+dGPU? Could it 
be that you read through the wrong device?

Christian.

>
> Tom



More information about the amd-gfx mailing list