当前位置: 首页 > news >正文

驱动开发系列55 - Linux Graphics QXL显卡驱动代码分析(二)显存管理

一:概述

        前面介绍了当内核检测到匹配的PCI设备后,会调用 qxl_pci_probe 初始化设备,其中会调用qxl_device_init 来初始化设备,为QXL设备进行内存映射,资源分配,环形缓冲区初始化,IRQ注册等操作,本文展开说说这些细节,以及介绍下QXL的显存管理。

二:QXL设备初始化细节


int qxl_device_init(struct qxl_device *qdev,struct pci_dev *pdev)
{int r, sb;pci_set_drvdata(pdev, &qdev->ddev);mutex_init(&qdev->gem.mutex);mutex_init(&qdev->update_area_mutex);mutex_init(&qdev->release_mutex);mutex_init(&qdev->surf_evict_mutex);qxl_gem_init(qdev);qdev->rom_base = pci_resource_start(pdev, 2);qdev->rom_size = pci_resource_len(pdev, 2);qdev->vram_base = pci_resource_start(pdev, 0);qdev->io_base 

相关文章:

  • 《Android 应用开发基础教程》——第十章:使用 Gson 实现网络 JSON 数据解析与对象映射
  • RAGFlow报错:ESConnection.sql got exception
  • 纯html实现的json数据转csv文件
  • 题解:洛谷 CF2091E Interesting Ratio
  • 猫,为什么是猫?
  • Y1代码AC集
  • Python协程入门指北
  • 数据结构与算法学习笔记(Acwing提高课)----动态规划·背包模型(一)
  • 奥地利学派方法论的三个基础
  • Python TensorFlow库【深度学习框架】全面讲解与案例
  • 从MCP基础到FastMCP实战应用
  • 安全学习基础入门5集
  • 9. 深入Spring AI:刨析 ChatMemory
  • LeetCode 150题解 | 逆波兰表达式求值
  • WPF使用依赖注入框架AutoMapper
  • 第T10周:数据增强
  • 【MySQL】复合查询与内外连接
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(13): ておきます ています & てあります
  • OpenGL-ES 学习(15) ----纹理
  • 【Unity】 组件库分类详解
  • 人民日报:上海“模速空间”何以汇聚超百家大模型企业
  • 对谈|《对工作说不》,究竟是要对什么说不?
  • 长三角铁路今日预计发送旅客420万人次,有望创单日客发量新高
  • 关于“十五五”,在上海召开的这场座谈会释放最新信号
  • 秦洪看盘|资金切换主线,重构市场风格
  • 五一去哪儿|外国朋友来中国,“买买买”成为跨境旅游新趋势