edp 基本信号-参数及命令

news2024/9/28 13:15:23

基本信号及概念

通信双方及通道

下图为edp规范中的总体框图。通过此框图我们可以了解到:

交互的双方:

1)source device 即 显卡的显示控制部分

2) sink device 即 显示屏

双方间的通道:

1) HPD 即热插拔,通过sink device 传递给source device。虽然有此信号,但是我们采用intel i915驱动支持的显卡,在实际测试过程中,热插拔edp后,connector的链接状态并没有发生变化,而且热插入后,通过modetest命令并不能查询到对应connector的信息。

2) aux channel,通过此通道可以控制背光、读取DPCD 信息以进行main-link的速率协商。

3) main-link ,即图像数据传输通道,支持的速率有:

• 1.62Gbps/lane (RBR)

• 2.7Gbps/lane (HBR)

• 5.4Gbps/lane (HBR2)

• 8.1Gbps/lane (HBR3)

支持的lane数目为x1 x2 x4

图1 EDP 框图

显示屏信号

图2 为某款显示屏的信号.

  1. x2 lane 信号lane0 lan1

  1. aux channel

  1. HPD 信号

  1. PWM 背光控制

此外这里除了EDID,还有timing-controller 通常缩写为TCON。

内核中EDP相关节点及配置

edp_swing

/sys/module/i915/parameters# cat edp_vswing

修改变量:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_psr=0 i915.edp_vswing=2"

修改完 /etc/default/grub , 需要执行 sudo update-grub 生成 /boot/grub/grub.cfg,重启后生效

The parameter settings (after = sign) can be:

  • 0=default, to do nothing

  • 1=not sure, haven't found answer yet

  • 2=control flicker, which OP used

工具命令

edid-decode

1)下载压缩包

apt download edid-decode

dpkg -x edid-decode_0.1~git20191209.e719d04-1build1_amd64.deb ./

2)使用

cat /sys/class/drm/card0-eDP-1/edid |./edid-decode

edid-decode (hex):

00 ff ff ff ff ff ff 00 09 d1 40 7b 36 02 00 00

23 1a 01 03 60 34 1d 78 2e 4e c0 a6 55 50 9c 26

11 50 54 af cf 00 d1 c0 b3 00 95 00 81 80 81 40

81 00 81 c0 71 40 02 3a 80 18 71 38 2d 40 58 2c

45 00 09 25 21 00 00 1e 00 00 00 fd 00 38 4b 1e

51 11 00 0a 20 20 20 20 20 20 00 00 00 fc 00 42

65 6e 51 20 56 5a 32 34 41 30 48 0a 00 00 00 ff

00 45 54 53 38 47 30 30 36 30 30 30 33 48 00 f5


EDID version: 1.3

Manufacturer: BNQ Model 31552 Serial Number 566

Made in week 35 of 2016

Analog display, Input voltage level: 0.7/0.7 V

Sync:

Maximum image size: 52 cm x 29 cm

Gamma: 2.20

DPMS levels: Off

RGB color display

Default (sRGB) color space is primary color space

First detailed timing is preferred timing

Color Characteristics

Red: 0.6494, 0.3320

Green: 0.3154, 0.6113

Blue: 0.1513, 0.0664

White: 0.3125, 0.3281

Established Timings I & II “Established Timings”(内建时序)表示显示器是否支持一些通用时序。

720x400 70.082 Hz 9:5 31.467 kHz 28.320 MHz (IBM)

640x480 59.940 Hz 4:3 31.469 kHz 25.175 MHz (DMT)

640x480 72.809 Hz 4:3 37.861 kHz 31.500 MHz (DMT)

640x480 75.000 Hz 4:3 37.500 kHz 31.500 MHz (DMT)

800x600 56.250 Hz 4:3 35.156 kHz 36.000 MHz (DMT)

800x600 60.317 Hz 4:3 37.879 kHz 40.000 MHz (DMT)

