platform/kernel/linux-starfive.git
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for core or_get_caps()
Ben Skeggs [Sun, 21 Jun 2020 07:40:51 +0000 (17:40 +1000)]
drm/nouveau/kms/nv50-: use NVIDIA's headers for core or_get_caps()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for core or_ctrl()
Ben Skeggs [Sat, 20 Jun 2020 08:09:59 +0000 (18:09 +1000)]
drm/nouveau/kms/nv50-: use NVIDIA's headers for core or_ctrl()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for core wndw_owner()
Ben Skeggs [Sat, 20 Jun 2020 07:59:39 +0000 (17:59 +1000)]
drm/nouveau/kms/nv50-: use NVIDIA's headers for core wndw_owner()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for core update()
Ben Skeggs [Sat, 20 Jun 2020 07:39:00 +0000 (17:39 +1000)]
drm/nouveau/kms/nv50-: use NVIDIA's headers for core update()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for core ntfy_wait_done()
Ben Skeggs [Sun, 21 Jun 2020 07:24:27 +0000 (17:24 +1000)]
drm/nouveau/kms/nv50-: use NVIDIA's headers for core ntfy_wait_done()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for core caps_init()
Ben Skeggs [Sat, 20 Jun 2020 07:55:22 +0000 (17:55 +1000)]
drm/nouveau/kms/nv50-: use NVIDIA's headers for core caps_init()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for core ntfy_init()
Ben Skeggs [Sun, 21 Jun 2020 07:21:16 +0000 (17:21 +1000)]
drm/nouveau/kms/nv50-: use NVIDIA's headers for core ntfy_init()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for core init()
Ben Skeggs [Sat, 20 Jun 2020 07:51:49 +0000 (17:51 +1000)]
drm/nouveau/kms/nv50-: use NVIDIA's headers for core init()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wndw update()
Ben Skeggs [Sat, 20 Jun 2020 05:53:59 +0000 (15:53 +1000)]
drm/nouveau/kms/nv50-: use NVIDIA's headers for wndw update()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wndw blend_set()
Ben Skeggs [Sat, 20 Jun 2020 05:46:52 +0000 (15:46 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wndw scale_set()
Ben Skeggs [Sat, 20 Jun 2020 04:24:57 +0000 (14:24 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wndw image_clr()
Ben Skeggs [Sat, 20 Jun 2020 04:21:59 +0000 (14:21 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wndw image_set()
Ben Skeggs [Sat, 20 Jun 2020 03:08:47 +0000 (13:08 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wndw xlut_clr()
Ben Skeggs [Sat, 20 Jun 2020 01:58:58 +0000 (11:58 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wndw xlut_set()
Ben Skeggs [Sat, 20 Jun 2020 01:52:44 +0000 (11:52 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wndw csc_clr()
Ben Skeggs [Sat, 20 Jun 2020 01:36:58 +0000 (11:36 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wndw csc_set()
Ben Skeggs [Sat, 20 Jun 2020 01:35:28 +0000 (11:35 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wndw ntfy_wait_begun()
Ben Skeggs [Sun, 21 Jun 2020 07:12:19 +0000 (17:12 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wndw ntfy_clr()
Ben Skeggs [Sat, 20 Jun 2020 01:26:49 +0000 (11:26 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wndw ntfy_set()
Ben Skeggs [Sat, 20 Jun 2020 01:25:25 +0000 (11:25 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wndw ntfy_reset()
Ben Skeggs [Sun, 21 Jun 2020 07:04:16 +0000 (17:04 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wndw sema_clr()
Ben Skeggs [Sat, 20 Jun 2020 01:17:59 +0000 (11:17 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wndw sema_set()
Ben Skeggs [Sat, 20 Jun 2020 00:24:41 +0000 (10:24 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wimm update()
Ben Skeggs [Sun, 21 Jun 2020 00:36:33 +0000 (10:36 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wimm point()
Ben Skeggs [Sun, 21 Jun 2020 00:25:58 +0000 (10:25 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: use NVIDIA's headers for wimm space()
Ben Skeggs [Sun, 21 Jun 2020 23:18:57 +0000 (09:18 +1000)]
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>
4 years agodrm/nouveau/fence: convert sync() to new push macros
Ben Skeggs [Mon, 22 Jun 2020 10:26:07 +0000 (20:26 +1000)]
drm/nouveau/fence: convert sync() to new push macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
4 years agodrm/nouveau/fence: convert emit() to new push macros
Ben Skeggs [Mon, 22 Jun 2020 10:18:06 +0000 (20:18 +1000)]
drm/nouveau/fence: convert emit() to new push macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
4 years agodrm/nouveau/gem: convert indirect pushbufs to new push macros
Ben Skeggs [Mon, 22 Jun 2020 10:01:38 +0000 (20:01 +1000)]
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>
4 years agodrm/nouveau/chan: convert nvsw init to new push macros
Ben Skeggs [Mon, 22 Jun 2020 09:54:50 +0000 (19:54 +1000)]
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>
4 years agodrm/nouveau: convert nvsw init to new push macros
Ben Skeggs [Mon, 22 Jun 2020 09:51:21 +0000 (19:51 +1000)]
drm/nouveau: convert nvsw init to new push macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
4 years agodrm/nouveau/kms/nv04-: no need for multiple nvsw objects
Ben Skeggs [Mon, 22 Jun 2020 09:48:59 +0000 (19:48 +1000)]
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>
4 years agodrm/nouveau/kms/nv04: convert page_flip() to new push macros
Ben Skeggs [Mon, 22 Jun 2020 09:39:36 +0000 (19:39 +1000)]
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>
4 years agodrm/nouveau/kms/nv04: convert page_flip_emit() to new push macros
Ben Skeggs [Mon, 22 Jun 2020 09:36:18 +0000 (19:36 +1000)]
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>
4 years agodrm/nouveau/svm: convert migrate_clear to new push macros
Ben Skeggs [Mon, 22 Jun 2020 09:04:55 +0000 (19:04 +1000)]
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>
4 years agodrm/nouveau/svm: convert migrate_copy to new push macros
Ben Skeggs [Mon, 22 Jun 2020 09:04:43 +0000 (19:04 +1000)]
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>
4 years agodrm/nouveau/bo: convert move move() to new push macros
Ben Skeggs [Mon, 22 Jun 2020 06:20:32 +0000 (16:20 +1000)]
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>
4 years agodrm/nouveau/bo: convert move init() to new push macros
Ben Skeggs [Mon, 22 Jun 2020 05:54:52 +0000 (15:54 +1000)]
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>
4 years agodrm/nouveau/bo: split buffer move functions into their own source files
Ben Skeggs [Mon, 22 Jun 2020 05:37:19 +0000 (15:37 +1000)]
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>
4 years agodrm/nouveau/fbcon: convert copyarea() to new push macros
Ben Skeggs [Mon, 22 Jun 2020 01:31:45 +0000 (11:31 +1000)]
drm/nouveau/fbcon: convert copyarea() to new push macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
4 years agodrm/nouveau/fbcon: convert fillrect() to new push macros
Ben Skeggs [Mon, 22 Jun 2020 01:31:56 +0000 (11:31 +1000)]
drm/nouveau/fbcon: convert fillrect() to new push macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
4 years agodrm/nouveau/fbcon: convert imageblit() to new push macros
Ben Skeggs [Mon, 22 Jun 2020 01:22:28 +0000 (11:22 +1000)]
drm/nouveau/fbcon: convert imageblit() to new push macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
4 years agodrm/nouveau/fbcon: convert accel_init() to new push macros
Ben Skeggs [Mon, 22 Jun 2020 01:08:51 +0000 (11:08 +1000)]
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>
4 years agodrm/nouveau: interop with new push macros
Ben Skeggs [Sat, 18 Jul 2020 08:06:30 +0000 (18:06 +1000)]
drm/nouveau: interop with new push macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
4 years agodrm/nouveau/kms/nv50-: implement proper push buffer control logic
Ben Skeggs [Tue, 21 Jul 2020 01:34:07 +0000 (11:34 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core crc_set_ctx() to new push macros
Ben Skeggs [Sat, 18 Jul 2020 07:42:27 +0000 (17:42 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core crc_set_src() to new push macros
Ben Skeggs [Sat, 18 Jul 2020 07:39:15 +0000 (17:39 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core head_or() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 23:28:36 +0000 (09:28 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core head_procamp() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 23:25:19 +0000 (09:25 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core head_dither() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 23:22:47 +0000 (09:22 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core head_ovly() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 23:20:29 +0000 (09:20 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core head_base() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 23:19:28 +0000 (09:19 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core head_curs_clr() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 23:17:11 +0000 (09:17 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core head_curs_set() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 23:14:25 +0000 (09:14 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core head_core_clr() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 23:07:28 +0000 (09:07 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core head_core_set() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 23:06:18 +0000 (09:06 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core head_olut_clr() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 23:00:52 +0000 (09:00 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core head_olut_set() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 22:58:11 +0000 (08:58 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core head_mode() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 22:51:03 +0000 (08:51 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core head_view() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 08:34:00 +0000 (18:34 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core or_ctrl() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 07:20:39 +0000 (17:20 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core wndw_owner() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 07:12:16 +0000 (17:12 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core update() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 07:10:46 +0000 (17:10 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core caps_init() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 07:06:41 +0000 (17:06 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert core init() to new push macros
Ben Skeggs [Sat, 20 Jun 2020 07:04:57 +0000 (17:04 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert wndw update() to new push macros
Ben Skeggs [Fri, 19 Jun 2020 23:32:58 +0000 (09:32 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert wndw blend_set() to new push macros
Ben Skeggs [Fri, 19 Jun 2020 23:25:55 +0000 (09:25 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert wndw scale_set() to new push macros
Ben Skeggs [Fri, 19 Jun 2020 23:24:21 +0000 (09:24 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert wndw image_clr() to new push macros
Ben Skeggs [Fri, 19 Jun 2020 23:23:10 +0000 (09:23 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert wndw image_set() to new push macros
Ben Skeggs [Fri, 19 Jun 2020 23:20:17 +0000 (09:20 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert wndw xlut_clr() to new push macros
Ben Skeggs [Fri, 19 Jun 2020 22:50:50 +0000 (08:50 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert wndw xlut_set() to new push macros
Ben Skeggs [Fri, 19 Jun 2020 22:47:20 +0000 (08:47 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert wndw csc_clr() to new push macros
Ben Skeggs [Fri, 19 Jun 2020 22:44:11 +0000 (08:44 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert wndw csc_set() to new push macros
Ben Skeggs [Fri, 19 Jun 2020 22:39:21 +0000 (08:39 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert wndw ntfy_clr() to new push macros
Ben Skeggs [Fri, 19 Jun 2020 22:32:28 +0000 (08:32 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert wndw ntfy_set() to new push macros
Ben Skeggs [Fri, 19 Jun 2020 22:29:31 +0000 (08:29 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert wndw sema_clr() to new push macros
Ben Skeggs [Fri, 19 Jun 2020 22:04:01 +0000 (08:04 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert wndw sema_set() to new push macros
Ben Skeggs [Fri, 19 Jun 2020 21:57:12 +0000 (07:57 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert wimm update() to new push macros
Ben Skeggs [Sun, 21 Jun 2020 00:22:35 +0000 (10:22 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: convert wimm point() to new push macros
Ben Skeggs [Sun, 21 Jun 2020 00:19:40 +0000 (10:19 +1000)]
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>
4 years agodrm/nouveau/kms/nv50-: wrap existing command submission in nvif_push interface
Ben Skeggs [Fri, 19 Jun 2020 21:52:26 +0000 (07:52 +1000)]
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>
4 years agodrm/nouveau/nvif: add support for object-level debug output
Ben Skeggs [Mon, 29 Jun 2020 10:49:15 +0000 (20:49 +1000)]
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>
4 years agodrm/nouveau/nvif: give every notify object a human-readable name
Ben Skeggs [Mon, 8 Jun 2020 04:47:37 +0000 (14:47 +1000)]
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>
4 years agodrm/nouveau/nvif: give every disp object a human-readable identifier
Ben Skeggs [Mon, 30 Mar 2020 04:03:20 +0000 (14:03 +1000)]
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>
4 years agodrm/nouveau/nvif: give every usermode object a human-readable identifier
Ben Skeggs [Mon, 30 Mar 2020 04:01:57 +0000 (14:01 +1000)]
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>
4 years agodrm/nouveau/nvif: give every vmm object a human-readable identifier
Ben Skeggs [Mon, 30 Mar 2020 03:59:39 +0000 (13:59 +1000)]
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>
4 years agodrm/nouveau/nvif: give every mem object a human-readable identifier
Ben Skeggs [Mon, 30 Mar 2020 03:56:55 +0000 (13:56 +1000)]
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>
4 years agodrm/nouveau/nvif: give every mmu object a human-readable identifier
Ben Skeggs [Mon, 30 Mar 2020 03:51:38 +0000 (13:51 +1000)]
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>
4 years agodrm/nouveau/nvif: give every device object a human-readable identifier
Ben Skeggs [Mon, 30 Mar 2020 03:49:05 +0000 (13:49 +1000)]
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>
4 years agodrm/nouveau/nvif: give every object a human-readable identifier
Ben Skeggs [Sun, 29 Mar 2020 23:51:33 +0000 (09:51 +1000)]
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>
4 years agodrm/nouveau/nvif: rename client ctor/dtor
Ben Skeggs [Mon, 30 Mar 2020 03:45:33 +0000 (13:45 +1000)]
drm/nouveau/nvif: rename client ctor/dtor

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
4 years agodrm/nouveau/kms/tu102: set NVC57D_HEAD_SET_HEAD_USAGE_BOUNDS_UPSCALING_ALLOWED to...
Ben Skeggs [Fri, 24 Jul 2020 00:13:21 +0000 (10:13 +1000)]
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>
4 years agodrm/nouveau: Use fallthrough pseudo-keyword
Gustavo A. R. Silva [Tue, 7 Jul 2020 17:36:28 +0000 (12:36 -0500)]
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>
4 years agodrm/nouveau/vmm/gp100-: fix mapping 2MB sysmem pages
Ralph Campbell [Tue, 30 Jun 2020 19:57:35 +0000 (12:57 -0700)]
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>
4 years agodrm/nouveau/mmu: make nvkm_vmm_ctor() static
Ralph Campbell [Mon, 22 Jun 2020 23:38:54 +0000 (16:38 -0700)]
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>
4 years agodrm/nouveau: fix reference count leak in nouveau_debugfs_strap_peek
Aditya Pakki [Sun, 14 Jun 2020 01:48:37 +0000 (20:48 -0500)]
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>
4 years agodrm/nouveau: Fix reference count leak in nouveau_connector_detect
Aditya Pakki [Sun, 14 Jun 2020 01:22:23 +0000 (20:22 -0500)]
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>
4 years agodrm/nouveau: fix reference count leak in nv50_disp_atomic_commit
Aditya Pakki [Sun, 14 Jun 2020 01:29:18 +0000 (20:29 -0500)]
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>
4 years agodrm/nouveau: fix multiple instances of reference count leaks
Aditya Pakki [Sun, 14 Jun 2020 01:41:56 +0000 (20:41 -0500)]
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>
4 years agodrm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open
Aditya Pakki [Sun, 14 Jun 2020 01:33:42 +0000 (20:33 -0500)]
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>