diff options
| author | Mohamed Ahmed <mohamedahmedegypt2001@gmail.com> | 2026-08-25 04:14:01 +0400 |
|---|---|---|
| committer | Lyude Paul <lyude@redhat.com> | 2026-08-25 17:49:23 -0400 |
| commit | 9886aad51f4b5e7082209a153e404bcd8101356c (patch) | |
| tree | 96e940869fa190057b78f858ccb7e5607f71edab /scripts/objdiff | |
| parent | eb1ffc3dc72d379a41e367a44b99fb61a15bf8ba (diff) | |
| download | linux-next-9886aad51f4b5e7082209a153e404bcd8101356c.tar.gz linux-next-9886aad51f4b5e7082209a153e404bcd8101356c.zip | |
drm/nouveau/disp: route GSP-RM display MMIO through nvkm_disp_func hooks
The GSP-RM display code in rm/r535/disp.c borrows a few
register-programming routines from engine/disp (the head-timing
interrupt handler, vblank enables, armed head state and scanout position
readback, the AVI/VSI infoframe writers and the GCP AVMute write) and so
far picked them by name, which means it has to know which chip it runs
on the moment a generation changes any of them.
Give nvkm_disp_func a .gsp table that each chip fills with exactly those
hooks, add tu102_gsp_disp (TU1xx) and ga102_gsp_disp (GA10x onwards)
carrying the current functions, hand them to r535_disp_new() instead of
the full hardware tables, and make rm/r535/disp.c call through the
hooks. The head hooks are a whole nvkm_head_func, so r535_head goes away
and the chip's own table is handed to nvkm_head_new_(). r535_sor_hdmi
gets infoframe forwarders, r535_sor_hdmi_audio() calls the GCP hook, and
the interrupt handler comes from the table. The tables are per chip even
though the two currently coincide, so a generation that changes a hook
only touches its own file.
rm/r535/disp.c no longer contains chip-specific register code, and a new
display generation only has to provide its own table. No functional
change.
Fixes: 6cc6e08d4542 ("drm/nouveau/kms: add support for GB20x")
Cc: stable@vger.kernel.org
Signed-off-by: Mohamed Ahmed <mohamedahmedegypt2001@gmail.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patch.msgid.link/20260825001408.14219-4-mohamedahmedegypt2001@gmail.com
Diffstat (limited to 'scripts/objdiff')
0 files changed, 0 insertions, 0 deletions
