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

Michel Dänzer michel at daenzer.net
Mon Nov 27 12:02:09 UTC 2017


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.


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the dri-devel mailing list