
GPU
文章平均质量分 56
蓝天居士
修齐治平,先忧后乐
展开
-
radeon_fence文件源码分析
radeon_fence文件源码分析/** * radeon_fence_driver_init - init the fence driver * for all possible rings. * * @rdev: radeon device pointer * * Init the fence driver for all possible rings (all asics). * Not all asics have all rings,原创 2022-10-25 18:23:33 · 201 阅读 · 0 评论 -
radeon GPU硬复位小知识
在启动参数中传入radeon.hard_reset=1这一参数,实际上是给模块参数赋了值,模块参数所在文件及代码为:drivers/gpu/drm/radeon/radeon_drv.cint radeon_hard_reset = 0;MODULE_PARM_DESC(hard_reset, "PCI config reset (1 = force enable, 0 = disable (default))");module_param_named(hard_reset, radeon_原创 2021-09-22 14:14:26 · 656 阅读 · 0 评论 -
VKMS源码解析草稿
drivers/gpu/drm/vkms/vkms_drv.h中:struct vkms_device { struct drm_device drm; struct platform_device *platform; struct vkms_output output;};drivers/gpu/drm/vkms/vkms_drv.h中:struct vkms_output { struct drm_crtc crtc; struct drm_encoder encode..原创 2021-06-22 08:41:56 · 622 阅读 · 0 评论 -
MPV源码全解析
const struct vo_driver *const video_out_drivers[] ={ &video_out_libmpv,#if HAVE_ANDROID &video_out_mediacodec_embed,#endif &video_out_gpu,#if HAVE_VDPAU &video_out_vdpau,#endif#if HAVE_DIRECT3D &video_out_dire.原创 2021-06-09 17:52:22 · 2247 阅读 · 1 评论 -
linux内核radeon gpu源码解析8—— radeon_driver_load_kms函数详解3
目前我们的轨迹为:radeon_driver_load_kms -->radeon_device_init 。本篇来到:radeon_device_init -->radeon_gem_init。源码如下:drivers/gpu/drm/radeon/radeon_gem.cint radeon_gem_init(struct radeon_device *rdev){ INIT_LIST_HEAD(&rdev->gem.objects); return 0;...原创 2021-02-20 11:09:29 · 704 阅读 · 3 评论 -
linux内核radeon gpu源码解析7 —— radeon_driver_load_kms函数详解2
继续在radeon_driver_load_kms函数中徜徉。本篇解析radeon_driver_load_kms函数中的两大核心函数之一:radeon_device_init。调用处代码:r = radeon_device_init(rdev, dev, dev->pdev, flags);源码如下:drivers/gpu/drm/radeon/radeon_device.c/** * radeon_device_init - initialize the driver *原创 2021-02-20 10:33:13 · 883 阅读 · 0 评论 -
linux内核radeon gpu源码解析6 —— radeon_driver_load_kms函数详解1
上一篇引出了radeon_driver_load_kms这个函数,这篇文章开始详细解析这个函数。这个函数是所有和GPU初始化相关的内容的起始点,调用radeon_device_init()来初始化非显示设备的硬件,调用radeon_modeset_init()来初始化显示设备相关的硬件(CRTC、connector、encoder等)。源码如下:drivers/gpu/drm/radeon/radeon_kms.c/** * radeon_driver_load_kms - Main lo.原创 2021-02-19 17:18:55 · 1040 阅读 · 1 评论 -
linux内核radeon gpu源码解析5 —— drm_get_pci_dev函数详解2
上一篇讲到了drm_get_pci_dev函数的第1个函数:drm_dev_alloc。这一篇讲drm_get_pci_dev函数的第2个函数:drm_dev_register。调用处:ret = drm_dev_register(dev, ent->driver_data);源码如下:drivers/gpu/drm/drm_drv.c/** * drm_dev_register - Register DRM device * @dev: Device to register原创 2021-02-19 15:48:23 · 1071 阅读 · 1 评论 -
linux内核radeon gpu源码解析4 —— drm_get_pci_dev函数详解1
上一篇讲到了drm_get_pci_dev函数,这是一个比较关键的函数,其中调用了几个函数,现在一一进行详细说明。先说第1个函数:drm_dev_alloc。调用处:dev = drm_dev_alloc(driver, &pdev->dev);源码如下:drivers/gpu/drm/drm_drv.c/** * drm_dev_alloc - Allocate new DRM device * @driver: DRM driver to allocate dev原创 2021-02-19 14:41:41 · 1290 阅读 · 0 评论 -
linux内核radeon gpu源码解析3 —— Radeon初始化
DRM代码来从底层介绍显卡驱动的初始化过程,显卡类型是AMD的radeon r600以后的系列显卡。基本的过程就是驱动载入,硬件初始化,设置硬件独立的模块(如内存管理器),设置显示(分辨率等)。 代码如下:drivers/gpu/drm/radeon/radeon_drv.cmodule_init(radeon_init);module_exit(radeon_exit);MODULE_AUTHOR(DRIVER_AUTHOR);MODULE_DESCRIPTION(DRIVER_DESC原创 2021-02-18 16:44:04 · 2306 阅读 · 2 评论 -
linux内核radeon gpu源码解析2 —— 什么是drm
DRMDRM,全称为Direct Rendering Manager。DRM是Linux目前主流的图形显示框架,相比FB架构,DRM更能适应当前日益更新的显示硬件。比如FB原生不支持多层合成,不支持VSYNC,不支持DMA-BUF,不支持异步更新,不支持fence机制等等,而这些功能DRM原生都支持。同时DRM可以统一管理GPU和Display驱动,使得软件架构更为统一,方便管理和维护。DRM是一个内核级的设备驱动,既可以编译到内核中也可以作为标准模块进行加载。DRM最初是在FreeBSD中出现的,原创 2021-02-18 09:37:46 · 1929 阅读 · 2 评论 -
linux内核radeon gpu源码解析1 —— 什么是radeon
简介Radeon(中文名称称为镭龙™)是一个英文产品的商标。Radeon是AMD公司出品的显示芯片的一种系列。俗称A卡。全称一般写作:AMD Radeon HD xxxx ,例如台式机显卡型号:AMD Radeon HD 6450。HD7000系列以后,AMD启用新的AMD Radeon R9/R7 xxx命名旗下新的显示芯片。出产型号AMD Radeon系列的台式机显卡有:AMD Radeon RX 6000系列显卡AMD Radeon RX 5000系列显卡AMD Ra.原创 2021-02-18 08:57:19 · 1326 阅读 · 0 评论 -
linux内核amdgpu源码解析
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.cmodule_init(amdgpu_init);module_exit(amdgpu_exit);MODULE_AUTHOR(DRIVER_AUTHOR);MODULE_DESCRIPTION(DRIVER_DESC);MODULE_LICENSE("GPL and additional rights");drivers/gpu/drm/amd/amdgpu/amdgpu_drv.cstatic voi原创 2021-02-03 10:45:09 · 2474 阅读 · 4 评论