800x600 72.188 Hz 4:3 48.077 kHz 50.000 MHz (DMT)

800x600 75.000 Hz 4:3 46.875 kHz 49.500 MHz (DMT)

1024x768 60.004 Hz 4:3 48.363 kHz 65.000 MHz (DMT)

1024x768 70.069 Hz 4:3 56.476 kHz 75.000 MHz (DMT)

1024x768 75.029 Hz 4:3 60.023 kHz 78.750 MHz (DMT)

1280x1024 75.025 Hz 5:4 79.976 kHz 135.000 MHz (DMT)

Standard Timings

1920x1080 60.000 Hz 16:9 67.500 kHz 148.500 MHz (DMT)

1680x1050 59.954 Hz 16:10 65.290 kHz 146.250 MHz (DMT)

1440x900 59.887 Hz 16:10 55.935 kHz 106.500 MHz (DMT)

1280x1024 60.020 Hz 5:4 63.981 kHz 108.000 MHz (DMT)

1280x960 60.000 Hz 4:3 60.000 kHz 108.000 MHz (DMT)

1280x800 59.810 Hz 16:10 49.702 kHz 83.500 MHz (DMT)

1280x720 60.000 Hz 16:9 45.000 kHz 74.250 MHz (DMT)

1152x864 60.000 Hz 4:3 53.700 kHz 81.624 MHz (GTF)

Detailed mode: Clock 148.500 MHz, 521 mm x 293 mm

1920 2008 2052 2200 ( 88 44 148)

1080 1084 1089 1125 ( 4 5 36)

+hsync +vsync

VertFreq: 60.000 Hz, HorFreq: 67.500 kHz

Display Range Limits

Monitor ranges (GTF): 56-75 Hz V, 30-81 kHz H, max dotclock 170 MHz

Display Product Name: BenQ VZ24A0H

Display Product Serial Number: ETS8G0060003H

Checksum: 0xf5

====================

数据解析

1920 2008 2052 2200 ( 88 44 148) 水平

1080 1084 1089 1125 ( 4 5 36) 垂直

Horizontal: Active Time : 1920 Pixels Blanking Time : 280 Pixels Sync Offset : 88 Pixels Sync Pulse Width: 44 Pixels Border : 0 Pixels Frequency : 67 kHz Vertical: Active Time : 1080 Lines Blanking Time : 45 Lines Sync Offset : 4 Lines Sync Pulse Width: 5 Lines Border : 0 Lines

下角的Timing部分描述了时序的主要参数,含义见下表(软件显示有问题,参数名称显示不完整,表格中的参数也仅对应其在软件中的位置)。H Image、H Border、V Image、V Border几个参数一般用不到,表格中没有列出

参数

含义

参数

含义

Pixel

像素时钟频率

Interlaced

前面打钩表示是隔行显示

H Active

一行中有效的像素

V Active

一场中有效的行数

H Blank

一行中的消隐期长度,单位是像素

V Blank

一场中的消隐期长度,单位是行

H sync

行同步前沿宽度,即从行有效像素结束到行同步开始的像素数

V sync

场同步前沿宽度,即从一场中有效行结束到场同步开始的行数

H sync

行同步信号宽度,单位是像素

V sync

场同步信号宽度,单位是行

intel_vbt_decode

apt install intel-gpu-tools

intel_vbt_decode /sys/kernel/debug/dri/0/i915_vbt

VBT header:

VBT signature: "$VBT SKYLAKE "

VBT version: 0x0064 (1.0)

VBT header size: 0x0030 (48)

VBT size: 0x10cc (4300)

VBT checksum: 0xfd

BDB offset: 0x00000030 (48)

BDB header:

BDB signature: "BIOS_DATA_BLOCK "

BDB version: 209

BDB header size: 0x0016 (22)

BDB size: 0x109c (4252)

BDB blocks present:

1 2 3 6 7 8 9 10 12 13 17 18 20 26 27 28

DPCD读取

