[ RK3566-Android11 ] 关于移植 RK628F 驱动以及后HDMI-IN图像延迟/无声等问题

news2024/9/30 12:24:59

问题描述

由前一篇文章https://blog.csdn.net/jay547063443/article/details/142059700?fromshare=blogdetail&sharetype=blogdetail&sharerId=142059700&sharerefer=PC&sharesource=jay547063443&sharefrom=from_link,移植HDMI-IN部分驱动后出现:
1.HDMI-IN图形延迟 出图慢 rkCamera2应用自动跳出等问题
2.HDMIN-IN无声


解决方案:

问题一:
kernel\drivers\media\i2c\rk628\rk628_hdmirx.c

int rk628_is_avi_ready(struct rk628 *rk628, bool avi_rcv_rdy)
{
	u8 i;
	u32 val, avi_pb = 0;
	u8 cnt = 0, max_cnt = 2;
	u32 hdcp_ctrl_val = 0;

	if (rk628->version >= RK628F_VERSION)
		return 1;
+
+	if (rk628->version >= RK628D_VERSION)
+		return 1;
+
	rk628_i2c_read(rk628, HDMI_RX_HDCP_CTRL, &val);
	if ((val & HDCP_ENABLE_MASK))
		max_cnt = 5;

问题二:
首先确保上层hardware\rockchip\audio\tinyalsa_hal\audio_hw.c声卡有添加,以我的声卡为例子
在这里插入图片描述
其次这里不要修改为rk628,还是用原来的hdmirx

最后添加如下kernelq驱动部分补丁:

From b027f3089f3a84198788363540dcaae52949c4a2 Mon Sep 17 00:00:00 2001
From: Shunhua Lan <lsh@rock-chips.com>
Date: Fri, 27 Sep 2024 16:47:41 +0800
Subject: [PATCH] media: i2c: rk628: repair cts n interrupt loss

Change-Id: I9603a1733555b535f0542ca6677e9cb27647a399
Signed-off-by: Shunhua Lan <lsh@rock-chips.com>
---

diff --git a/drivers/media/i2c/rk628/rk628_csi_v4l2.c b/drivers/media/i2c/rk628/rk628_csi_v4l2.c
index 86f35b7..bb91f0c 100644
--- a/drivers/media/i2c/rk628/rk628_csi_v4l2.c
+++ b/drivers/media/i2c/rk628/rk628_csi_v4l2.c
@@ -1567,6 +1567,24 @@
 		return -EINVAL;
 	}
 
+	if (csi->rk628->version < RK628F_VERSION) {
+		if (rk628_audio_ctsnints_enabled(audio_info)) {
+			rk628_i2c_read(csi->rk628, HDMI_RX_PDEC_ISTS, &pdec_ints);
+			if (pdec_ints & (ACR_N_CHG_ICLR | ACR_CTS_CHG_ICLR)) {
+				rk628_csi_isr_ctsn(audio_info, pdec_ints);
+				pdec_ints &= ~(ACR_CTS_CHG_ICLR | ACR_CTS_CHG_ICLR);
+				*handled = true;
+			}
+		}
+		if (rk628_audio_fifoints_enabled(audio_info)) {
+			rk628_i2c_read(csi->rk628, HDMI_RX_AUD_FIFO_ISTS, &fifo_ints);
+			if (fifo_ints & 0x18) {
+				rk628_csi_isr_fifoints(audio_info, fifo_ints);
+				*handled = true;
+			}
+		}
+	}
+
 	if (!csi->vid_ints_en)
 		return 0;
 
@@ -1579,7 +1597,7 @@
 
 	/* clear interrupts */
 	rk628_i2c_write(csi->rk628, HDMI_RX_MD_ICLR, 0xffffffff);
-	rk628_i2c_write(csi->rk628, HDMI_RX_PDEC_ICLR, 0xffffffff);
+	rk628_i2c_write(csi->rk628, HDMI_RX_PDEC_ICLR, 0xff3fffff);
 
 	if (!rk628_is_general_isr(csi, md_ints, pdec_ints))
 		return 0;
@@ -1595,22 +1613,6 @@
 		return 0;
 	}
 
