search for: nouveau_drm_pci_driver

Displaying 20 results from an estimated 25 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_...
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...
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
2014 Feb 10
2
[PATCH] drm/nouveau: support for platform devices
...intf(name, sizeof(name), "%s[%d]", tmpname, pid_nr(fpriv->pid)); - ret = nouveau_cli_create(pdev, name, sizeof(*cli), (void **)&cli); + ret = nouveau_cli_create(nouveau_name(dev), name, sizeof(*cli), + (void **)&cli); + if (ret) goto out_suspend; @@ -963,6 +991,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...
2014 Jun 26
2
[PATCH v3 1/3] drm/nouveau: support for probing platform devices
...gt; +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...