[PATCH] drm/radeon: fix VM page table setup on SI

Alex Deucher alexdeucher at gmail.com
Fri Jun 29 08:23:12 PDT 2012


On Fri, Jun 29, 2012 at 10:49 AM, Michel Dänzer <michel at daenzer.net> wrote:
> On Don, 2012-06-28 at 17:53 -0400, alexdeucher at gmail.com wrote:
>> From: Alex Deucher <alexander.deucher at amd.com>
>>
>> Cayman and trinity allow for variable sized VM page
>> tables, but SI requires that all page tables be the
>> same size.  The current code assumes variablely sized
>> VM page tables so SI may end up with part of each page
>> table overlapping with other memory which could end
>> up being interpreted by the VM hw as garbage.
>>
>> Change the code to better accomodate SI.  Allocate enough
>> space for at least 2 full page tables and always set
>> last_pfn to max_pfn on SI so each VM is backed by a full
>> page table.  This limits us to only 2 VMs active at any
>> given time on SI.  This will be rectified and the code can
>> be reunified once we move to two level page tables.
>>
>> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
>
> This change breaks the radeonsi driver for me. egltri_screen (the
> 'golden' test for radeonsi at least basically working) locks up the
> GPU.
>
> I don't have any details about the lockup yet, as the GPU reset attempt
> hangs the machine. Any ideas offhand what radeonsi might be doing wrong?

Maybe trying to access an unmapped page that happened to work by
accident before and now causes a fault in the VM which halts the MC?

Alex

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


More information about the dri-devel mailing list