Re: [PATCH] drm/nouveau: tegra: Initialize mode configuration

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

 



On Wed, Nov 07, 2018 at 10:52:11AM -0500, Ilia Mirkin wrote:
> On Wed, Nov 7, 2018 at 10:34 AM Thierry Reding <thierry.reding@xxxxxxxxx> wrote:
> >
> > On Tue, Nov 06, 2018 at 06:41:22PM +0200, Ville Syrjälä wrote:
> > > On Tue, Nov 06, 2018 at 05:24:15PM +0100, Thierry Reding wrote:
> > > > From: Thierry Reding <treding@xxxxxxxxxx>
> > > >
> > > > Irrespective of whether or not the device has any usable outputs, the
> > > > modesetting helpers will try to register all the resources such as CRTCs
> > > > and planes. Unfortunately, the helpers rely on drm_mode_config_init() to
> > > > properly set up internal data structures. Since the Tegra GPU does not
> > > > have a display engine, the Nouveau driver doesn't set this up for Tegra,
> > > > which results in the following oops on driver probe:
> > >
> > > Remove DRIVER_MODESET ?
> >
> > Yeah, that works as well. Technically I suppose somebody could be
> > instantiating the IP in an SoC and include a display engine, in which
> > case we'd need the DRIVER_MODESET feature again, but I'm not aware of
> > anyone doing that, so it may not be worth planning for that at this
> > point.
> 
> I thought DRIVER_MODESET was required even for rendernodes. Is that no
> longer the case?

Indeed. Removing the DRIVER_MODESET feature gets the driver to load
properly, but trying to actually use Nouveau (e.g. kmscube) crashes
in other places.

Now that you mention it, I vaguely remember trying to do something
similar a long time ago and I had to split up DRIVER_MODESET into more
fine-grained features (basically DRIVER_MODESET and DRIVER_LEGACY, if
I remember correctly) to avoid crashes. But this must have been three
or four years ago and I can't recall the exact details.

> Note that e.g. GF117 GPUs also don't have a display engine hooked up
> in nouveau (or in hardware).

That's interesting. I think there'd be some symmetric elegance to it if
the PCI driver supported DRIVER_MODESET irrespective of the feature set
of the card and if the platform driver did the same. In the end, this
isn't really a driver-specific feature, but a device-specific feature.
Or to put it another way: the driver inherently supports modesetting
features, irrespective of a device's specific capabilities.

Thierry

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux