On Tue, Jan 23, 2018 at 1:05 PM, Drew Davenport <ddavenport at google.com> wrote: > On Mon, Jan 22, 2018 at 1:45 PM Alex Deucher <alexdeucher at gmail.com> wrote: >> >> On Mon, Jan 22, 2018 at 3:20 PM, Drew Davenport <ddavenport at google.com> >> wrote: >> > I was doing some debugging and found that /sys/kernel/debug/dri/0/state >> > doesn't get created for amdgpu. After a bit of digging around I found >> > that >> > the DRIVER_ATOMIC feature flag gets set in dm_early_init in amdgpu_dm.c, >> > which is run after drm_debugfs_init where the atomic debugfs files would >> > have been created. >> > >> > I tried moving DRIVER_ATOMIC to the rest of the >> > kms_driver.driver_feature >> > flags in amdgpu_drv.c, and this allowed the debugfs to get created as >> > expected. Nothing seemed terribly broken, but I didn't test thoroughly. >> > >> > Is there any reason not to move DRIVER_ATOMIC to the rest of the feature >> > flags? Thanks. >> >> It's only available with the new dc modsetting code which doesn't >> support all asics so you'd need to selectively enable it depending on >> the asic. You'll only want to enable it if >> amdgpu_device_asic_has_dc_support() returns true. I think I had a >> patch to do that at one point, but I don't know what I did with it. >> >> Alex > > > Right, that makes sense. It looks like this flag could be set according to > amdgpu_device_asic_has_dc_support right after the drm_device has been > allocated in amdgpu_pci_probe. Would that be a good place to set it? > > Although, from looking at vi_set_ip_blocks and similar functions, > dm_ip_block currently won't get added (and thus DRIVER_ATOMIC won't be set) > if virtual display is enabled for some asics. Would it be a problem if > DRIVER_ATOMIC is set for those asics even if virtual display is enabled? Yeah, the virtual display stuff is not atomic either. It also gets tricky if you have multiple GPUs in the same system some of which support atomic and some of which don't. I'm not sure what the right solution is. Probably move the flag out of drm driver stuct and make it a drm device flag. Alex