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