cat /sys/kernel/debug/dri/0/eDP-1/i915_dpcd

ubuntu 20.4上这个节点不支持

Video BIOS Table (VBT)

The Video BIOS Table, or VBT, provides platform and board specific configuration information to the driver that is not discoverable or available through other means. By other means the most used method here is to read EDID table from the attached monitor, over Display Data Channel (DDC) using two pin I2C serial interface.

The VBT configuration is related to display hardware. The VBT is available via the ACPI OpRegion or, on older systems, in the PCI ROM (Option ROM).

The VBT consists of a VBT Header, a BIOS Data Block (BDB) Header, and a number of BIOS Data Blocks (BDBs) that contain the actual configuration information (supposed to replace the absence of EDID structure with the older monitors). The VBT Header, and thus the VBT, begins with “$VBT” signature. The VBT Header contains the offset of the BDB Header. The BDB header starts with the “BIOS_DATA_BLOCK” signature. The data blocks are concatenated after the BDB Header (not always in exact order, and certain BDBs might be missing, not implemented for such type of HW platforms). The data blocks have a 1-byte Block ID, 2-byte Block Size, and Block Size bytes of data (Block 53, the MIPI Sequence Block is an exception).

The GFX driver parses the VBT during load. The relevant information is stored in GFX driver private data for ease of use, and the actual VBT is not read after that.

为什么 在这里我们单独提及这个表呢? 这个表本身并不是针对EDP的,而是一个通用的配置,解决针对特定的硬件,需要调整的特定参数,例如v-swing及pre-emphasis 的调整都可以通过此表进行配置。

参考资料

Video BIOS Table (VBT) - L (liujunming.top)

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

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

相关文章

mysql之6中索引失效情况

对索引使用左或者左右模糊匹配 mysql> explain select * from user where name王五; -------------------------------------------------------------------------------------------- | id | select_type | table | type | possible_keys | key | key_len | ref …

2023.1.30---TF-A相关

完成TF-A源码的移植过程在tf-a源码目录下将补丁文件打到tf-a源码中2.在上级目录中的Makefile.sdk文件中,配置交叉编译工具链,找到CROSS_COMPILE将红色部分改为arm-linux-gnueabihf-3.在fds目录下添加设备树文件4.在上级目录中的Makefile.sdk文件中&#…

全世界游客访问最多的城市,重庆以5.9亿游客量排名第一

经过全面开放和“阳康”,旅游市场已经开始复苏。现在恰逢寒冬,海南等国内许多旅游胜地成为热门旅游目的地,泰国等国际旅游频频上热搜。旅游市场目前现状如何跟随《旅游市场数据报告》一起来了解吧。全国5A景区数量全国共有318个景区被评为AAA…

重温数据结构与算法之约瑟夫问题

文章目录前言一、暴力法二、动态规划三、实战3.1 力扣 1823. 找出游戏的获胜者3.2 洛谷 P1996 约瑟夫问题参考前言 约瑟夫问题,是一个计算机科学和数学中的问题,在计算机编程的算法中,类似问题又称为约瑟夫环,又称“丢手绢问题”…

K8s关键性概念图解

Kubernetes可以看做云原生时代的操作系统,统一管理下层的基础设施,如计算资源、网络资源、存储资源等等。将集群中存在的各种复杂关系抽象成各种API资源,以统一的方式暴露出各种接口,也便于未来的扩展以及开发团队根据自己的需要定…

JS创建ZIP文件,JSZip的使用

Hi I’m Shendi 最近编写压缩工具,需要使用js创建zip文件,使用 JSZip 插件 官网: https://stuk.github.io/jszip/ Github: https://github.com/Stuk/jszip https://sdpro.top/blog/html/article/1012.html 下载 NPM : npm inst…

论文笔记:NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

目录 文章摘要 1 Neural Radiance Field Scene Representation (基于神经辐射场的场景表示) 2 Volume Rendering with Radiance Fields (基于辐射场的体素渲染) 2.1 经典渲染方程 2.2 经典的体素渲染方法 2.3 基于分段采样近似的体素渲染方法 3 Optimizing a Neural Rad…

