|
lubuntu vga 分辨率设死一种,不能多种或者自适应
发表于 2016-4-27 11:12:00
浏览:5687
|
回复:0
打印
只看该作者
[复制链接]
楼主
查看日志,发现在firefly_vga.c代码里面是读不到显示器到EDID block,所以最终到显示器分辨率就是DEFAULT_MODE 设置默认的这一种。
static int vga_edid_read(char *buf, int len)
{
int rc;
if (ddev == NULL || ddev->client == NULL)
return -ENODEV;
if (buf == NULL)
return -ENOMEM;
// Check ddc i2c communication is available or not.
rc = vga_edid_i2c_read_regs(ddev->client, 0, buf, 6);
if(rc == 6) {
memset(buf, 0, len);
// Read EDID.
rc = vga_edid_i2c_read_regs(ddev->client, 0, buf, len);
if(rc == len)
return 0;
}
printk("unable to read EDID block.\n");
return -EIO;
}
代码就是执行到红色部分,然后return -5,这边的DEFAULT_MODE就是设置为5
请问为什么读不到EDID呢,是不是编译内核时候要设置一些属性才行呢?
大家有遇到这个问题吗
|
|