Displaying 20 results from an estimated 29 matches for "nouveau_drm_pci_driver".
2015 Jan 15
2
[PATCH] drm: merge nouveau_platform.ko into nouveau.ko
..._init
nouveau_drm_init(void)
@@ -1105,6 +1104,10 @@ 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);
di...
2014 Mar 10
1
[PATCH] drm/nouveau: print a message when KMS is disabled
...u/drm/nouveau/nouveau_drm.c
@@ -984,8 +984,10 @@ nouveau_drm_init(void)
#endif
}
- if (!nouveau_modeset)
+ if (!nouveau_modeset) {
+ DRM_INFO("Nouveau will not load as KMS was disabled.\n");
return 0;
+ }
nouveau_register_dsm_handler();
return drm_pci_init(&driver, &nouveau_drm_pci_driver);
--
1.9.0
2016 Nov 13
1
[PATCH v3 1/2] nouveau/bl: Assign different names to interfaces
...ouveau/nouveau_drm.c
index 9876e6f..2b93b55 100644
--- 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/dr...
2015 Jan 15
0
[PATCH] drm: merge nouveau_platform.ko into nouveau.ko
...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_...
2024 Nov 25
2
[PATCH] drm/nouveau: create module debugfs root
...ret = nouveau_module_debugfs_init();
+ if (ret)
+ return ret;
+
#ifdef CONFIG_NOUVEAU_PLATFORM_DRIVER
platform_driver_register(&nouveau_platform_driver);
#endif
@@ -1444,10 +1454,14 @@ nouveau_drm_init(void)
nouveau_backlight_ctor();
#ifdef CONFIG_PCI
- return pci_register_driver(&nouveau_drm_pci_driver);
-#else
- return 0;
+ ret = pci_register_driver(&nouveau_drm_pci_driver);
+ if (ret) {
+ nouveau_module_debugfs_fini();
+ return ret;
+ }
#endif
+
+ return 0;
}
static void __exit
@@ -1467,6 +1481,8 @@ nouveau_drm_exit(void)
#endif
if (IS_ENABLED(CONFIG_DRM_NOUVEAU_SVM))
mmu_notif...
2016 Apr 15
11
[PATCH 1/2] nouveau/bl: Assign different names to interfaces
Currently, every backlight interface created by Nouveau uses the same name,
nv_backlight. This leads to a sysfs warning as it tries to create an already
existing folder. This patch adds a incremented number to the name, but keeps
the initial name as nv_backlight, to avoid possibly breaking userspace; the
second interface will be named nv_backlight1, and so on.
Fixes: fdo#86539
Signed-off-by:
2016 Apr 17
0
[PATCH v2 1/2] nouveau/bl: Assign different names to interfaces
...au/nouveau_drm.c b/drm/nouveau/nouveau_drm.c
index d06877d..0d89d7c 100644
--- a/drm/nouveau/nouveau_drm.c
+++ b/drm/nouveau/nouveau_drm.c
@@ -1097,6 +1097,7 @@ nouveau_drm_init(void)
#endif
nouveau_register_dsm_handler();
+ nouveau_backlight_ctor();
return drm_pci_init(&driver_pci, &nouveau_drm_pci_driver);
}
@@ -1107,6 +1108,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/drm/nouveau/nouveau_drm.h b/drm/nouveau/nouveau_drm.h...
2016 Dec 07
0
[PATCH v4 1/2] nouveau/bl: Assign different names to interfaces
...au/nouveau_drm.c b/drm/nouveau/nouveau_drm.c
index 064a925..59348fc 100644
--- a/drm/nouveau/nouveau_drm.c
+++ b/drm/nouveau/nouveau_drm.c
@@ -1122,6 +1122,7 @@ nouveau_drm_init(void)
#endif
nouveau_register_dsm_handler();
+ nouveau_backlight_ctor();
return drm_pci_init(&driver_pci, &nouveau_drm_pci_driver);
}
@@ -1132,6 +1133,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/drm/nouveau/nouveau_drv.h b/drm/nouveau/nouveau_drv.h...
2016 Nov 14
0
[PATCH v3 1/2] nouveau/bl: Assign different names to interfaces
...b55 100644
> --- 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...
2018 Mar 17
1
[PATCH] drm/nouveau/bl: Fix oops on driver unbind
...t only now on
saving the message away:
On shutdown the driver isn't unloaded, rather the driver core walks
the device hierarchy bottom-up in device_shutdown() and, for PCI-
enumerated GPUs, invokes the bus shutdown hook pci_device_shutdown().
This in turn would normally invoke ->shutdown in nouveau_drm_pci_driver,
but we haven't defined it. So the only thing that happens is that
pci_device_shutdown() runtime resumes the device and optionally turns
off busmastering if a kexec kernel is going to be loaded.
So that's mostly fine, the only silly thing is that we shouldn't
runtime resume the GPU if...
2014 May 19
10
[PATCH 0/5] drm/nouveau: platform devices and GK20A probing
This patch series is the final (?) step towards the initial support of GK20A,
allowing it to be probed and used (currently at a very slow speed, and for
offscreen rendering only) on the Jetson TK1 and Venice 2 boards.
The main piece if the first patch which adds platform devices probing support
to Nouveau. There are probably lots of things that need to be discussed about
it, e.g.:
* The way the
2014 Feb 01
0
[RFC 03/16] drm/nouveau: add platform device probing function
...truct nouveau_device *);
int nv20_identify(struct nouveau_device *);
diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c
index 4cba4d8..8d55a50 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
@@ -986,6 +986,25 @@ nouveau_drm_pci_driver = {
.driver.pm = &nouveau_pm_ops,
};
+
+int nouveau_drm_platform_probe(struct platform_device *pdev)
+{
+ struct nouveau_device *device;
+ int ret;
+
+ ret = nouveau_device_platform_create(pdev, nouveau_platform_name(pdev),
+ dev_name(&pdev->dev), nouveau_config,
+ nou...
2023 Sep 22
1
[RFT PATCH v2 04/12] drm/nouveau: Call drm_atomic_helper_shutdown() or equiv at shutdown time
...splay_shutdown(dev);
> +}
> +
> +static void
> +nouveau_drm_shutdown(struct pci_dev *pdev)
> +{
> + nouveau_drm_device_shutdown(pci_get_drvdata(pdev));
> +}
> +
> static int
> nouveau_do_suspend(struct drm_device *dev, bool runtime)
> {
> @@ -1346,6 +1358,7 @@ nouveau_drm_pci_driver = {
> .id_table = nouveau_drm_pci_table,
> .probe = nouveau_drm_probe,
> .remove = nouveau_drm_remove,
> + .shutdown = nouveau_drm_shutdown,
> .driver.pm = &nouveau_pm_ops,
> };
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/n...
2018 Feb 17
3
[PATCH] drm/nouveau/bl: Fix oops on driver unbind
Unbinding nouveau on a dual GPU MacBook Pro oopses because we iterate
over the bl_connectors list in nouveau_backlight_exit() but skipped
initializing it in nouveau_backlight_init(). Stacktrace for posterity:
BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
IP: nouveau_backlight_exit+0x2b/0x70 [nouveau]
nouveau_display_destroy+0x29/0x80 [nouveau]
2014 Feb 10
0
[PATCH] drm/nouveau: support for platform devices
...)
> - goto fail_bios;
> + if (pdev) {
> + ret = nouveau_bios_init(dev);
> + if (ret)
> + goto fail_bios;
> + }
nouveau_bios_init() could also check internally and return 0 if the
device isn't a PCI device. One less conditional in this function.
> @@ -963,6 +991,25 @@ nouveau_drm_pci_driver = {
> .driver.pm = &nouveau_pm_ops,
> };
>
> +
This adds a spurious newline.
> +int nouveau_drm_platform_probe(struct platform_device *pdev)
> +{
> + struct nouveau_device *device;
> + int ret;
> +
> + ret = nouveau_device_platform_create(pdev, nouveau_platf...
2024 Jun 12
1
[PATCH v2 0/8] drm: make leftover drivers call drm_atomic_helper_shutdown() at the right times
This patch series is the leftovers of a patch series sent in September
2023 [1] in an attempt to get some of the patches landed finally.
This patch series originally came about after a _long_ discussion
between me and Maxime Ripard in response to a different patch I sent
out [2]. As part of that discussion, we realized that it would be good
if DRM drivers consistently called
2023 Sep 21
1
[RFT PATCH v2 00/12] drm: call drm_atomic_helper_shutdown() at the right times
This patch series came about after a _long_ discussion between me and
Maxime Ripard in response to a different patch I sent out [1]. As part
of that discussion, we realized that it would be good if DRM drivers
consistently called drm_atomic_helper_shutdown() properly at shutdown
and driver remove time as it's documented that they should do. The
eventual goal of this would be to enable removing
2014 Jun 26
0
[PATCH v3 1/3] drm/nouveau: support for probing platform devices
...debug();
}
+EXPORT_SYMBOL(nouveau_drm_device_remove);
+
+static void
+nouveau_drm_remove(struct pci_dev *pdev)
+{
+ struct drm_device *dev = pci_get_drvdata(pdev);
+
+ nouveau_drm_device_remove(dev);
+}
static int
nouveau_do_suspend(struct drm_device *dev, bool runtime)
@@ -1003,24 +1011,41 @@ nouveau_drm_pci_driver = {
.driver.pm = &nouveau_pm_ops,
};
-int nouveau_drm_platform_probe(struct platform_device *pdev)
+struct drm_device *
+nouveau_platform_device_create_(struct platform_device *pdev, int size,
+ void **pobject)
{
- struct nouveau_device *device;
- int ret;
+ struct drm_device *drm;
+ i...
2014 Jun 26
6
[PATCH v3 0/3] drm/nouveau: support for probing platform devices
This series adds support for probing platform devices on Nouveau, as well as
the DT bindings for GK20A. It doesn't enable the GPU yet on Tegra boards since
a few extra things need to be supported before that.
This version is mostly identical to v2 but fixes an important issue: the drvdata
must be set to the drm_device for sysfs to work, so the platform device
structure now includes the
2014 Jun 13
3
[PATCH v2 0/3] drm/nouveau: support for probing platform devices
This series adds support for probing platform devices on Nouveau, as well as
the DT bindings for GK20A. It doesn't enable the GPU yet on Tegra boards since
a few extra things need to be supported before that.
Thanks to the input received for v1, this version is more self-contained and
shares less stuff between nouveau_drm and nouveau_platform. The major change
is that nouveau_platform is now