Re: [PATCH] drm/nouveau: Set DRIVER_ATOMIC cap earlier to fix debugfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 23, 2018 at 01:13:20PM -0400, Lyude Paul wrote:
> commit eb493fbc150f4a28151ae1ee84f24395989f3600 upstream
> 
> Currently nouveau doesn't actually expose the state debugfs file that's
> usually provided for any modesetting driver that supports atomic, even
> if nouveau is loaded with atomic=1. This is due to the fact that the
> standard debugfs files that DRM creates for atomic drivers is called
> when drm_get_pci_dev() is called from nouveau_drm.c. This happens well
> before we've initialized the display core, which is currently
> responsible for setting the DRIVER_ATOMIC cap.
> 
> So, move the atomic option into nouveau_drm.c and just add the
> DRIVER_ATOMIC cap whenever it's enabled on the kernel commandline. This
> shouldn't cause any actual issues, as the atomic ioctl will still fail
> as expected even if the display core doesn't disable it until later in
> the init sequence. This also provides the added benefit of being able to
> use the state debugfs file to check the current display state even if
> clients aren't allowed to modify it through anything other than the
> legacy ioctls.
> 
> Additionally, disable the DRIVER_ATOMIC cap in nv04's display core, as
> this was already disabled there previously.
> 
> Signed-off-by: Lyude Paul <lyude@xxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
> ---
>  drivers/gpu/drm/nouveau/dispnv04/disp.c | 3 +++
>  drivers/gpu/drm/nouveau/nouveau_drm.c   | 7 +++++++
>  drivers/gpu/drm/nouveau/nv50_display.c  | 6 ------
>  3 files changed, 10 insertions(+), 6 deletions(-)

Please give me a hint as to what kernel versions you want the patches to
be applied to, otherwise I just have to guess :)

thanks,

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux