diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2023-07-19 14:40:51 +1000 |
---|---|---|
committer | Karol Herbst <kherbst@redhat.com> | 2023-07-19 11:08:47 +0200 |
commit | ea293f823a8805735d9e00124df81a8f448ed1ae (patch) | |
tree | 63ab5bfc1c37f27c2dda1e1727dea27f8c7f398c | |
parent | 2b5d1c29f6c4cb19369ef92881465e5ede75f4ef (diff) |
drm/nouveau/kms/nv50-: init hpd_irq_lock for PIOR DPdrm-misc-fixes-2023-07-20
Fixes OOPS on boards with ANX9805 DP encoders.
Cc: stable@vger.kernel.org # 6.4+
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230719044051.6975-3-skeggsb@gmail.com
-rw-r--r-- | drivers/gpu/drm/nouveau/dispnv50/disp.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c index 38d3fad0d97a..1bec819da876 100644 --- a/drivers/gpu/drm/nouveau/dispnv50/disp.c +++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c @@ -1877,6 +1877,8 @@ nv50_pior_destroy(struct drm_encoder *encoder) nvif_outp_dtor(&nv_encoder->outp); drm_encoder_cleanup(encoder); + + mutex_destroy(&nv_encoder->dp.hpd_irq_lock); kfree(encoder); } @@ -1921,6 +1923,8 @@ nv50_pior_create(struct drm_connector *connector, struct dcb_output *dcbe) nv_encoder->i2c = ddc; nv_encoder->aux = aux; + mutex_init(&nv_encoder->dp.hpd_irq_lock); + encoder = to_drm_encoder(nv_encoder); encoder->possible_crtcs = dcbe->heads; encoder->possible_clones = 0; |