All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/amdgpu: drop the critial WARN_ON in amdgpu_vkms
@ 2021-12-06  6:34 Flora Cui
  2021-12-06  6:34 ` [PATCH 2/2] drm/amdgpu: free vkms_output after use Flora Cui
  0 siblings, 1 reply; 3+ messages in thread
From: Flora Cui @ 2021-12-06  6:34 UTC (permalink / raw)
  To: =guchun.chen, perry.yuan, yuliang.shi, amd-gfx; +Cc: Leslie Shi, Flora Cui

Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Leslie Shi <Yuliang.Shi@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
index 6c62c45e3e3e..acc2d31ea93f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
@@ -51,7 +51,8 @@ static enum hrtimer_restart amdgpu_vkms_vblank_simulate(struct hrtimer *timer)
 
 	ret_overrun = hrtimer_forward_now(&amdgpu_crtc->vblank_timer,
 					  output->period_ns);
-	WARN_ON(ret_overrun != 1);
+	if (ret_overrun != 1)
+		DRM_WARN("%s: vblank timer overrun\n", __func__);
 
 	ret = drm_crtc_handle_vblank(crtc);
 	if (!ret)
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/2] drm/amdgpu: free vkms_output after use
  2021-12-06  6:34 [PATCH 1/2] drm/amdgpu: drop the critial WARN_ON in amdgpu_vkms Flora Cui
@ 2021-12-06  6:34 ` Flora Cui
  2021-12-06 15:23   ` Deucher, Alexander
  0 siblings, 1 reply; 3+ messages in thread
From: Flora Cui @ 2021-12-06  6:34 UTC (permalink / raw)
  To: =guchun.chen, perry.yuan, yuliang.shi, amd-gfx; +Cc: Leslie Shi, Flora Cui

Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Leslie Shi <Yuliang.Shi@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
index acc2d31ea93f..af3a2f8c12b4 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
@@ -480,6 +480,11 @@ static int amdgpu_vkms_sw_init(void *handle)
 	int r, i;
 	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
 
+	adev->amdgpu_vkms_output = kcalloc(adev->mode_info.num_crtc,
+		sizeof(struct amdgpu_vkms_output), GFP_KERNEL);
+	if (!adev->amdgpu_vkms_output)
+		return -ENOMEM;
+
 	adev_to_drm(adev)->max_vblank_count = 0;
 
 	adev_to_drm(adev)->mode_config.funcs = &amdgpu_vkms_mode_funcs;
@@ -496,10 +501,6 @@ static int amdgpu_vkms_sw_init(void *handle)
 	if (r)
 		return r;
 
-	adev->amdgpu_vkms_output = kcalloc(adev->mode_info.num_crtc, sizeof(struct amdgpu_vkms_output), GFP_KERNEL);
-	if (!adev->amdgpu_vkms_output)
-		return -ENOMEM;
-
 	/* allocate crtcs, encoders, connectors */
 	for (i = 0; i < adev->mode_info.num_crtc; i++) {
 		r = amdgpu_vkms_output_init(adev_to_drm(adev), &adev->amdgpu_vkms_output[i], i);
@@ -522,12 +523,13 @@ static int amdgpu_vkms_sw_fini(void *handle)
 		if (adev->mode_info.crtcs[i])
 			hrtimer_cancel(&adev->mode_info.crtcs[i]->vblank_timer);
 
-	kfree(adev->mode_info.bios_hardcoded_edid);
-	kfree(adev->amdgpu_vkms_output);
-
 	drm_kms_helper_poll_fini(adev_to_drm(adev));
+	drm_mode_config_cleanup(adev_to_drm(adev));
 
 	adev->mode_info.mode_config_initialized = false;
+
+	kfree(adev->mode_info.bios_hardcoded_edid);
+	kfree(adev->amdgpu_vkms_output);
 	return 0;
 }
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 2/2] drm/amdgpu: free vkms_output after use
  2021-12-06  6:34 ` [PATCH 2/2] drm/amdgpu: free vkms_output after use Flora Cui
@ 2021-12-06 15:23   ` Deucher, Alexander
  0 siblings, 0 replies; 3+ messages in thread
From: Deucher, Alexander @ 2021-12-06 15:23 UTC (permalink / raw)
  To: Cui, Flora, =guchun.chen, Yuan, Perry, Shi, Leslie, amd-gfx

[-- Attachment #1: Type: text/plain, Size: 2627 bytes --]

[Public]

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
________________________________
From: amd-gfx <amd-gfx-bounces@lists.freedesktop.org> on behalf of Flora Cui <flora.cui@amd.com>
Sent: Monday, December 6, 2021 1:34 AM
To: =guchun.chen@amd.com <=guchun.chen@amd.com>; Yuan, Perry <Perry.Yuan@amd.com>; Shi, Leslie <Yuliang.Shi@amd.com>; amd-gfx@lists.freedesktop.org <amd-gfx@lists.freedesktop.org>
Cc: Shi, Leslie <Yuliang.Shi@amd.com>; Cui, Flora <Flora.Cui@amd.com>
Subject: [PATCH 2/2] drm/amdgpu: free vkms_output after use

Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Leslie Shi <Yuliang.Shi@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
index acc2d31ea93f..af3a2f8c12b4 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
@@ -480,6 +480,11 @@ static int amdgpu_vkms_sw_init(void *handle)
         int r, i;
         struct amdgpu_device *adev = (struct amdgpu_device *)handle;

+       adev->amdgpu_vkms_output = kcalloc(adev->mode_info.num_crtc,
+               sizeof(struct amdgpu_vkms_output), GFP_KERNEL);
+       if (!adev->amdgpu_vkms_output)
+               return -ENOMEM;
+
         adev_to_drm(adev)->max_vblank_count = 0;

         adev_to_drm(adev)->mode_config.funcs = &amdgpu_vkms_mode_funcs;
@@ -496,10 +501,6 @@ static int amdgpu_vkms_sw_init(void *handle)
         if (r)
                 return r;

-       adev->amdgpu_vkms_output = kcalloc(adev->mode_info.num_crtc, sizeof(struct amdgpu_vkms_output), GFP_KERNEL);
-       if (!adev->amdgpu_vkms_output)
-               return -ENOMEM;
-
         /* allocate crtcs, encoders, connectors */
         for (i = 0; i < adev->mode_info.num_crtc; i++) {
                 r = amdgpu_vkms_output_init(adev_to_drm(adev), &adev->amdgpu_vkms_output[i], i);
@@ -522,12 +523,13 @@ static int amdgpu_vkms_sw_fini(void *handle)
                 if (adev->mode_info.crtcs[i])
                         hrtimer_cancel(&adev->mode_info.crtcs[i]->vblank_timer);

-       kfree(adev->mode_info.bios_hardcoded_edid);
-       kfree(adev->amdgpu_vkms_output);
-
         drm_kms_helper_poll_fini(adev_to_drm(adev));
+       drm_mode_config_cleanup(adev_to_drm(adev));

         adev->mode_info.mode_config_initialized = false;
+
+       kfree(adev->mode_info.bios_hardcoded_edid);
+       kfree(adev->amdgpu_vkms_output);
         return 0;
 }

--
2.25.1


[-- Attachment #2: Type: text/html, Size: 5092 bytes --]

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-12-06 15:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-06  6:34 [PATCH 1/2] drm/amdgpu: drop the critial WARN_ON in amdgpu_vkms Flora Cui
2021-12-06  6:34 ` [PATCH 2/2] drm/amdgpu: free vkms_output after use Flora Cui
2021-12-06 15:23   ` Deucher, Alexander

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.