Hardware 3D acceleration doesn't work anymore with the latest git kernel

Christian Zigotzky chzigotzky at xenosoft.de
Tue Nov 28 05:43:03 UTC 2017


Is it better to enable SWIOTLB? Are there any advantages with SWIOTLB enabled?

— Christian

Sent from my iPhone

> On 27. Nov 2017, at 15:53, Michel Dänzer <michel at daenzer.net> wrote:
> 
>> On 2017-11-27 01:17 PM, Tom St Denis wrote:
>>> On 27/11/17 07:02 AM, Michel Dänzer wrote:
>>>> On 2017-11-27 12:50 PM, Christian König wrote:
>>>>> Am 27.11.2017 um 12:02 schrieb Michel Dänzer:
>>>>>> On 2017-11-24 05:09 PM, Michel Dänzer wrote:
>>>>>>> On 2017-11-24 03:29 PM, Christian Zigotzky wrote:
>>>>>>> Hi All,
>>>>>>> 
>>>>>>> I bisected today and the first bad commit is:
>>>>>>> a4dec819c8bba6365eb893a4ca88db4dd1210110 (drm/ttm: Add helper
>>>>>>> functions
>>>>>>> to populate/map in one call (v2)) [1]
>>>>>> It can't really be that commit, since it just adds functions but
>>>>>> doesn't
>>>>>> hook them up anywhere. Presumably it's commit
>>>>>> f7871fd19389c5f64f625a4389675d0740f0dfe4 ("drm/radeon: use new TTM
>>>>>> populate/dma map helper functions") instead, which makes the radeon
>>>>>> driver rely on ttm_populate_and_map_pages, which is just a stub
>>>>>> returning -ENOMEM when neither CONFIG_SWIOTLB nor
>>>>>> CONFIG_INTEL_IOMMU is
>>>>>> enabled.
>>>>>> 
>>>>>> I can see two possible solutions:
>>>>>> 
>>>>>> 1. Make ttm_populate_and_map_pages and ttm_unmap_and_unpopulate_pages
>>>>>>      work without SWIOTLB / INTEL_IOMMU as well.
>>>>>> 
>>>>>> 2. Make the drivers work without ttm_populate_and_map_pages and
>>>>>>      ttm_unmap_and_unpopulate_pages again in that case.
>>>>>> 
>>>>>> 
>>>>>> Solution 1 would be preferable.
>>>>> Which solution do you want to go for?
>>>> 
>>>> well, can somebody please explain to me why those patches actually
>>>> result in problems?
>>> 
>>> I thought I did above...
>>> 
>>> Commit f7871fd19389c5f64f625a4389675d0740f0dfe4 made the radeon driver
>>> rely on ttm_populate_and_map_pages, which is implemented as:
>>> 
>>> static inline int ttm_populate_and_map_pages(struct device *dev,
>>> struct ttm_dma_tt *tt)
>>> {
>>>     return -ENOMEM;
>>> }
>>> 
>>> when neither CONFIG_SWIOTLB nor CONFIG_INTEL_IOMMU is enabled.
>>> Previously, the driver worked fine without either of those enabled.
>>> 
>>> 
>> 
>> I think the issue is why would you have both disabled [...]
> Doesn't matter. The drivers worked with both disabled before, now they
> don't. That's a regression.
> 
> 
> -- 
> Earthling Michel Dänzer               |               http://www.amd.com
> Libre software enthusiast             |             Mesa and X developer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20171128/7d43e60a/attachment.html>


More information about the dri-devel mailing list