驱动开发系列56 - Linux Graphics QXL显卡驱动代码分析(三)显示模式设置
一:概述
如之前介绍,在qxl_pci_probe 中会调用 qxl_modeset_init 来初始化屏幕分辨率和刷新率,本文详细看下 qxl_modeset_init 的实现过程。即QXL设备的显示模式设置,是如何配置CRTC,Encoder,Connector 的以及创建和更新帧缓冲区的。
二:qxl_modeset_init 分析
int qxl_modeset_init(struct qxl_device *qdev)
{int i;int ret;ret = drmm_mode_config_init(&qdev->ddev);if (ret)return ret;ret = qxl_create_monitors_object(qdev);if (ret)return ret;qdev->ddev.mode_config.funcs = (void *)&qxl_mode_funcs;/* modes will be validated against the framebuffer size */qdev->ddev.mode_config.min_width = 0;qdev->ddev.mode_config.min_height = 0;qdev->ddev.mode_config.max_width = 8192;qdev->ddev.mode