From e3e12f52b214121840b44c91de5b3e5af5d3eb84 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Mon, 06 Nov 2023 03:04:41 +0000
Subject: [PATCH] rk3568 rt init

---
 kernel/drivers/gpu/drm/rockchip/ebc-dev/bufmanage/buf_manage.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/kernel/drivers/gpu/drm/rockchip/ebc-dev/bufmanage/buf_manage.c b/kernel/drivers/gpu/drm/rockchip/ebc-dev/bufmanage/buf_manage.c
index 6d83f49..262f4d5 100644
--- a/kernel/drivers/gpu/drm/rockchip/ebc-dev/bufmanage/buf_manage.c
+++ b/kernel/drivers/gpu/drm/rockchip/ebc-dev/bufmanage/buf_manage.c
@@ -76,6 +76,29 @@
 	}
 }
 
+int ebc_drop_one_dsp_buf(void)
+{
+	struct ebc_buf_s *temp_buf;
+	int temp_pos;
+
+	mutex_lock(&ebc_buf_info.dsp_buf_lock);
+	if (ebc_buf_info.dsp_buf_list) {
+		if (ebc_buf_info.dsp_buf_list->nb_elt > 0) {
+			temp_pos = ebc_buf_info.dsp_buf_list->nb_elt - 1;
+			temp_buf = (struct ebc_buf_s *)buf_list_get(ebc_buf_info.dsp_buf_list, temp_pos);
+			if (temp_buf->needpic == 2) {
+				buf_list_remove(ebc_buf_info.dsp_buf_list, temp_pos);
+				ebc_buf_release(temp_buf);
+				mutex_unlock(&ebc_buf_info.dsp_buf_lock);
+				return BUF_SUCCESS;
+			}
+		}
+	}
+	mutex_unlock(&ebc_buf_info.dsp_buf_lock);
+
+	return BUF_ERROR;
+}
+
 int ebc_add_to_dsp_buf_list(struct ebc_buf_s *dsp_buf)
 {
 	mutex_lock(&ebc_buf_info.dsp_buf_lock);

--
Gitblit v1.6.2