Displaying 20 results from an estimated 39 matches for "nouveau_drm_exit".
2015 Jan 05
3
[PATCH nouveau 09/11] drm: export some variable and functions to resue the PM functions
On Tue, Dec 30, 2014 at 11:18:34AM +0800, Vince Hsu wrote:
> Hi Emil,
>
> On 12/30/2014 10:34 AM, Emil Velikov wrote:
> >On 23/12/14 10:40, Vince Hsu wrote:
> >>This patch adds some checks in the suspend/resume functions to distinguish
> >>the dGPU and mobile GPU and exports some variables/functions so that the
> >>nouveau platform device can reuse them.
2015 Jan 06
2
[PATCH nouveau 09/11] drm: export some variable and functions to resue the PM functions
...atform driver.
>
> >
> > Something like the attached patch (untested) ought to do it.
>
> This patch alone won't be enough for the reason I mentioned above.
> However, if Vince doesn't mind handling the platform driver
> registration manually in nouveau_drm_init/nouveau_drm_exit, I agree
> this would be the way to go.
If we do the conversion to generic power domains, the only Tegra-
specific API remaining will be the access to the fuse registers for the
speedo value. At that point we wouldn't need the ARCH_TEGRA dependency
any longer and could always build the plat...
2024 Jul 31
1
[PATCH 2/2] [v6] drm/nouveau: expose GSP-RM logging buffers via debugfs
...ntry), nvif_log_shutdown }
> >
> > and change the signature of nvif_log_shutdown() to
> >
> > static inline void nvif_log_shutdown(struct nvif_log *logs)
> >
> > you can just call
> >
> > gsp_logs.shutdown(&gsp_logs);
> >
> > in nouveau_drm_exit().
> >
> > Admittedly, maybe a bit too sneaky though. :)
>
> gsp_logs.shutdown(&gsp_logs) -- are you sure you want this? ?This is some
> weird C++ wanna-be code, IMHO. ?I don't think this is an improvement. I'd
> rather keep it as-is.
That's why I wrote &...
2018 Jul 05
4
[PATCH 0/2] drm/nouveau: Fix panic on nouveau unload.
...61/0xd0 [nouveau]
drm_dev_unregister+0x3f/0xe0 [drm]
drm_put_dev+0x27/0x50 [drm]
nouveau_drm_device_remove+0x47/0x70 [nouveau]
pci_device_remove+0x3b/0xb0
device_release_driver_internal+0x180/0x250
driver_detach+0x32/0x5f
bus_remove_driver+0x74/0xc6
pci_unregister_driver+0x22/0xa0
nouveau_drm_exit+0x15/0x16b [nouveau]
I don't beleive them to be related. Perhaps there is another issue here?
Jeffery Miller (2):
drm/nouveau/fbcon: Fix NULL pointer access in nouveau_fbcon_destroy.
drm/nouveau/bl: Allocate backlight connector nodes.
drivers/gpu/drm/nouveau/nouveau_backlight.c | 70 +++...
2015 Jan 06
2
[PATCH nouveau 09/11] drm: export some variable and functions to resue the PM functions
...;>
> >>>Something like the attached patch (untested) ought to do it.
> >>This patch alone won't be enough for the reason I mentioned above.
> >>However, if Vince doesn't mind handling the platform driver
> >>registration manually in nouveau_drm_init/nouveau_drm_exit, I agree
> >>this would be the way to go.
> >If we do the conversion to generic power domains, the only Tegra-
> >specific API remaining will be the access to the fuse registers for the
> >speedo value. At that point we wouldn't need the ARCH_TEGRA dependency
> >...
2018 Jul 17
2
[PATCH 0/2] drm/nouveau: Fix panic on nouveau unload.
...t_dev+0x27/0x50 [drm]
>> nouveau_drm_device_remove+0x47/0x70 [nouveau]
>> pci_device_remove+0x3b/0xb0
>> device_release_driver_internal+0x180/0x250
>> driver_detach+0x32/0x5f
>> bus_remove_driver+0x74/0xc6
>> pci_unregister_driver+0x22/0xa0
>> nouveau_drm_exit+0x15/0x16b [nouveau]
>>
>> I don't beleive them to be related. Perhaps there is another issue here?
>>
>> Jeffery Miller (2):
>> drm/nouveau/fbcon: Fix NULL pointer access in nouveau_fbcon_destroy.
>> drm/nouveau/bl: Allocate backlight connector nodes.
&g...
2024 Jul 30
1
[PATCH 2/2] [v6] drm/nouveau: expose GSP-RM logging buffers via debugfs
...; struct nvif_log _log = { LIST_HEAD_INIT(_log.entry), nvif_log_shutdown }
>
> and change the signature of nvif_log_shutdown() to
>
> static inline void nvif_log_shutdown(struct nvif_log *logs)
>
> you can just call
>
> gsp_logs.shutdown(&gsp_logs);
>
> in nouveau_drm_exit().
>
> Admittedly, maybe a bit too sneaky though. :)
gsp_logs.shutdown(&gsp_logs) -- are you sure you want this? ?This is some
weird C++ wanna-be code, IMHO. ?I don't think this is an improvement. I'd
rather keep it as-is.
> > +/*
> > + * GSP-RM uses a pseudo-class...
2024 Jun 18
1
[PATCH 2/2] [v5] drm/nouveau: expose GSP-RM logging buffers via debugfs
..._HEAD(gsp_logs);
Better wrap this in a NVIF_LOGS_DECLARE() macro.
Like this?
#define NVIF_LOGS_DECLARE(x) LIST_HEAD(x)
Do you want a macro to replace this as well?
extern struct list_head gsp_logs;
+#endif
+
static u64
nouveau_pci_name(struct pci_dev *pdev)
{
@@ -1446,6 +1454,17 @@ nouveau_drm_exit(void)
#endif
if (IS_ENABLED(CONFIG_DRM_NOUVEAU_SVM))
mmu_notifier_synchronize();
+
+#ifdef CONFIG_DEBUG_FS
+ if (!list_empty(&gsp_logs)) {
+ struct nvif_log *log, *n;
+
+ list_for_each_entry_safe(log, n, &gsp_logs, head) {...
2018 Feb 17
3
[PATCH] drm/nouveau/bl: Fix oops on driver unbind
...drm_dev_unregister+0x3c/0xe0 [drm]
drm_put_dev+0x2e/0x60 [drm]
nouveau_drm_device_remove+0x47/0x70 [nouveau]
pci_device_remove+0x36/0xb0
device_release_driver_internal+0x157/0x220
driver_detach+0x39/0x70
bus_remove_driver+0x51/0xd0
pci_unregister_driver+0x2a/0xa0
nouveau_drm_exit+0x15/0xfb0 [nouveau]
SyS_delete_module+0x18c/0x290
system_call_fast_compare_end+0xc/0x6f
Fixes: b53ac1ee12a3 ("drm/nouveau/bl: Do not register interface if Apple GMUX detected")
Cc: stable at vger.kernel.org # v4.10+
Cc: Pierre Moreau <pierre.morrow at free.fr>
Signed-off-b...
2015 Jan 06
2
[PATCH nouveau 09/11] drm: export some variable and functions to resue the PM functions
...thing like the attached patch (untested) ought to do it.
> >> >>This patch alone won't be enough for the reason I mentioned above.
> >> >>However, if Vince doesn't mind handling the platform driver
> >> >>registration manually in nouveau_drm_init/nouveau_drm_exit, I agree
> >> >>this would be the way to go.
> >> >If we do the conversion to generic power domains, the only Tegra-
> >> >specific API remaining will be the access to the fuse registers for the
> >> >speedo value. At that point we wouldn't nee...
2024 Jul 31
1
[PATCH 2/2] [v6] drm/nouveau: expose GSP-RM logging buffers via debugfs
...tly the way you have it) and a separate
> struct nvif_logs:
>
> struct nvif_logs {
> struct list_head head;
> };
>
> Then you use this in NVIF_LOGS_DECLARE() and nvif_log_shutdown()
>
> static inline void nvif_log_shutdown(struct nvif_logs *logs)
>
> and in nouveau_drm_exit() you just pass &gsp_logs.
>
> nvif_log_shutdown(&gsp_logs);
>
> This way things are more type safe, i.e. nvif_log_shutdown() can't be called
> with a random list_head and struct nvif_log::shutdown can't be called with the
> "head instance" of struct s...
2015 Jan 15
2
[PATCH] drm: merge nouveau_platform.ko into nouveau.ko
...@ nouveau_drm_init(void)
if (!nouveau_modeset)
return 0;
+#ifdef CONFIG_NOUVEAU_PLATFORM_DRIVER
+ platform_driver_register(&nouveau_platform_driver);
+#endif
+
nouveau_register_dsm_handler();
return drm_pci_init(&driver_pci, &nouveau_drm_pci_driver);
}
@@ -1117,6 +1120,10 @@ nouveau_drm_exit(void)
drm_pci_exit(&driver_pci, &nouveau_drm_pci_driver);
nouveau_unregister_dsm_handler();
+
+#ifdef CONFIG_NOUVEAU_PLATFORM_DRIVER
+ platform_driver_unregister(&nouveau_platform_driver);
+#endif
}
module_init(nouveau_drm_init);
diff --git a/drm/nouveau_platform.c b/drm/nouve...
2018 Feb 19
0
[PATCH] drm/nouveau/bl: Fix oops on driver unbind
...gt; drm_put_dev+0x2e/0x60 [drm]
> nouveau_drm_device_remove+0x47/0x70 [nouveau]
> pci_device_remove+0x36/0xb0
> device_release_driver_internal+0x157/0x220
> driver_detach+0x39/0x70
> bus_remove_driver+0x51/0xd0
> pci_unregister_driver+0x2a/0xa0
> nouveau_drm_exit+0x15/0xfb0 [nouveau]
> SyS_delete_module+0x18c/0x290
> system_call_fast_compare_end+0xc/0x6f
>
> Fixes: b53ac1ee12a3 ("drm/nouveau/bl: Do not register interface if Apple GMUX detected")
> Cc: stable at vger.kernel.org # v4.10+
> Cc: Pierre Moreau <pierre.morr...
2018 Jul 17
0
[PATCH 0/2] drm/nouveau: Fix panic on nouveau unload.
...x3f/0xe0 [drm]
> drm_put_dev+0x27/0x50 [drm]
> nouveau_drm_device_remove+0x47/0x70 [nouveau]
> pci_device_remove+0x3b/0xb0
> device_release_driver_internal+0x180/0x250
> driver_detach+0x32/0x5f
> bus_remove_driver+0x74/0xc6
> pci_unregister_driver+0x22/0xa0
> nouveau_drm_exit+0x15/0x16b [nouveau]
>
> I don't beleive them to be related. Perhaps there is another issue here?
>
> Jeffery Miller (2):
> drm/nouveau/fbcon: Fix NULL pointer access in nouveau_fbcon_destroy.
> drm/nouveau/bl: Allocate backlight connector nodes.
>
> drivers/gpu/drm...
2015 Jan 05
0
[PATCH nouveau 09/11] drm: export some variable and functions to resue the PM functions
...nvenience macros to register the platform driver.
>
> Something like the attached patch (untested) ought to do it.
This patch alone won't be enough for the reason I mentioned above.
However, if Vince doesn't mind handling the platform driver
registration manually in nouveau_drm_init/nouveau_drm_exit, I agree
this would be the way to go.
Cheers,
Alex.
2015 Jan 06
0
[PATCH nouveau 09/11] drm: export some variable and functions to resue the PM functions
...form driver.
>>
>>> Something like the attached patch (untested) ought to do it.
>> This patch alone won't be enough for the reason I mentioned above.
>> However, if Vince doesn't mind handling the platform driver
>> registration manually in nouveau_drm_init/nouveau_drm_exit, I agree
>> this would be the way to go.
> If we do the conversion to generic power domains, the only Tegra-
> specific API remaining will be the access to the fuse registers for the
> speedo value. At that point we wouldn't need the ARCH_TEGRA dependency
> any longer and coul...
2018 Jul 17
1
[PATCH 0/2] drm/nouveau: Fix panic on nouveau unload.
...] nouveau_drm_device_remove+0x42/0x70 [nouveau]
[ 202.510798] pci_device_remove+0x36/0xb0
[ 202.510800] device_release_driver_internal+0x155/0x220
[ 202.510802] driver_detach+0x32/0x70
[ 202.510803] bus_remove_driver+0x47/0xa0
[ 202.510804] pci_unregister_driver+0x24/0x90
[ 202.510814] nouveau_drm_exit+0x15/0x4f0 [nouveau]
[ 202.510816] __se_sys_delete_module+0x165/0x230
[ 202.510818] do_syscall_64+0x50/0x160
[ 202.510820] entry_SYSCALL_64_after_hwframe+0x44/0xa9
[ 202.510821] RIP: 0033:0x7f144c417367
[ 202.510822] RSP: 002b:00007ffc364f45c8 EFLAGS: 00000202 ORIG_RAX:
00000000000000b0
[...
2016 Nov 13
1
[PATCH v3 1/2] nouveau/bl: Assign different names to interfaces
...-- a/drivers/gpu/drm/nouveau/nouveau_drm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
@@ -1113,6 +1113,7 @@ nouveau_drm_init(void)
#endif
nouveau_register_dsm_handler();
+ nouveau_backlight_ctor();
return drm_pci_init(&driver_pci, &nouveau_drm_pci_driver);
}
@@ -1123,6 +1124,7 @@ nouveau_drm_exit(void)
return;
drm_pci_exit(&driver_pci, &nouveau_drm_pci_driver);
+ nouveau_backlight_dtor();
nouveau_unregister_dsm_handler();
#ifdef CONFIG_NOUVEAU_PLATFORM_DRIVER
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h
index 4cd47ba..923dbce...
2015 Jan 06
0
[PATCH nouveau 09/11] drm: export some variable and functions to resue the PM functions
...gt;>>Something like the attached patch (untested) ought to do it.
>> >>This patch alone won't be enough for the reason I mentioned above.
>> >>However, if Vince doesn't mind handling the platform driver
>> >>registration manually in nouveau_drm_init/nouveau_drm_exit, I agree
>> >>this would be the way to go.
>> >If we do the conversion to generic power domains, the only Tegra-
>> >specific API remaining will be the access to the fuse registers for the
>> >speedo value. At that point we wouldn't need the ARCH_TEGRA dep...
2015 Jan 15
0
[PATCH] drm: merge nouveau_platform.ko into nouveau.ko
...>
> +#ifdef CONFIG_NOUVEAU_PLATFORM_DRIVER
> + platform_driver_register(&nouveau_platform_driver);
> +#endif
> +
> nouveau_register_dsm_handler();
> return drm_pci_init(&driver_pci, &nouveau_drm_pci_driver);
> }
> @@ -1117,6 +1120,10 @@ nouveau_drm_exit(void)
>
> drm_pci_exit(&driver_pci, &nouveau_drm_pci_driver);
> nouveau_unregister_dsm_handler();
> +
> +#ifdef CONFIG_NOUVEAU_PLATFORM_DRIVER
> + platform_driver_unregister(&nouveau_platform_driver);
> +#endif
> }
>
> module_init(no...