高通开发系列 - linux kernel启动阶段串口无打印采用LED点灯

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 问题背景kernel启动汇编探测kernel启动C函数阶段探测这篇文章之前请参考下:高通开发系列 - MSM8909指示灯操作 问题背景 最近在基于…

38. 外观数列

打卡!!!每日一题 今天给大家带来一道比较有意思的题目,先看看题目描述 题目描述: 题目示例: 大家题目读完可能还没太理解什么意思,我简单给大家翻译翻译: n:表示我们要计算多少次 每一次都是对前面一个…

详细介绍Sentence-BERT:使用连体BERT网络的句子嵌入

Sentence-BERT:Sentence Embeddings using Siamese BERT-Networks 使用连体BERT网络的句子嵌入 BERT和RoBERTa在诸如语义文本相似性(STS)的句子对回归任务上创造了新的最优的性能。然而,它要求将两个句子都输入网络,这导致了巨大的…

代码随想录--二叉树章节总结Part IV 完结篇

代码随想录–二叉树章节总结Part IV 完结篇🎉 1.Leetcode501 二叉树中的众数 给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。 如…

大数据行业如何获取高薪岗位offer?

在互联网行业需要保持不断的学习。学习大数据先思考自身未来想往哪个方向发展,想要入门快、基础深厚,并且需求多应用广建议从JAVA开始学起,找到适合自己的学习方法。 大数据行业人才稀缺,据第三方统计2020年全国招收程序员394699…

mybatis-plus2

目录 一、乐观锁 二、乐观锁与悲观锁的区别 1.乐观锁和悲观锁的应用场景 三、条件查询构造器 四、分页查询 五、逻辑删除 六、在Mybatis-plus中使用xml配置 一、乐观锁 乐观锁插件 | MyBatis-PlusMyBatis-Plus 官方文档https://baomidou.com/pages/0d93c0/ 当要更新一条…

16. JSON解析

1. 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)。 JSON 是轻量级的文本数据交换格式。 JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台…

Kettle基础操作

目录 Kettle基础操作 1 启动Kettle 2 创建本地资源库 3 基础操作 3.1 新建转换 3.2 新建作业 3.3 节点连接 4 导入/导出资源库 5 创建数据库连链接 Kettle基础操作 1 启动Kettle 前置环境:JDK 1.7以上、IE浏览器升级至IE10以上(Kettle7.0以下…

Java——打家劫舍

题目链接 leetcode在线oj题——打家劫舍 题目描述 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入&#xff…

Hive数仓建设手册

1 数仓的分层及建模理论 1.1 数据仓库的用途 整合公司所有业务数据,建立统一的数据中心产生业务报表,用于作出决策为网站运营提供运营上的数据支持可以作为各个业务的数据源,形成业务数据互相反馈的良性循环分析用户行为数据,通…

MySQL中的正则表达式

目录 一.介绍 二.格式 三.操作 一.介绍 正则表达式(regular expression)描述了一种字符串匹配的规则,正则表达式本身就是一个字符串,使用这个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正…

5G小区选择重选参数的设置

学习大唐杯的过程中的一些总结。 目录 前言 一、S准则 二、R准则 三、关于频点优先级 总结 前言 5G参数总体的设计思想是在总体成本的控制下,满足覆盖范围和容量的同时,达到5G各个小区之间正确进行通信。 一、S准则 在后续介绍的频点优先级中&#xff0…

【多任务】任务损失/梯度优化策略合集

本文分享如何从loss和gradient方面,优化多任务模型,缓解负迁移或跷跷板的问题。不足之处,还望批评指正。 背景 最近工作中,有使用到多任务模型,但实际使用时,会面临负迁移、跷跷板等现象。 除了从模型角度优化,这里介绍从loss和gradient方面的优化