diff mbox series

drm/nouveau: hdmigv100.c: fix corrupted HDMI Vendor InfoFrame

Message ID 3d3bd0f7-c150-2479-9350-35d394ee772d@xs4all.nl (mailing list archive)
State New, archived
Headers show
Series drm/nouveau: hdmigv100.c: fix corrupted HDMI Vendor InfoFrame | expand

Commit Message

Hans Verkuil Nov. 10, 2021, 3:36 p.m. UTC
gv100_hdmi_ctrl() writes vendor_infoframe.subpack0_high to 0x6f0110, and
then overwrites it with 0. Just drop the overwrite with 0, that's clearly
a mistake.

Because of this issue the HDMI VIC is 0 instead of 1 in the HDMI Vendor
InfoFrame when transmitting 4kp30.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Fixes: 290ffeafcc1a (drm/nouveau/disp/gv100: initial support)
---

Comments

Ben Skeggs Nov. 11, 2021, 12:42 a.m. UTC | #1
On Thu, 11 Nov 2021 at 01:43, Hans Verkuil <hverkuil-cisco@xs4all.nl> wrote:
>
> gv100_hdmi_ctrl() writes vendor_infoframe.subpack0_high to 0x6f0110, and
> then overwrites it with 0. Just drop the overwrite with 0, that's clearly
> a mistake.
>
> Because of this issue the HDMI VIC is 0 instead of 1 in the HDMI Vendor
> InfoFrame when transmitting 4kp30.
>
> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
> Fixes: 290ffeafcc1a (drm/nouveau/disp/gv100: initial support)
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>

> ---
> diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigv100.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigv100.c
> index 6e3c450eaace..3ff49344abc7 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigv100.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigv100.c
> @@ -62,7 +62,6 @@ gv100_hdmi_ctrl(struct nvkm_ior *ior, int head, bool enable, u8 max_ac_packet,
>                 nvkm_wr32(device, 0x6f0108 + hdmi, vendor_infoframe.header);
>                 nvkm_wr32(device, 0x6f010c + hdmi, vendor_infoframe.subpack0_low);
>                 nvkm_wr32(device, 0x6f0110 + hdmi, vendor_infoframe.subpack0_high);
> -               nvkm_wr32(device, 0x6f0110 + hdmi, 0x00000000);
>                 nvkm_wr32(device, 0x6f0114 + hdmi, 0x00000000);
>                 nvkm_wr32(device, 0x6f0118 + hdmi, 0x00000000);
>                 nvkm_wr32(device, 0x6f011c + hdmi, 0x00000000);
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigv100.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigv100.c
index 6e3c450eaace..3ff49344abc7 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigv100.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigv100.c
@@ -62,7 +62,6 @@  gv100_hdmi_ctrl(struct nvkm_ior *ior, int head, bool enable, u8 max_ac_packet,
 		nvkm_wr32(device, 0x6f0108 + hdmi, vendor_infoframe.header);
 		nvkm_wr32(device, 0x6f010c + hdmi, vendor_infoframe.subpack0_low);
 		nvkm_wr32(device, 0x6f0110 + hdmi, vendor_infoframe.subpack0_high);
-		nvkm_wr32(device, 0x6f0110 + hdmi, 0x00000000);
 		nvkm_wr32(device, 0x6f0114 + hdmi, 0x00000000);
 		nvkm_wr32(device, 0x6f0118 + hdmi, 0x00000000);
 		nvkm_wr32(device, 0x6f011c + hdmi, 0x00000000);