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