-	if (csi->rk628->version < RK628F_VERSION) {
-		if (rk628_audio_ctsnints_enabled(audio_info)) {
-			if (pdec_ints & (ACR_N_CHG_ICLR | ACR_CTS_CHG_ICLR)) {
-				rk628_csi_isr_ctsn(audio_info, pdec_ints);
-				pdec_ints &= ~(ACR_CTS_CHG_ICLR | ACR_CTS_CHG_ICLR);
-				*handled = true;
-			}
-		}
-		if (rk628_audio_fifoints_enabled(audio_info)) {
-			rk628_i2c_read(csi->rk628, HDMI_RX_AUD_FIFO_ISTS, &fifo_ints);
-			if (fifo_ints & 0x18) {
-				rk628_csi_isr_fifoints(audio_info, fifo_ints);
-				*handled = true;
-			}
-		}
-	}
 	v4l2_dbg(1, debug, sd, "%s: md_ints: %#x, pdec_ints:%#x, plugin: %d\n",
 		 __func__, md_ints, pdec_ints, plugin);
 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2179604.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是 JWT?它是如何工作的?

松哥最近辅导了几个小伙伴秋招&#xff0c;有小伙伴在面小红书时遇到这个问题&#xff0c;这个问题想回答全面还是有些挑战&#xff0c;松哥结合之前的一篇旧文和大伙一起来聊聊。 一 无状态登录 1.1 什么是有状态 有状态服务&#xff0c;即服务端需要记录每次会话的客户端信…

什么牌子的护眼台灯质量好?五款护眼台灯性价比高又好用

如今&#xff0c;市场上的护眼台灯琳琅满目&#xff0c;种类繁多。家长们为了孩子们的视力健康&#xff0c;都会精心挑选合适的台灯。什么牌子的护眼台灯质量好&#xff1f;然而&#xff0c;市面上仍存在一些质量不过关的产品&#xff0c;可能会出现频闪、线路短路、底盘过热、…

生产环境升级mysql流程及配置主从服务

之前写到过mysql升级8.4的文章, 因此不再介绍mysql的安装过程 避免服务器安装多个mysql引起冲突的安装方法_安装两个mysql会冲突吗-CSDN博客 生产环境升级mysql8.4.x流程 安装mysql 参考之前文章: 避免服务器安装多个mysql引起冲突的安装方法_安装两个mysql会冲突吗-CSDN博客…

无界购物:线上商城开启便利与智能新潮流-亿发

随着科技的不断进步&#xff0c;线上购物已经成为现代消费者日常生活的重要组成部分。无论是在繁忙的工作间隙&#xff0c;还是在闲暇的周末时光&#xff0c;消费者都能通过线上商城轻松实现购物的愿望。而这一切的背后&#xff0c;是线上商城打破了地理界限&#xff0c;开启了…

【SpringBoot详细教程】-06-Restful风格【持续更新】

点个关注&#xff0c;不迷路 ⾸先&#xff0c;回顾并详细说明⼀下在SSM中使⽤的 Controller 、 RestController 、 RequestMapping 注解。如果您对SpringMVC不熟悉并且还没有尝试过快速⼊⻔案例&#xff0c;建议先看⼀下SSM与Restful相关的内容。 Controller &#xff1a;修饰…

Zynq7000系列中的Quad-SPI(四线制串行外设接口)Flash控制器编程指南

Zynq7000系列中的Quad-SPI&#xff08;四线制串行外设接口&#xff09;Flash控制器是一个功能强大的组件&#xff0c;它支持高速数据传输和多种配置模式。以下是基于Zynq7000系列的Quad-SPI Flash控制器编程指南&#xff0c;旨在帮助开发者了解如何配置和使用该控制器。 编程指…

医院配电系统谐波的分析及治理

七次谐波&#xff0c;流入电网。 4.计算机及UPS 目前大部分医院都是通过计算机实现运营和管理工作&#xff0c;计算机数量众多&#xff0c;计算机服务器配有UPS等备用电源&#xff0c;加之个人电脑的开关电源&#xff0c;都是产生谐波的电源。 3医院配电系统谐波设备的治理方…

【Golang】Go语言中时间time相关处理方法

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

微信广告任务平台 ajax_upload 任意文件上传漏洞

0x01 漏洞描述&#xff1a; 微信广告任务平台ajax_upload接口处存在任意文件上传漏洞&#xff0c;攻击者可利用该漏洞将恶意文件上传至服务器&#xff0c;进而可能实现远程代码执行、篡改网站内容或发动其他形式的攻击&#xff0c;严重危及系统与数据安全。 位于控制器中IndexC…

