search for: nouveau_pmops_resume

Displaying 20 results from an estimated 42 matches for "nouveau_pmops_resume".

2017 Nov 21
2
[PATCH v2] drm: don't continue with anything after the GPU couldn't be woken up
This should make systems more stable where resuming the GPU fails. This can happen due to bad firmware or due to a bug within the kernel. The last thing which should happen in either case is an unusable system. v2: do the same in nouveau_pmops_resume Tested-by: Karl Hastings <kazen at redhat.com> Signed-off-by: Karol Herbst <kherbst at redhat.com> --- drm/nouveau/nouveau_drm.c | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/drm/nouveau/nouveau_drm.c b/drm/nouveau/nouveau_drm.c i...
2018 Aug 15
0
[PATCH v3 1/3] drm/nouveau: Remove useless poll_enable() call in switcheroo_set_state()
This doesn't do anything, drm_kms_helper_poll_enable() gets called in nouveau_pmops_resume()->nouveau_display_resume()->nouveau_display_init() already. Signed-off-by: Lyude Paul <lyude at redhat.com> Reviewed-by: Karol Herbst <kherbst at redhat.com> Acked-by: Daniel Vetter <daniel at ffwll.ch> Cc: Lukas Wunner <lukas at wunner.de> --- drivers/gpu/drm/nouve...
2017 Nov 21
2
[PATCH v2] drm: don't continue with anything after the GPU couldn't be woken up
...100, Karol Herbst wrote: >> This should make systems more stable where resuming the GPU fails. This >> can happen due to bad firmware or due to a bug within the kernel. The >> last thing which should happen in either case is an unusable system. >> >> v2: do the same in nouveau_pmops_resume >> >> Tested-by: Karl Hastings <kazen at redhat.com> >> Signed-off-by: Karol Herbst <kherbst at redhat.com> >> --- >> drm/nouveau/nouveau_drm.c | 31 +++++++++++++++++++++++-------- >> 1 file changed, 23 insertions(+), 8 deletions(-) >> >&gt...
2018 Aug 13
3
[PATCH 0/3] Cleanup drm_kms_helper_poll_enable/disable() calls
Does what it says on the label, a lot of these calls are already handled somewhere else and don't appear to be here for a legitimate reason anymore. Lyude Paul (3): drm/nouveau: Remove useless poll_enable() call in switcheroo_set_state() drm/nouveau: Remove useless poll_disable() call in switcheroo_set_state() drm/nouveau: Remove useless poll_enable() call in drm_load()
2018 Aug 15
3
[PATCH v3 0/3] Cleanup drm_kms_helper_poll_enable/disable() calls
Next version of https://patchwork.freedesktop.org/series/48131/ Only changes are new A-Bs and R-Bs Lyude Paul (3): drm/nouveau: Remove useless poll_enable() call in switcheroo_set_state() drm/nouveau: Remove useless poll_disable() call in switcheroo_set_state() drm/nouveau: Remove useless poll_enable() call in drm_load() drivers/gpu/drm/nouveau/nouveau_drm.c | 4 +---
2019 Aug 23
1
[PATCH] drm/nouveau: Fix memory leak in nvkm_ram_get()
...00000000c6f92dc0>] nvkm_object_init+0x74/0x110 [nouveau] [<000000007416951c>] nvkm_client_resume+0xe/0x10 [nouveau] [<00000000c5d31dfd>] nvif_client_resume+0x1d/0x20 [nouveau] [<000000008f3a638f>] nouveau_do_resume+0x2d/0x150 [nouveau] [<00000000df2c2b85>] nouveau_pmops_resume+0x6b/0xa0 [nouveau] [<00000000f44c649d>] pci_pm_resume+0x71/0xb0 Signed-off-by: Yongxin Liu <yongxin.liu at windriver.com> --- drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.c b/drivers...
2014 Dec 30
2
[PATCH nouveau 09/11] drm: export some variable and functions to resue the PM functions
...device *dev) > diff --git a/drm/nouveau_drm.h b/drm/nouveau_drm.h > index 8ae36f265fb8..897d295dd1e3 100644 > --- a/drm/nouveau_drm.h > +++ b/drm/nouveau_drm.h > @@ -177,6 +177,8 @@ nouveau_drm(struct drm_device *dev) > > int nouveau_pmops_suspend(struct device *); > int nouveau_pmops_resume(struct device *); > +int nouveau_do_suspend(struct drm_device *dev, bool runtime); > +int nouveau_do_resume(struct drm_device *dev, bool runtime); > > #define nouveau_platform_device_create(p, u) \ > nouveau_platform_device_create_(p, sizeof(**u...
2016 Nov 21
2
[PATCH 1/2] drm/nouveau: Rename acpi_work to hpd_work
We need to call drm_helper_hpd_irq_event() on resume to properly detect monitor connection / disconnection on some laptops. For runtime-resume (which gets called on resume from normal suspend too) we must call drm_helper_hpd_irq_event() from a workqueue to avoid a deadlock. Rename acpi_work to hpd_work, and move it out of the #ifdef CONFIG_ACPI blocks to make it suitable for generic work.
2018 Nov 24
1
[PATCH 2/2] drm/nouveau: Grab an rpm reference before/after DP AUX transactions
...struct nouveau_drm { > bool have_disp_power_ref; > > struct dev_pm_domain vga_pm_domain; > + > + struct task_struct *rpm_task; > }; > > static inline struct nouveau_drm * > @@ -231,6 +233,12 @@ int nouveau_pmops_suspend(struct device *); > int nouveau_pmops_resume(struct device *); > bool nouveau_pmops_runtime(void); > > +static inline bool > +nouveau_is_rpm_worker(struct nouveau_drm *drm) > +{ > + return drm->rpm_task == current; > +} > + > #include <nvkm/core/tegra.h> > > struct drm_device * > -- > 2...
2017 Jan 24
1
[PATCH 2/2] drm/nouveau: Queue hpd_work on (runtime) resume
...anged, 10 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c > index 3100fd88..b564ab8 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_drm.c > +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c > @@ -692,7 +692,12 @@ nouveau_pmops_resume(struct device *dev) > return ret; > pci_set_master(pdev); > > - return nouveau_do_resume(drm_dev, false); > + ret = nouveau_do_resume(drm_dev, false); > + > + /* Monitors may have been connected / disconnected during suspend */ > + schedule_work(&nouveau_drm(drm_dev...
2016 Nov 21
0
[PATCH 2/2] drm/nouveau: Queue hpd_work on (runtime) resume
...c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index 3100fd88..b564ab8 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -692,7 +692,12 @@ nouveau_pmops_resume(struct device *dev) return ret; pci_set_master(pdev); - return nouveau_do_resume(drm_dev, false); + ret = nouveau_do_resume(drm_dev, false); + + /* Monitors may have been connected / disconnected during suspend */ + schedule_work(&nouveau_drm(drm_dev)->hpd_work); + + return ret; }...
2017 Nov 21
0
[PATCH v2] drm: don't continue with anything after the GPU couldn't be woken up
...17 at 04:01:16PM +0100, Karol Herbst wrote: > This should make systems more stable where resuming the GPU fails. This > can happen due to bad firmware or due to a bug within the kernel. The > last thing which should happen in either case is an unusable system. > > v2: do the same in nouveau_pmops_resume > > Tested-by: Karl Hastings <kazen at redhat.com> > Signed-off-by: Karol Herbst <kherbst at redhat.com> > --- > drm/nouveau/nouveau_drm.c | 31 +++++++++++++++++++++++-------- > 1 file changed, 23 insertions(+), 8 deletions(-) > > diff --git a/drm/nouveau/nou...
2019 Jul 23
0
[PATCH] drm/nouveau: Use dev_get_drvdata where possible
...6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index 7c2fcaba42d6..23203dae2137 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -883,16 +883,14 @@ nouveau_pmops_resume(struct device *dev) static int nouveau_pmops_freeze(struct device *dev) { - struct pci_dev *pdev = to_pci_dev(dev); - struct drm_device *drm_dev = pci_get_drvdata(pdev); + struct drm_device *drm_dev = dev_get_drvdata(dev); return nouveau_do_suspend(drm_dev, false); } static int nouveau_pm...
2014 Feb 14
0
[PATCH v2] drm/nouveau: use nv_debug for NV_DEBUG, make DRM a separate subflag
...(&drm->clients); spin_lock_init(&drm->tile.lock); diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.h b/drivers/gpu/drm/nouveau/nouveau_drm.h index 23ca7a5..7efbafa 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.h +++ b/drivers/gpu/drm/nouveau/nouveau_drm.h @@ -161,10 +161,7 @@ int nouveau_pmops_resume(struct device *); #define NV_ERROR(cli, fmt, args...) nv_error((cli), fmt, ##args) #define NV_WARN(cli, fmt, args...) nv_warn((cli), fmt, ##args) #define NV_INFO(cli, fmt, args...) nv_info((cli), fmt, ##args) -#define NV_DEBUG(cli, fmt, args...) do { \ - if...
2014 Dec 23
0
[PATCH nouveau 09/11] drm: export some variable and functions to resue the PM functions
...); int nouveau_pmops_suspend(struct device *dev) diff --git a/drm/nouveau_drm.h b/drm/nouveau_drm.h index 8ae36f265fb8..897d295dd1e3 100644 --- a/drm/nouveau_drm.h +++ b/drm/nouveau_drm.h @@ -177,6 +177,8 @@ nouveau_drm(struct drm_device *dev) int nouveau_pmops_suspend(struct device *); int nouveau_pmops_resume(struct device *); +int nouveau_do_suspend(struct drm_device *dev, bool runtime); +int nouveau_do_resume(struct drm_device *dev, bool runtime); #define nouveau_platform_device_create(p, u) \ nouveau_platform_device_create_(p, sizeof(**u), (void **)u) -- 1.9.1
2017 Nov 22
0
[PATCH v2] drm: don't continue with anything after the GPU couldn't be woken up
...> >> This should make systems more stable where resuming the GPU fails. This > >> can happen due to bad firmware or due to a bug within the kernel. The > >> last thing which should happen in either case is an unusable system. > >> > >> v2: do the same in nouveau_pmops_resume > >> > >> Tested-by: Karl Hastings <kazen at redhat.com> > >> Signed-off-by: Karol Herbst <kherbst at redhat.com> > >> --- > >> drm/nouveau/nouveau_drm.c | 31 +++++++++++++++++++++++-------- > >> 1 file changed, 23 insertions(+), 8...
2017 Aug 14
0
nouveau driver locks up with 4.11 kernel
...km_ioctl_del+0x8c/0xa0 [nouveau] > ? nvkm_ioctl+0x100/0x290 [nouveau] > ? __check_object_size+0x9e/0x13c > ? __check_object_size+0x9e/0x13c > ? nvif_client_ioctl+0x2b/0x40 [nouveau] > ? usif_ioctl+0x4eb/0x790 [nouveau] > ? nouveau_drm_ioctl+0xab/0xb0 [nouveau] > ? nouveau_pmops_resume+0x80/0x80 [nouveau] > ? do_vfs_ioctl+0x91/0x6b0 > ? SyS_ioctl+0x60/0x70 > ? do_fast_syscall_32+0x8a/0x150 > ? entry_SYSENTER_32+0x4e/0x7c > ---[ end trace 1bf6c731018c2e52 ]--- > > followed by > nouveau 0000:03:00.0: fifo: channel 6 [mpv/vo[3535]] kick timeout >...
2014 Dec 30
0
[PATCH nouveau 09/11] drm: export some variable and functions to resue the PM functions
...drm/nouveau_drm.h b/drm/nouveau_drm.h >> index 8ae36f265fb8..897d295dd1e3 100644 >> --- a/drm/nouveau_drm.h >> +++ b/drm/nouveau_drm.h >> @@ -177,6 +177,8 @@ nouveau_drm(struct drm_device *dev) >> >> int nouveau_pmops_suspend(struct device *); >> int nouveau_pmops_resume(struct device *); >> +int nouveau_do_suspend(struct drm_device *dev, bool runtime); >> +int nouveau_do_resume(struct drm_device *dev, bool runtime); >> >> #define nouveau_platform_device_create(p, u) \ >> nouveau_platform_devic...
2014 Feb 13
1
[PATCH 1/2] drm/nouveau: make hdmi device finding failure prints debug level
The hdmi device is required for runtime pm. However it is not available on many esp older devices, which were all seeing these error messages. Take this opportunity to also convert to nv_debug instead of the DRM_* messages, like the rest of nouveau does. Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> --- drivers/gpu/drm/nouveau/nouveau_drm.c | 11 +++++------ 1 file changed, 5
2017 Aug 14
2
nouveau driver locks up with 4.11 kernel
...t_fini+0x137/0x300 [nouveau] ? nvkm_ioctl_del+0x8c/0xa0 [nouveau] ? nvkm_ioctl+0x100/0x290 [nouveau] ? __check_object_size+0x9e/0x13c ? __check_object_size+0x9e/0x13c ? nvif_client_ioctl+0x2b/0x40 [nouveau] ? usif_ioctl+0x4eb/0x790 [nouveau] ? nouveau_drm_ioctl+0xab/0xb0 [nouveau] ? nouveau_pmops_resume+0x80/0x80 [nouveau] ? do_vfs_ioctl+0x91/0x6b0 ? SyS_ioctl+0x60/0x70 ? do_fast_syscall_32+0x8a/0x150 ? entry_SYSENTER_32+0x4e/0x7c ---[ end trace 1bf6c731018c2e52 ]--- followed by nouveau 0000:03:00.0: fifo: channel 6 [mpv/vo[3535]] kick timeout nouveau: mpv/vo[3535]:00000000:0000906f: det...