Ben Skeggs
fbc318bdbb
drm/nouveau/kms/nv50-: use NVIDIA's headers for wndw blend_set()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:51:00 +10:00
Ben Skeggs
5329dbd4a3
drm/nouveau/kms/nv50-: use NVIDIA's headers for wndw scale_set()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:51:00 +10:00
Ben Skeggs
1070832b1e
drm/nouveau/kms/nv50-: use NVIDIA's headers for wndw image_clr()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:51:00 +10:00
Ben Skeggs
f844eb485e
drm/nouveau/kms/nv50-: use NVIDIA's headers for wndw image_set()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:51:00 +10:00
Ben Skeggs
66f7b7bddf
drm/nouveau/kms/nv50-: use NVIDIA's headers for wndw xlut_clr()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:51:00 +10:00
Ben Skeggs
6833d2a0c7
drm/nouveau/kms/nv50-: use NVIDIA's headers for wndw xlut_set()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:51:00 +10:00
Ben Skeggs
2740edb3c6
drm/nouveau/kms/nv50-: use NVIDIA's headers for wndw csc_clr()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:59 +10:00
Ben Skeggs
84e1d06b06
drm/nouveau/kms/nv50-: use NVIDIA's headers for wndw csc_set()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:59 +10:00
Ben Skeggs
75bd8304e6
drm/nouveau/kms/nv50-: use NVIDIA's headers for wndw ntfy_wait_begun()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:59 +10:00
Ben Skeggs
9562e564ab
drm/nouveau/kms/nv50-: use NVIDIA's headers for wndw ntfy_clr()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:59 +10:00
Ben Skeggs
d4793bc39f
drm/nouveau/kms/nv50-: use NVIDIA's headers for wndw ntfy_set()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:59 +10:00
Ben Skeggs
0ecaefc144
drm/nouveau/kms/nv50-: use NVIDIA's headers for wndw ntfy_reset()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:59 +10:00
Ben Skeggs
941522b7fe
drm/nouveau/kms/nv50-: use NVIDIA's headers for wndw sema_clr()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:59 +10:00
Ben Skeggs
fccc858003
drm/nouveau/kms/nv50-: use NVIDIA's headers for wndw sema_set()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:58 +10:00
Ben Skeggs
852dfbde91
drm/nouveau/kms/nv50-: use NVIDIA's headers for wimm update()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:58 +10:00
Ben Skeggs
937014086a
drm/nouveau/kms/nv50-: use NVIDIA's headers for wimm point()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:58 +10:00
Ben Skeggs
2a0d40bbd6
drm/nouveau/kms/nv50-: use NVIDIA's headers for wimm space()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:58 +10:00
Ben Skeggs
2f5bfd1c0a
drm/nouveau/fence: convert sync() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:58 +10:00
Ben Skeggs
7aa638cfdb
drm/nouveau/fence: convert emit() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:58 +10:00
Ben Skeggs
183b70bbdf
drm/nouveau/gem: convert indirect pushbufs to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:58 +10:00
Ben Skeggs
cd346a89d2
drm/nouveau/chan: convert nvsw init to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:58 +10:00
Ben Skeggs
0d2bdf2b0a
drm/nouveau: convert nvsw init to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:57 +10:00
Ben Skeggs
2bf00037c4
drm/nouveau/kms/nv04-: no need for multiple nvsw objects
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:57 +10:00
Ben Skeggs
c548b25cab
drm/nouveau/kms/nv04: convert page_flip() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:57 +10:00
Ben Skeggs
105f756c50
drm/nouveau/kms/nv04: convert page_flip_emit() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:57 +10:00
Ben Skeggs
44517aa8d7
drm/nouveau/svm: convert migrate_clear to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:57 +10:00
Ben Skeggs
71e741ad12
drm/nouveau/svm: convert migrate_copy to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:57 +10:00
Ben Skeggs
fe4249afd6
drm/nouveau/bo: convert move move() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:57 +10:00
Ben Skeggs
01c43a66eb
drm/nouveau/bo: convert move init() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:57 +10:00
Ben Skeggs
8b9d5d63a7
drm/nouveau/bo: split buffer move functions into their own source files
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:56 +10:00
Ben Skeggs
a535aa6775
drm/nouveau/fbcon: convert copyarea() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:56 +10:00
Ben Skeggs
9ec525729f
drm/nouveau/fbcon: convert fillrect() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:56 +10:00
Ben Skeggs
1d04a64a0a
drm/nouveau/fbcon: convert imageblit() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:56 +10:00
Ben Skeggs
d9a91300ae
drm/nouveau/fbcon: convert accel_init() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:56 +10:00
Ben Skeggs
fdb06e2b2a
drm/nouveau: interop with new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:56 +10:00
Ben Skeggs
0a96099691
drm/nouveau/kms/nv50-: implement proper push buffer control logic
...
We had a, what was supposed to be temporary, hack in the KMS code where we'd
completely drain an EVO/NVD channel's push buffer when wrapping to the start
again, instead of treating it as a ring buffer.
Let's fix that, finally.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:56 +10:00
Ben Skeggs
ae09163ac2
drm/nouveau/kms/nv50-: convert core crc_set_ctx() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:56 +10:00
Ben Skeggs
c4b27bc868
drm/nouveau/kms/nv50-: convert core crc_set_src() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:56 +10:00
Ben Skeggs
ff37116ea4
drm/nouveau/kms/nv50-: convert core head_or() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:55 +10:00
Ben Skeggs
246db5fd38
drm/nouveau/kms/nv50-: convert core head_procamp() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:55 +10:00
Ben Skeggs
2f819f2be0
drm/nouveau/kms/nv50-: convert core head_dither() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:55 +10:00
Ben Skeggs
db2a20693e
drm/nouveau/kms/nv50-: convert core head_ovly() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:55 +10:00
Ben Skeggs
93f7f05457
drm/nouveau/kms/nv50-: convert core head_base() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:55 +10:00
Ben Skeggs
bc5af56a8f
drm/nouveau/kms/nv50-: convert core head_curs_clr() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:55 +10:00
Ben Skeggs
9549c14b32
drm/nouveau/kms/nv50-: convert core head_curs_set() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:55 +10:00
Ben Skeggs
aabe253e38
drm/nouveau/kms/nv50-: convert core head_core_clr() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:55 +10:00
Ben Skeggs
a38870a21c
drm/nouveau/kms/nv50-: convert core head_core_set() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:54 +10:00
Ben Skeggs
4fbf03a32f
drm/nouveau/kms/nv50-: convert core head_olut_clr() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:54 +10:00
Ben Skeggs
a5df76301c
drm/nouveau/kms/nv50-: convert core head_olut_set() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:54 +10:00
Ben Skeggs
caa966a7a6
drm/nouveau/kms/nv50-: convert core head_mode() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:54 +10:00
Ben Skeggs
1f772f5a08
drm/nouveau/kms/nv50-: convert core head_view() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:54 +10:00
Ben Skeggs
9ec5e82040
drm/nouveau/kms/nv50-: convert core or_ctrl() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:54 +10:00
Ben Skeggs
b505935e56
drm/nouveau/kms/nv50-: convert core wndw_owner() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:54 +10:00
Ben Skeggs
203f6eaf41
drm/nouveau/kms/nv50-: convert core update() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:54 +10:00
Ben Skeggs
3c43c362b3
drm/nouveau/kms/nv50-: convert core caps_init() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:53 +10:00
Ben Skeggs
5e691222ea
drm/nouveau/kms/nv50-: convert core init() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:53 +10:00
Ben Skeggs
3afb4db782
drm/nouveau/kms/nv50-: convert wndw update() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:53 +10:00
Ben Skeggs
85bdfcd435
drm/nouveau/kms/nv50-: convert wndw blend_set() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:53 +10:00
Ben Skeggs
0a4693e80d
drm/nouveau/kms/nv50-: convert wndw scale_set() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:53 +10:00
Ben Skeggs
8944d8b37a
drm/nouveau/kms/nv50-: convert wndw image_clr() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:53 +10:00
Ben Skeggs
6d6e11e284
drm/nouveau/kms/nv50-: convert wndw image_set() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:53 +10:00
Ben Skeggs
34838908f6
drm/nouveau/kms/nv50-: convert wndw xlut_clr() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:53 +10:00
Ben Skeggs
222439ebe6
drm/nouveau/kms/nv50-: convert wndw xlut_set() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:53 +10:00
Ben Skeggs
cfb4120dae
drm/nouveau/kms/nv50-: convert wndw csc_clr() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:52 +10:00
Ben Skeggs
72587dca96
drm/nouveau/kms/nv50-: convert wndw csc_set() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:52 +10:00
Ben Skeggs
bcae99c282
drm/nouveau/kms/nv50-: convert wndw ntfy_clr() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:52 +10:00
Ben Skeggs
fe8a2eec7d
drm/nouveau/kms/nv50-: convert wndw ntfy_set() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:52 +10:00
Ben Skeggs
c686051a5a
drm/nouveau/kms/nv50-: convert wndw sema_clr() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:52 +10:00
Ben Skeggs
34cf8cae28
drm/nouveau/kms/nv50-: convert wndw sema_set() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:52 +10:00
Ben Skeggs
9659be21e8
drm/nouveau/kms/nv50-: convert wimm update() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:52 +10:00
Ben Skeggs
bea8395ccf
drm/nouveau/kms/nv50-: convert wimm point() to new push macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:51 +10:00
Ben Skeggs
2853ccf092
drm/nouveau/kms/nv50-: wrap existing command submission in nvif_push interface
...
This commit pulls in a bunch of new push buffer macros which are able to
support NVIDIA's class headers, and provide more useful debug output and
error checking (compile-time, where possible) than we had previously.
Will incrementally transition each function over to the unified interfaces.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:51 +10:00
Ben Skeggs
3e176fd060
drm/nouveau/nvif: add support for object-level debug output
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:51 +10:00
Ben Skeggs
f7a7d22ad6
drm/nouveau/nvif: give every notify object a human-readable name
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:51 +10:00
Ben Skeggs
54d44bfc56
drm/nouveau/nvif: give every disp object a human-readable identifier
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:51 +10:00
Ben Skeggs
64a0f59ab1
drm/nouveau/nvif: give every usermode object a human-readable identifier
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:51 +10:00
Ben Skeggs
45faf3d7b6
drm/nouveau/nvif: give every vmm object a human-readable identifier
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:51 +10:00
Ben Skeggs
e79c9a0ba5
drm/nouveau/nvif: give every mem object a human-readable identifier
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:51 +10:00
Ben Skeggs
b495396cc9
drm/nouveau/nvif: give every mmu object a human-readable identifier
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:50 +10:00
Ben Skeggs
bd21080eb6
drm/nouveau/nvif: give every device object a human-readable identifier
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:50 +10:00
Ben Skeggs
9ac596a4e8
drm/nouveau/nvif: give every object a human-readable identifier
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:50 +10:00
Ben Skeggs
6db25fb13a
drm/nouveau/nvif: rename client ctor/dtor
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
2020-07-24 18:50:50 +10:00
Ben Skeggs
188e905ce4
drm/nouveau/kms/tu102: set NVC57D_HEAD_SET_HEAD_USAGE_BOUNDS_UPSCALING_ALLOWED to TRUE
...
Fixes issues when switching between scaling modes.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:50 +10:00
Gustavo A. R. Silva
f6e7393ede
drm/nouveau: Use fallthrough pseudo-keyword
...
Replace the existing /* fall through */ comments and its variants with
the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
fall-through markings when it is the case.
[1] https://www.kernel.org/doc/html/latest/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:50 +10:00
Ralph Campbell
7763d24f3b
drm/nouveau/vmm/gp100-: fix mapping 2MB sysmem pages
...
The nvif_object_ioctl() method NVIF_VMM_V0_PFNMAP wasn't correctly
setting the hardware specific GPU page table entries for 2MB sized
pages. Fix this by adding functions to set and clear PD0 GPU page
table entries.
Signed-off-by: Ralph Campbell <rcampbell@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:50 +10:00
Ralph Campbell
e5c7864f62
drm/nouveau/mmu: make nvkm_vmm_ctor() static
...
The function nvkm_vmm_ctor() is not called outside of the file defining
it, so make it static.
Signed-off-by: Ralph Campbell <rcampbell@nvidia.com>
Reviewed-by: John Hubbard <jhubbard@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:50 +10:00
Aditya Pakki
8f29432417
drm/nouveau: fix reference count leak in nouveau_debugfs_strap_peek
...
nouveau_debugfs_strap_peek() calls pm_runtime_get_sync() that
increments the reference count. In case of failure, decrement the
ref count before returning the error.
Signed-off-by: Aditya Pakki <pakki001@umn.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:49 +10:00
Aditya Pakki
990a116298
drm/nouveau: Fix reference count leak in nouveau_connector_detect
...
nouveau_connector_detect() calls pm_runtime_get_sync and in turn
increments the reference count. In case of failure, decrement the
ref count before returning the error.
Signed-off-by: Aditya Pakki <pakki001@umn.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:49 +10:00
Aditya Pakki
a2cdf39536
drm/nouveau: fix reference count leak in nv50_disp_atomic_commit
...
nv50_disp_atomic_commit() calls calls pm_runtime_get_sync and in turn
increments the reference count. In case of failure, decrement the
ref count before returning the error.
Signed-off-by: Aditya Pakki <pakki001@umn.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:49 +10:00
Aditya Pakki
659fb5f154
drm/nouveau: fix multiple instances of reference count leaks
...
On calling pm_runtime_get_sync() the reference count of the device
is incremented. In case of failure, decrement the
ref count before returning the error.
Signed-off-by: Aditya Pakki <pakki001@umn.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:49 +10:00
Aditya Pakki
bfad51c763
drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open
...
nouveau_fbcon_open() calls calls pm_runtime_get_sync() that
increments the reference count. In case of failure, decrement the
ref count before returning the error.
Signed-off-by: Aditya Pakki <pakki001@umn.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:49 +10:00
Ben Skeggs
eddb047329
drm/nouveau/sec2/gp102: allow module to load when LSFW is missing
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:49 +10:00
Ben Skeggs
b9c246ad3b
drm/nouveau/gr/gm200-: explicitly handle nofw
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:49 +10:00
Ben Skeggs
38fd546beb
drm/nouveau/pmu/gm200-: explicitly handle nofw
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:49 +10:00
Ben Skeggs
46fc98bfb8
drm/nouveau/pmu/gm20x: don't pretend we support loading with our custom FW
...
It technically loads, and runs, but is ultimately pointless outside of
a very narrow window (fanless systems where one wants to attempt using
the, broken for a lot of gm20x, memory reclocking code).
It's also potentially dangerous to override the VBIOS-provided "Pre-OS"
PMU, which would be responsible for fan control otherwise.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:48 +10:00
Ben Skeggs
de088372da
drm/nouveau/acr: store a mask of LS falcons the controlling LSFW can bootstrap
...
This will prevent some pain with broken firmware trees, as under some
circumstances the HSFW can fail and leave the GPU in a state we don't
know how to recover from.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:48 +10:00
Ben Skeggs
587debc9a7
drm/nouveau/acr: store a mask of LS falcons the HSFW can bootstrap
...
This will prevent reloading of HS FW where it's pointless, and bypass
hitting some timeouts.
Not a situation one should generally hit, but can occur with a messed
up firmware installation.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:48 +10:00
Ben Skeggs
90e9cf749a
drm/nouveau/acr: allow module to load when HSFW(s) are missing
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:48 +10:00
Ben Skeggs
8fdc45e4b6
drm/nouveau/acr: refuse to load LSFW if HSFW is missing
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:48 +10:00
Ben Skeggs
8140f92c27
drm/nouveau/core: drop error message when no compatible FW found
...
This is less than useful with some subdevs having _nofw variants in their
FWIF lists - it's cleaner to handle them all in the same way.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2020-07-24 18:50:47 +10:00