x-cmd pkg | tokei - 代码统计利器,助你快速了解项目进度

目录 简介首次用户技术特点竞品和相关项目进一步阅读 简介 tokei 是一个使用 Rust 编写的显示有关代码统计信息的命令行工具&#xff0c;可以分门别类的统计目录内的代码行数。 tokei 具有良好的跨平台性&#xff0c;可以在 Linux、macOS、Windows 等多种平台上安装运行。 首…

SU03T(语音识别播报模块)

SU03T&#xff08;语音识别播报模块&#xff09; 注意&#xff1a;学习模块的方法是最重要的 目录 SU03T&#xff08;语音识别播报模块&#xff09; 查找资料 - SU03T 配置固件 1、进入智能公元&#xff0c;并注册登入 2、点击对应的模块&#xff0c;创建产品 3、随便选…

软件测试|数据库常见面试题

在软件测试数据库的面试中&#xff0c;面试官通常会考察应聘者对数据库的理解、SQL语言的应用、数据库性能优化、以及数据库相关的技术栈和工具等方面的知识。以下是一些可能的面试问题及建议的回答思路&#xff1a; 1、什么是关系型数据库&#xff0c;主键&#xff0c;外键&am…

揭秘网络钓鱼:如何识破并防范这场数字时代的诈骗游戏

网络钓鱼是一种网络攻击&#xff0c;它利用伪装的电子邮件欺骗收件人提供信息、下载恶意软件或采取其他期望的行动。 网络钓鱼是网络害虫&#xff0c;自20世纪90年代初从暗网出现以来&#xff0c;至今仍危害全球。根据SlashNext的报告&#xff0c;2023年平均每天有31,000次网络…

SpringCloudAlibaba的nacos启动注册实现

首先安装nacos&#xff0c;注意看清楚版本号码&#xff0c;后面设置pom依赖的时候有用。 安装地址&#xff1a;Nacos 快速开始 | Nacos 官网 选择这里&#xff1a; 然后在这个跳转的页面中&#xff0c;找到你需要的版本&#xff0c;比如选择2.0.4 进入之后&#xff0c;选择你…

软考题-数据库2-数据模型/ER图/关系模式规范化

一、概念数据模型-ER图 1.概念数据模型-ER图的构件-属性的分类 属性分多值属性和单值属性&#xff0c;题目已经给出联系方式的值有手机电话和办公室电话&#xff0c;所以是多值属性 派生属性是由其他属性而来&#xff0c;年龄来自于出生年月 部门号是EMP表的外键二、关系模式 …

vue-element 表格组合查询 - fc-table-search 组件封装

开发目的 解决搜索form参数读取&#xff0c;配合异步请求&#xff0c;更新渲染数据&#xff1b;支持自适应高度&#xff0c;分页查询&#xff0c;搜索查询/重置。 额外提供formater类型&#xff1a;标签定义&#xff0c;金额&#xff0c;时间格式化&#xff0c;跨页勾选&#x…

Minstrel自动生成结构化提示,让AI为AI写提示词的多代理提示生成框架

在人工智能快速发展的今天&#xff0c;如何有效利用大型语言模型&#xff08;LLMs&#xff09;成为了一个普遍关注的话题。这是9月份的一篇论文&#xff0c;提出了LangGPT结构化提示框架和Minstrel多代理提示生成系统&#xff0c;为非AI专家使用LLMs提供了强大支持。 对于非人…

PHP人才机遇桥梁招聘求职全能系统小程序源码

人才机遇桥梁 —— 招聘求职全能系统全解析 &#x1f4bc;&#x1f680; &#x1f309; 搭建人才与机遇的桥梁 在这个竞争激烈的职场环境中&#xff0c;找到一份心仪的工作或招募到合适的人才&#xff0c;往往不是一件容易的事。但幸运的是&#xff0c;我们有了“人才机遇桥梁…

Hello-Java-Sec靶场搭建

安装环境&#xff1a;宝塔Linux面板 1.将靶场克隆到本地 git clone https://github.com/j3ers3/Hello-Java-Sec 2.安装maven yum install maven &#xff08;kali&#xff1a;apt install maven&#xff09; 3.安装成功后 mvn -v验证⼀下 4. 配置数据库连接&#xff0c;数据…

SysML图例-悬架作动器(Suspension Aactuator)

DDD领域驱动设计批评文集>> 《软件方法》强化自测题集>> 《软件方法》各章合集>>