Re: [Nouveau] [PATCH] nouveau: don't fail driver load if no display hw present.

2023-11-15 Thread Nicolas Chauvet
Le mer. 15 nov. 2023 à 15:40,  a écrit :
>
> From: Dave Airlie 
>
> If we get back ENODEV don't fail load. There are nvidia devices
> that don't have display blocks and the driver should work on those.
>
> Fixes: 15740541e8f0 ("drm/nouveau/devinit/tu102-: prepare for GSP-RM")
> Link: https://gitlab.freedesktop.org/drm/nouveau/-/issues/270
> Signed-off-by: Dave Airlie 
> ---
>  drivers/gpu/drm/nouveau/nouveau_display.c | 5 +
>  1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c 
> b/drivers/gpu/drm/nouveau/nouveau_display.c
> index d8c92521226d9..f28f9a8574586 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_display.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_display.c
> @@ -726,6 +726,11 @@ nouveau_display_create(struct drm_device *dev)
>
> if (nouveau_modeset != 2) {
> ret = nvif_disp_ctor(>client.device, "kmsDisp", 0, 
> >disp);
> +   /* no display hw */
> +   if (ret == -ENODEV) {
> +   ret = 0;
> +   goto disp_create_err;
> +   }
>
> if (!ret && (disp->disp.outp_mask || drm->vbios.dcb.entries)) 
> {
> nouveau_display_create_properties(dev);
> --
> 2.41.0

I have tested this patch on top of 6.7-rc1+ and this doesn't change
the situation on jetson-tx1 (gm20b)
Could it be that something else similar is missing on arm64 ?

Thanks


Re: [Nouveau] [PATCH] nouveau: don't fail driver load if no display hw present.

2023-11-15 Thread Dave Airlie
On Wed, 15 Nov 2023 at 05:54, Danilo Krummrich  wrote:
>
> On 11/5/23 21:37, Dave Airlie wrote:
> > From: Dave Airlie 
> >
> > If we get back ENODEV don't fail load.
>
> Maybe worth to note why this is OK in this case, might not be obvious
> to future readers of the code.

Sent an updated version with that fixed.
>
> >
> > Fixes: 15740541e8f0 ("drm/nouveau/devinit/tu102-: prepare for GSP-RM")
>
> Maybe I'm missing something subtle here, but did you maybe pick the wrong
> commit here? At a first glance it looks like commit 073bde453635
> ("drm/nouveau/kms/nv50-: disable dcb parsing") introduced the issue.
>

Nope this commit causes the regression, as it powers off the display
core in devinit, which means later we don't detect it because GSP
doesn't power it back on.

Dave.


Re: [Nouveau] [PATCH] nouveau: don't fail driver load if no display hw present.

2023-11-14 Thread Danilo Krummrich

On 11/5/23 21:37, Dave Airlie wrote:

From: Dave Airlie 

If we get back ENODEV don't fail load.


Maybe worth to note why this is OK in this case, might not be obvious
to future readers of the code.



Fixes: 15740541e8f0 ("drm/nouveau/devinit/tu102-: prepare for GSP-RM")


Maybe I'm missing something subtle here, but did you maybe pick the wrong
commit here? At a first glance it looks like commit 073bde453635
("drm/nouveau/kms/nv50-: disable dcb parsing") introduced the issue.

- Danilo


Link: https://gitlab.freedesktop.org/drm/nouveau/-/issues/270
Signed-off-by: Dave Airlie 
---
  drivers/gpu/drm/nouveau/nouveau_display.c | 5 +
  1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c 
b/drivers/gpu/drm/nouveau/nouveau_display.c
index d8c92521226d..f28f9a857458 100644
--- a/drivers/gpu/drm/nouveau/nouveau_display.c
+++ b/drivers/gpu/drm/nouveau/nouveau_display.c
@@ -726,6 +726,11 @@ nouveau_display_create(struct drm_device *dev)
  
  	if (nouveau_modeset != 2) {

ret = nvif_disp_ctor(>client.device, "kmsDisp", 0, 
>disp);
+   /* no display hw */
+   if (ret == -ENODEV) {
+   ret = 0;
+   goto disp_create_err;
+   }
  
  		if (!ret && (disp->disp.outp_mask || drm->vbios.dcb.entries)) {

nouveau_display_create_properties(dev);