Displaying 20 results from an estimated 59 matches for "drm_crtc_cleanup".
2016 May 24
4
[PATCH 9/9] drm: Turn off crtc before tearing down its data structure
On Tue, May 24, 2016 at 06:03:27PM +0200, Lukas Wunner wrote:
> When a drm_crtc structure is destroyed with drm_crtc_cleanup(), the DRM
> core does not turn off the crtc first and neither do the drivers. With
> nouveau, radeon and amdgpu, this causes a runtime pm ref to be leaked on
> driver unload if at least one crtc was enabled.
>
> (See usage of have_disp_power_ref in nouveau_crtc_set_config(),
> r...
2016 Jun 01
2
[PATCH 9/9] drm: Turn off crtc before tearing down its data structure
...May 25, 2016 at 12:51 PM, Lukas Wunner <lukas at wunner.de> wrote:
> > > On Tue, May 24, 2016 at 11:30:42PM +0200, Daniel Vetter wrote:
> > >> On Tue, May 24, 2016 at 06:03:27PM +0200, Lukas Wunner wrote:
> > >> > When a drm_crtc structure is destroyed with drm_crtc_cleanup(), the DRM
> > >> > core does not turn off the crtc first and neither do the drivers. With
> > >> > nouveau, radeon and amdgpu, this causes a runtime pm ref to be leaked on
> > >> > driver unload if at least one crtc was enabled.
> > >> >...
2016 May 25
2
[PATCH 9/9] drm: Turn off crtc before tearing down its data structure
On Wed, May 25, 2016 at 12:51 PM, Lukas Wunner <lukas at wunner.de> wrote:
>
> On Tue, May 24, 2016 at 11:30:42PM +0200, Daniel Vetter wrote:
>> On Tue, May 24, 2016 at 06:03:27PM +0200, Lukas Wunner wrote:
>> > When a drm_crtc structure is destroyed with drm_crtc_cleanup(), the DRM
>> > core does not turn off the crtc first and neither do the drivers. With
>> > nouveau, radeon and amdgpu, this causes a runtime pm ref to be leaked on
>> > driver unload if at least one crtc was enabled.
>> >
>> > (See usage of have_disp_po...
2016 Jun 03
1
[PATCH 9/9] drm: Turn off crtc before tearing down its data structure
...Wunner <lukas at wunner.de> wrote:
> > > > > On Tue, May 24, 2016 at 11:30:42PM +0200, Daniel Vetter wrote:
> > > > > > On Tue, May 24, 2016 at 06:03:27PM +0200, Lukas Wunner wrote:
> > > > > > > When a drm_crtc structure is destroyed with drm_crtc_cleanup(), the DRM
> > > > > > > core does not turn off the crtc first and neither do the drivers. With
> > > > > > > nouveau, radeon and amdgpu, this causes a runtime pm ref to be leaked on
> > > > > > > driver unload if at least one crtc was...
2016 May 24
5
[PATCH 0/9] Fix runtime pm ref leaks
In preparation for runtime pm on muxed dual GPU laptops,
I've fixed all runtime pm ref leaks I could find in nouveau,
radeon and amdgpu.
To ease reviewing, I've pushed this series to GitHub:
https://github.com/l1k/linux/commits/drm_runpm_fixes_v1
@Alex Deucher: I do not have an AMD GPU so couldn't test this
beyond verifying that it compiles. Please double-check the patches
and test
2016 May 24
0
[PATCH 9/9] drm: Turn off crtc before tearing down its data structure
When a drm_crtc structure is destroyed with drm_crtc_cleanup(), the DRM
core does not turn off the crtc first and neither do the drivers. With
nouveau, radeon and amdgpu, this causes a runtime pm ref to be leaked on
driver unload if at least one crtc was enabled.
(See usage of have_disp_power_ref in nouveau_crtc_set_config(),
radeon_crtc_set_config() and am...
2016 May 25
0
[PATCH 9/9] drm: Turn off crtc before tearing down its data structure
Hi Daniel,
On Tue, May 24, 2016 at 11:30:42PM +0200, Daniel Vetter wrote:
> On Tue, May 24, 2016 at 06:03:27PM +0200, Lukas Wunner wrote:
> > When a drm_crtc structure is destroyed with drm_crtc_cleanup(), the DRM
> > core does not turn off the crtc first and neither do the drivers. With
> > nouveau, radeon and amdgpu, this causes a runtime pm ref to be leaked on
> > driver unload if at least one crtc was enabled.
> >
> > (See usage of have_disp_power_ref in nouveau_...
2016 Jun 01
0
[PATCH 9/9] drm: Turn off crtc before tearing down its data structure
...:
> On Wed, May 25, 2016 at 12:51 PM, Lukas Wunner <lukas at wunner.de> wrote:
> > On Tue, May 24, 2016 at 11:30:42PM +0200, Daniel Vetter wrote:
> >> On Tue, May 24, 2016 at 06:03:27PM +0200, Lukas Wunner wrote:
> >> > When a drm_crtc structure is destroyed with drm_crtc_cleanup(), the DRM
> >> > core does not turn off the crtc first and neither do the drivers. With
> >> > nouveau, radeon and amdgpu, this causes a runtime pm ref to be leaked on
> >> > driver unload if at least one crtc was enabled.
> >> >
> >> > (...
2016 Jun 03
0
[PATCH 9/9] drm: Turn off crtc before tearing down its data structure
...2:51 PM, Lukas Wunner <lukas at wunner.de> wrote:
> > > > On Tue, May 24, 2016 at 11:30:42PM +0200, Daniel Vetter wrote:
> > > > > On Tue, May 24, 2016 at 06:03:27PM +0200, Lukas Wunner wrote:
> > > > > > When a drm_crtc structure is destroyed with drm_crtc_cleanup(), the DRM
> > > > > > core does not turn off the crtc first and neither do the drivers. With
> > > > > > nouveau, radeon and amdgpu, this causes a runtime pm ref to be leaked on
> > > > > > driver unload if at least one crtc was enabled.
> &...
2016 May 24
0
[PATCH 9/9] drm: Turn off crtc before tearing down its data structure
Good evening Daniel,
On Tue, May 24, 2016 at 11:30:42PM +0200, Daniel Vetter wrote:
> On Tue, May 24, 2016 at 06:03:27PM +0200, Lukas Wunner wrote:
> > When a drm_crtc structure is destroyed with drm_crtc_cleanup(), the DRM
> > core does not turn off the crtc first and neither do the drivers. With
> > nouveau, radeon and amdgpu, this causes a runtime pm ref to be leaked on
> > driver unload if at least one crtc was enabled.
> >
> > (See usage of have_disp_power_ref in nouveau_...
2015 Oct 02
2
[PATCH v3 7/7] [wip] virtio-gpu: add page flip support
..._gpu_crtc_funcs = {
.cursor_set2 = virtio_gpu_crtc_cursor_set,
.cursor_move = virtio_gpu_crtc_cursor_move,
@@ -132,9 +177,7 @@ static const struct drm_crtc_funcs virtio_gpu_crtc_funcs = {
.set_config = drm_atomic_helper_set_config,
.destroy = drm_crtc_cleanup,
-#if 0 /* not (yet) working without vblank support according to docs */
- .page_flip = drm_atomic_helper_page_flip,
-#endif
+ .page_flip = virtio_gpu_page_flip,
.reset = drm_atomic_helper_crtc_reset,
.atomic_duplicate_state = drm_atomic_helper_crtc_...
2015 Oct 02
2
[PATCH v3 7/7] [wip] virtio-gpu: add page flip support
..._gpu_crtc_funcs = {
.cursor_set2 = virtio_gpu_crtc_cursor_set,
.cursor_move = virtio_gpu_crtc_cursor_move,
@@ -132,9 +177,7 @@ static const struct drm_crtc_funcs virtio_gpu_crtc_funcs = {
.set_config = drm_atomic_helper_set_config,
.destroy = drm_crtc_cleanup,
-#if 0 /* not (yet) working without vblank support according to docs */
- .page_flip = drm_atomic_helper_page_flip,
-#endif
+ .page_flip = virtio_gpu_page_flip,
.reset = drm_atomic_helper_crtc_reset,
.atomic_duplicate_state = drm_atomic_helper_crtc_...
2012 Nov 25
0
[PATCH] drm/nouveau: unpin various bo's before destroying
...tions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nv04_crtc.c b/drivers/gpu/drm/nouveau/nv04_crtc.c
index 82a0d9c..6578cd2 100644
--- a/drivers/gpu/drm/nouveau/nv04_crtc.c
+++ b/drivers/gpu/drm/nouveau/nv04_crtc.c
@@ -730,6 +730,7 @@ static void nv_crtc_destroy(struct drm_crtc *crtc)
drm_crtc_cleanup(crtc);
nouveau_bo_unmap(nv_crtc->cursor.nvbo);
+ nouveau_bo_unpin(nv_crtc->cursor.nvbo);
nouveau_bo_ref(NULL, &nv_crtc->cursor.nvbo);
kfree(nv_crtc);
}
@@ -1056,8 +1057,11 @@ nv04_crtc_create(struct drm_device *dev, int crtc_num)
0, 0x0000, NULL, &nv_crtc->curs...
2020 Mar 18
0
[PATCH 2/9] drm/nouveau/kms/nv50-: Unroll error cleanup in nv50_head_create()
...drm_device *dev, int index)
if (head->func->olut_set) {
ret = nv50_lut_init(disp, &drm->client.mmu, &head->olut);
- if (ret) {
- nv50_head_destroy(crtc);
- return ERR_PTR(ret);
- }
+ if (ret)
+ goto fail_crtc_cleanup;
}
return head;
+
+fail_crtc_cleanup:
+ drm_crtc_cleanup(crtc);
+fail_free:
+ kfree(head);
+
+ return ERR_PTR(ret);
}
--
2.24.1
2020 Apr 17
0
[RFC v3 04/11] drm/nouveau/kms/nv50-: Unroll error cleanup in nv50_head_create()
...drm_device *dev, int index)
if (head->func->olut_set) {
ret = nv50_lut_init(disp, &drm->client.mmu, &head->olut);
- if (ret) {
- nv50_head_destroy(crtc);
- return ERR_PTR(ret);
- }
+ if (ret)
+ goto fail_crtc_cleanup;
}
return head;
+
+fail_crtc_cleanup:
+ drm_crtc_cleanup(crtc);
+fail_free:
+ kfree(head);
+
+ return ERR_PTR(ret);
}
--
2.25.1
2020 May 08
0
[RFC v4 05/12] drm/nouveau/kms/nv50-: Unroll error cleanup in nv50_head_create()
...drm_device *dev, int index)
if (head->func->olut_set) {
ret = nv50_lut_init(disp, &drm->client.mmu, &head->olut);
- if (ret) {
- nv50_head_destroy(crtc);
- return ERR_PTR(ret);
- }
+ if (ret)
+ goto fail_crtc_cleanup;
}
return head;
+
+fail_crtc_cleanup:
+ drm_crtc_cleanup(crtc);
+fail_free:
+ kfree(head);
+
+ return ERR_PTR(ret);
}
--
2.25.4
2016 May 25
0
[PATCH v3 7/7] [wip] virtio-gpu: add page flip support
...= virtio_gpu_crtc_cursor_set,
> .cursor_move = virtio_gpu_crtc_cursor_move,
> @@ -132,9 +177,7 @@ static const struct drm_crtc_funcs virtio_gpu_crtc_funcs = {
> .set_config = drm_atomic_helper_set_config,
> .destroy = drm_crtc_cleanup,
>
> -#if 0 /* not (yet) working without vblank support according to docs */
> - .page_flip = drm_atomic_helper_page_flip,
> -#endif
> + .page_flip = virtio_gpu_page_flip,
> .reset = drm_atomic_helper_crtc_reset,
>...
2018 Dec 19
0
[PATCH 06/14] drm/bochs: atomic: use atomic set_config helper
...@@ static void bochs_crtc_atomic_flush(struct drm_crtc *crtc,
/* These provide the minimum set of functions required to handle a CRTC */
static const struct drm_crtc_funcs bochs_crtc_funcs = {
- .set_config = drm_crtc_helper_set_config,
+ .set_config = drm_atomic_helper_set_config,
.destroy = drm_crtc_cleanup,
.page_flip = bochs_crtc_page_flip,
.reset = drm_atomic_helper_crtc_reset,
--
2.9.3
2018 Dec 19
0
[PATCH 07/14] drm/bochs: atomic: use atomic page_flip helper
...void bochs_crtc_atomic_enable(struct drm_crtc *crtc,
struct drm_crtc_state *old_crtc_state)
{
@@ -152,7 +131,7 @@ static void bochs_crtc_atomic_flush(struct drm_crtc *crtc,
static const struct drm_crtc_funcs bochs_crtc_funcs = {
.set_config = drm_atomic_helper_set_config,
.destroy = drm_crtc_cleanup,
- .page_flip = bochs_crtc_page_flip,
+ .page_flip = drm_atomic_helper_page_flip,
.reset = drm_atomic_helper_crtc_reset,
.atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state,
.atomic_destroy_state = drm_atomic_helper_crtc_destroy_state,
--
2.9.3
2020 Jan 10
0
[PATCH 08/23] drm/stm: Convert to struct drm_crtc_helper_funcs.get_scanout_position()
...ER_LIE);
+
+ return 0;
+}
+
+static void ltdc_crtc_disable_vblank(struct drm_crtc *crtc)
+{
+ struct ltdc_device *ldev = crtc_to_ltdc(crtc);
+
+ DRM_DEBUG_DRIVER("\n");
+ reg_clear(ldev->regs, LTDC_IER, IER_LIE);
+}
+
static const struct drm_crtc_funcs ltdc_crtc_funcs = {
.destroy = drm_crtc_cleanup,
.set_config = drm_atomic_helper_set_config,
diff --git a/drivers/gpu/drm/stm/ltdc.h b/drivers/gpu/drm/stm/ltdc.h
index a1ad0ae3b006..c5467d74e707 100644
--- a/drivers/gpu/drm/stm/ltdc.h
+++ b/drivers/gpu/drm/stm/ltdc.h
@@ -39,11 +39,6 @@ struct ltdc_device {
struct drm_atomic_state *suspend_st...