search for: nouveau_register_dsm_handler

Displaying 20 results from an estimated 29 matches for "nouveau_register_dsm_handler".

2019 May 07
2
[PATCH 1/5] drm: don't set the pci power state if the pci subsystem handles the ACPI bits
...eau_drv.h | 2 ++ > 4 files changed, 18 insertions(+), 9 deletions(-) > > diff --git a/drm/nouveau/nouveau_acpi.c b/drm/nouveau/nouveau_acpi.c > index ffb19585..49b11d22 100644 > --- a/drm/nouveau/nouveau_acpi.c > +++ b/drm/nouveau/nouveau_acpi.c > @@ -359,11 +359,11 @@ void nouveau_register_dsm_handler(void) > } > > /* Must be called for Optimus models before the card can be turned off */ > -void nouveau_switcheroo_optimus_dsm(void) > +bool nouveau_switcheroo_optimus_dsm(void) > { > u32 result = 0; > if (!nouveau_dsm_priv.optimus_detected || > nouveau_dsm_priv....
2019 May 04
0
[PATCH 1/5] drm: don't set the pci power state if the pci subsystem handles the ACPI bits
...5 +++++++++++---- drm/nouveau/nouveau_drv.h | 2 ++ 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/drm/nouveau/nouveau_acpi.c b/drm/nouveau/nouveau_acpi.c index ffb19585..49b11d22 100644 --- a/drm/nouveau/nouveau_acpi.c +++ b/drm/nouveau/nouveau_acpi.c @@ -359,11 +359,11 @@ void nouveau_register_dsm_handler(void) } /* Must be called for Optimus models before the card can be turned off */ -void nouveau_switcheroo_optimus_dsm(void) +bool nouveau_switcheroo_optimus_dsm(void) { u32 result = 0; if (!nouveau_dsm_priv.optimus_detected || nouveau_dsm_priv.optimus_skip_dsm) - return; + return false;...
2019 May 07
0
[PATCH 1/5] drm: don't set the pci power state if the pci subsystem handles the ACPI bits
...les changed, 18 insertions(+), 9 deletions(-) > > > > diff --git a/drm/nouveau/nouveau_acpi.c b/drm/nouveau/nouveau_acpi.c > > index ffb19585..49b11d22 100644 > > --- a/drm/nouveau/nouveau_acpi.c > > +++ b/drm/nouveau/nouveau_acpi.c > > @@ -359,11 +359,11 @@ void nouveau_register_dsm_handler(void) > > } > > > > /* Must be called for Optimus models before the card can be turned off */ > > -void nouveau_switcheroo_optimus_dsm(void) > > +bool nouveau_switcheroo_optimus_dsm(void) > > { > > u32 result = 0; > > if (!nouveau_dsm_p...
2015 Jan 17
0
[PATCH RFC] nouveau: Add support for Gmux _DSM method
...x == 1) { + acpi_get_name(nouveau_dsm_priv.dhandle, ACPI_FULL_PATHNAME, + &buffer); + printk(KERN_INFO "VGA switcheroo: detected Gmux DSM switching method %s handle\n", + acpi_method_name); + nouveau_dsm_priv.gmux_detected = true; + ret = true; } @@ -311,7 +396,8 @@ void nouveau_register_dsm_handler(void) bool r; r = nouveau_dsm_detect(); - if (!r) + /* Gmux will register its own handler to vga_switcheroo */ + if (!r || nouveau_dsm_priv.gmux_detected) return; vga_switcheroo_register_handler(&nouveau_dsm_handler); diff --git a/drm/nouveau_acpi.h b/drm/nouveau_acpi.h index 74acf...
2014 Mar 10
1
[PATCH] drm/nouveau: print a message when KMS is disabled
...409b 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/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
2015 May 25
15
[PATCH 1/8] acpi: Rename v1 DSM to mux to avoid ambiguity
...h b/drm/nouveau/nouveau_acpi.h index 74acf0f..2bd88a8 100644 --- a/drm/nouveau/nouveau_acpi.h +++ b/drm/nouveau/nouveau_acpi.h @@ -5,7 +5,7 @@ #if defined(CONFIG_ACPI) && defined(CONFIG_X86) bool nouveau_is_optimus(void); -bool nouveau_is_v1_dsm(void); +bool nouveau_has_mux(void); void nouveau_register_dsm_handler(void); void nouveau_unregister_dsm_handler(void); void nouveau_switcheroo_optimus_dsm(void); @@ -14,7 +14,7 @@ bool nouveau_acpi_rom_supported(struct pci_dev *pdev); void *nouveau_acpi_edid(struct drm_device *, struct drm_connector *); #else static inline bool nouveau_is_optimus(void) { return...
2015 May 28
12
[PATCH v2 1/9] acpi: Rename v1 DSM to mux to avoid ambiguity
...h b/drm/nouveau/nouveau_acpi.h index 74acf0f..2bd88a8 100644 --- a/drm/nouveau/nouveau_acpi.h +++ b/drm/nouveau/nouveau_acpi.h @@ -5,7 +5,7 @@ #if defined(CONFIG_ACPI) && defined(CONFIG_X86) bool nouveau_is_optimus(void); -bool nouveau_is_v1_dsm(void); +bool nouveau_has_mux(void); void nouveau_register_dsm_handler(void); void nouveau_unregister_dsm_handler(void); void nouveau_switcheroo_optimus_dsm(void); @@ -14,7 +14,7 @@ bool nouveau_acpi_rom_supported(struct pci_dev *pdev); void *nouveau_acpi_edid(struct drm_device *, struct drm_connector *); #else static inline bool nouveau_is_optimus(void) { return...
2019 May 04
10
[PATCH 0/5] Potential fix for runpm issues on various laptops
While investigating the runpm issues on my GP107 I noticed that something inside devinit makes runpm break. If Nouveau loads up to the point right before doing devinit, runpm works without any issues, if devinit is ran, not anymore. Out of curiousity I even tried to "bisect" devinit by not running it on vbios provided signed PMU image, but on the devinit parser we have inside Nouveau.
2015 Jan 15
2
[PATCH] drm: merge nouveau_platform.ko into nouveau.ko
...TR(err); } -EXPORT_SYMBOL(nouveau_platform_device_create_); static int __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(&nou...
2016 May 24
0
[PATCH 4/4] drm/nouveau/acpi: fix lockup with PCIe runtime PM
...nouveau_dsm_priv.optimus_flags_detected = has_optimus_flags; + nouveau_dsm_priv.optimus_skip_dsm = has_power_resources; ret = true; } else if (vga_count == 2 && has_mux && guid_valid) { acpi_get_name(nouveau_dsm_priv.dhandle, ACPI_FULL_PATHNAME, @@ -320,7 +346,7 @@ void nouveau_register_dsm_handler(void) void nouveau_switcheroo_optimus_dsm(void) { u32 result = 0; - if (!nouveau_dsm_priv.optimus_detected) + if (!nouveau_dsm_priv.optimus_detected || nouveau_dsm_priv.optimus_skip_dsm) return; if (nouveau_dsm_priv.optimus_flags_detected) -- 2.8.2
2016 Nov 13
1
[PATCH v3 1/2] nouveau/bl: Assign different names to interfaces
...endif struct drm_framebuffer * diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/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...
2012 Apr 15
1
[PATCH resend] drm/nouveau: fix acpi related kbuild warnings
...vers/gpu/drm/nouveau/nouveau_drv.h +++ b/drivers/gpu/drm/nouveau/nouveau_drv.h @@ -1097,7 +1097,7 @@ extern int nouveau_dma_wait(struct nouveau_channel *, int slots, int size); /* nouveau_acpi.c */ #define ROM_BIOS_PAGE 4096 -#if defined(CONFIG_ACPI) +#if defined(CONFIG_DRM_NOUVEAU_ACPI) void nouveau_register_dsm_handler(void); void nouveau_unregister_dsm_handler(void); void nouveau_switcheroo_optimus_dsm(void); -- 1.7.8.5
2011 Nov 02
1
[PATCH] drm/nouveau: fix acpi related kbuild warnings
...vers/gpu/drm/nouveau/nouveau_drv.h +++ b/drivers/gpu/drm/nouveau/nouveau_drv.h @@ -1070,7 +1070,7 @@ extern int nouveau_dma_wait(struct nouveau_channel *, int slots, int size); /* nouveau_acpi.c */ #define ROM_BIOS_PAGE 4096 -#if defined(CONFIG_ACPI) +#if defined(CONFIG_DRM_NOUVEAU_ACPI) void nouveau_register_dsm_handler(void); void nouveau_unregister_dsm_handler(void); int nouveau_acpi_get_bios_chunk(uint8_t *bios, int offset, int len); -- 1.7.7
2019 May 07
0
[PATCH v2 1/4] drm: don't set the pci power state if the pci subsystem handles the ACPI bits
...14 +++++++++++--- drm/nouveau/nouveau_drv.h | 2 ++ 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/drm/nouveau/nouveau_acpi.c b/drm/nouveau/nouveau_acpi.c index ffb19585..92dfc900 100644 --- a/drm/nouveau/nouveau_acpi.c +++ b/drm/nouveau/nouveau_acpi.c @@ -358,6 +358,12 @@ void nouveau_register_dsm_handler(void) vga_switcheroo_register_handler(&nouveau_dsm_handler, 0); } +bool nouveau_runpm_calls_dsm(void) +{ + return nouveau_dsm_priv.optimus_detected && + !nouveau_dsm_priv.optimus_skip_dsm; +} + /* Must be called for Optimus models before the card can be turned off */ void nouvea...
2016 Jul 07
0
[PATCH v2 4/4] drm/nouveau/acpi: fix lockup with PCIe runtime PM
...optimus_detected = true; nouveau_dsm_priv.optimus_flags_detected = has_optimus_flags; + nouveau_dsm_priv.optimus_skip_dsm = has_power_resources; ret = true; } else if (vga_count == 2 && has_mux && guid_valid) { nouveau_dsm_priv.dhandle = dhandle; @@ -324,7 +349,7 @@ void nouveau_register_dsm_handler(void) void nouveau_switcheroo_optimus_dsm(void) { u32 result = 0; - if (!nouveau_dsm_priv.optimus_detected) + if (!nouveau_dsm_priv.optimus_detected || nouveau_dsm_priv.optimus_skip_dsm) return; if (nouveau_dsm_priv.optimus_flags_detected) -- 2.9.0
2015 Jan 15
0
[PATCH] drm: merge nouveau_platform.ko into nouveau.ko
...it > 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_NOUVE...
2019 Jun 14
0
[PATCH] drm: don't set the pci power state if the pci subsystem handles the ACPI bits
...| 11 +++++++++-- drm/nouveau/nouveau_drv.h | 2 ++ 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/drm/nouveau/nouveau_acpi.c b/drm/nouveau/nouveau_acpi.c index ffb19585..92dfc900 100644 --- a/drm/nouveau/nouveau_acpi.c +++ b/drm/nouveau/nouveau_acpi.c @@ -358,6 +358,12 @@ void nouveau_register_dsm_handler(void) vga_switcheroo_register_handler(&nouveau_dsm_handler, 0); } +bool nouveau_runpm_calls_dsm(void) +{ + return nouveau_dsm_priv.optimus_detected && + !nouveau_dsm_priv.optimus_skip_dsm; +} + /* Must be called for Optimus models before the card can be turned off */ void nouvea...
2019 Jun 18
0
[PATCH v3] drm: don't set the pci power state if the pci subsystem handles the ACPI bits
...| 11 +++++++++-- drm/nouveau/nouveau_drv.h | 2 ++ 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/drm/nouveau/nouveau_acpi.c b/drm/nouveau/nouveau_acpi.c index ffb195850..c483b8b21 100644 --- a/drm/nouveau/nouveau_acpi.c +++ b/drm/nouveau/nouveau_acpi.c @@ -358,6 +358,12 @@ void nouveau_register_dsm_handler(void) vga_switcheroo_register_handler(&nouveau_dsm_handler, 0); } +bool nouveau_runpm_calls_dsm(void) +{ + return (nouveau_dsm_priv.optimus_detected || nouveau_dsm_priv.dsm_detected) + && !nouveau_dsm_priv.optimus_skip_dsm; +} + /* Must be called for Optimus models before the car...
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
...) { +} + +static inline void +nouveau_backlight_dtor(void) { +} #endif #endif diff --git a/drm/nouveau/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...