From 170c1c0fa90ad9f762d1877f8a57efce706fc95a Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Mon, 06 Nov 2023 07:26:34 +0000
Subject: [PATCH] add nkmcu
---
kernel/drivers/gpu/drm/rockchip/rockchip_drm_fb.c | 27 ++++++++++++++++++++++-----
1 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/kernel/drivers/gpu/drm/rockchip/rockchip_drm_fb.c b/kernel/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
index c653900..5563d5e 100644
--- a/kernel/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
+++ b/kernel/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
@@ -114,8 +114,6 @@
{
struct rockchip_drm_fb *rockchip_fb;
struct rockchip_gem_object *rk_obj;
- struct rockchip_drm_private *private = dev->dev_private;
- struct drm_fb_helper *fb_helper = private->fbdev_helper;
int ret = 0;
int i;
@@ -141,9 +139,6 @@
rk_obj = to_rockchip_obj(obj[i]);
rockchip_fb->dma_addr[i] = rk_obj->dma_addr;
rockchip_fb->kvaddr[i] = rk_obj->kvaddr;
- private->fbdev_bo = &rk_obj->base;
- if (fb_helper && fb_helper->fbdev && rk_obj->kvaddr)
- fb_helper->fbdev->screen_base = rk_obj->kvaddr;
}
#ifndef MODULE
} else if (logo) {
@@ -366,6 +361,24 @@
}
}
+static void drm_atomic_helper_connector_commit(struct drm_device *dev,
+ struct drm_atomic_state *old_state)
+{
+ struct drm_connector *connector;
+ struct drm_connector_state *new_conn_state;
+ int i;
+
+ for_each_new_connector_in_state(old_state, connector, new_conn_state, i) {
+ const struct drm_connector_helper_funcs *funcs;
+
+ funcs = connector->helper_private;
+ if (!funcs->atomic_commit)
+ continue;
+
+ funcs->atomic_commit(connector, new_conn_state);
+ }
+}
+
static void
rockchip_atomic_helper_commit_tail_rpm(struct drm_atomic_state *old_state)
{
@@ -381,6 +394,8 @@
DRM_PLANE_COMMIT_ACTIVE_ONLY);
rockchip_drm_psr_inhibit_put_state(old_state);
+
+ drm_atomic_helper_connector_commit(dev, old_state);
drm_atomic_helper_commit_hw_done(old_state);
@@ -445,6 +460,8 @@
rockchip_drm_psr_inhibit_put_state(state);
+ drm_atomic_helper_connector_commit(dev, state);
+
drm_atomic_helper_commit_hw_done(state);
rockchip_drm_atomic_helper_wait_for_vblanks(dev, state);
--
Gitblit v1.6.2