nv50_msto_disable() does not call nv50_outp_release() to match
nv50_outp_acquire() like other disable().
Add the missed call to fix it.
Signed-off-by: Chuhong Yuan <[email protected]>
---
drivers/gpu/drm/nouveau/dispnv50/disp.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c
index 549486f1d937..84e1417355cc 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
@@ -862,8 +862,10 @@ nv50_msto_disable(struct drm_encoder *encoder)
mstm->outp->update(mstm->outp, msto->head->base.index, NULL, 0, 0);
mstm->modified = true;
- if (!--mstm->links)
+ if (!--mstm->links) {
mstm->disabled = true;
+ nv50_outp_release(mstm->outp);
+ }
msto->disabled = true;
}
--
2.24.0
On Fri, 06 Dec 2019, Chuhong Yuan <[email protected]> wrote:
> nv50_msto_disable() does not call nv50_outp_release() to match
> nv50_outp_acquire() like other disable().
> Add the missed call to fix it.
The subject prefix "drm/dp_mst" implies drm core change, but this is
about nouveau. Please fix.
BR,
Jani.
>
> Signed-off-by: Chuhong Yuan <[email protected]>
> ---
> drivers/gpu/drm/nouveau/dispnv50/disp.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c
> index 549486f1d937..84e1417355cc 100644
> --- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
> +++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
> @@ -862,8 +862,10 @@ nv50_msto_disable(struct drm_encoder *encoder)
>
> mstm->outp->update(mstm->outp, msto->head->base.index, NULL, 0, 0);
> mstm->modified = true;
> - if (!--mstm->links)
> + if (!--mstm->links) {
> mstm->disabled = true;
> + nv50_outp_release(mstm->outp);
> + }
> msto->disabled = true;
> }
--
Jani Nikula, Intel Open Source Graphics Center
On Thu, 12 Dec 2019 at 18:14, Jani Nikula <[email protected]> wrote:
>
> On Fri, 06 Dec 2019, Chuhong Yuan <[email protected]> wrote:
> > nv50_msto_disable() does not call nv50_outp_release() to match
> > nv50_outp_acquire() like other disable().
> > Add the missed call to fix it.
This is intentional, and it's called at a later time
(nv50_mstm_prepare()) to avoid confusing HW.
Ben.
>
> The subject prefix "drm/dp_mst" implies drm core change, but this is
> about nouveau. Please fix.
>
> BR,
> Jani.
>
> >
> > Signed-off-by: Chuhong Yuan <[email protected]>
> > ---
> > drivers/gpu/drm/nouveau/dispnv50/disp.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c
> > index 549486f1d937..84e1417355cc 100644
> > --- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
> > +++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
> > @@ -862,8 +862,10 @@ nv50_msto_disable(struct drm_encoder *encoder)
> >
> > mstm->outp->update(mstm->outp, msto->head->base.index, NULL, 0, 0);
> > mstm->modified = true;
> > - if (!--mstm->links)
> > + if (!--mstm->links) {
> > mstm->disabled = true;
> > + nv50_outp_release(mstm->outp);
> > + }
> > msto->disabled = true;
> > }
>
> --
> Jani Nikula, Intel Open Source Graphics Center
> _______________________________________________
> dri-devel mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/dri-devel