[PATCH] drm/amdgpu: assign dpms for amdgpu_vkms_crtc_helper_funcs
Chen, Guchun
Guchun.Chen at amd.com
Fri Nov 5 04:37:54 UTC 2021
[Public]
You need to add a Fix tag in the commit message, and pls document the null pointer calltrace as well.
Regards,
Guchun
-----Original Message-----
From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Asher Song
Sent: Friday, November 5, 2021 12:13 PM
To: amd-gfx at lists.freedesktop.org
Cc: Song, Asher <Asher.Song at amd.com>
Subject: [PATCH] drm/amdgpu: assign dpms for amdgpu_vkms_crtc_helper_funcs
To avoid NULL pointer, assign dpms for amdgpu_vkms_crtc_helper_funcs.
Signed-off-by: Asher Song <Asher.Song at amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c | 26 +++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
index 50bdc39733aa..920b6bc1a9fc 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
@@ -155,8 +155,32 @@ static void amdgpu_vkms_crtc_atomic_flush(struct drm_crtc *crtc,
crtc->state->event = NULL;
}
}
-
+static void amdgpu_vkms_crtc_dpms(struct drm_crtc *crtc, int mode) {
+ struct drm_device *dev = crtc->dev;
+ struct amdgpu_device *adev = drm_to_adev(dev);
+ struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc);
+ unsigned type;
+
+ switch (mode) {
+ case DRM_MODE_DPMS_ON:
+ amdgpu_crtc->enabled = true;
+ /* Make sure VBLANK interrupts are still enabled */
+ type = amdgpu_display_crtc_idx_to_irq_type(adev,
+ amdgpu_crtc->crtc_id);
+ amdgpu_irq_update(adev, &adev->crtc_irq, type);
+ drm_crtc_vblank_on(crtc);
+ break;
+ case DRM_MODE_DPMS_STANDBY:
+ case DRM_MODE_DPMS_SUSPEND:
+ case DRM_MODE_DPMS_OFF:
+ drm_crtc_vblank_off(crtc);
+ amdgpu_crtc->enabled = false;
+ break;
+ }
+}
static const struct drm_crtc_helper_funcs amdgpu_vkms_crtc_helper_funcs = {
+ .dpms = amdgpu_vkms_crtc_dpms,
.atomic_flush = amdgpu_vkms_crtc_atomic_flush,
.atomic_enable = amdgpu_vkms_crtc_atomic_enable,
.atomic_disable = amdgpu_vkms_crtc_atomic_disable,
--
2.25.1
More information about the amd-gfx
mailing list