ayiayiayi 发表于 2016-4-27 11:12:00

lubuntu vga 分辨率设死一种,不能多种或者自适应

查看日志,发现在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呢,是不是编译内核时候要设置一些属性才行呢?
大家有遇到这个问题吗


页: [1]
查看完整版本: lubuntu vga 分辨率设死一种,不能多种或者自适应