自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (14)
  • 收藏
  • 关注

原创 DRM lease

租赁使用Linux drm card节点用作kms显示。能多个屏幕显示各自内容。

2024-06-03 11:22:54 123

原创 pcie posted write

就是一个优化,大脑干得快,没必要全等你设备做完。反过来就容易理解nonposted了。

2024-05-23 13:44:09 242

原创 amdgpu gang submit

amdgpu gang submit

2024-01-29 11:10:35 135

原创 NV 逆向驱动, pci平台,queue分析

分为以下几步, 和amd比较相似,但是channel部分和硬件关联, 猜测NV在fw做queue的load balance。

2023-09-19 10:50:03 921

原创 GPU-PRT

转载:https://www.anandtech.com/show/5261/amd-radeon-hd-7970-review/6。

2023-08-30 16:04:52 96

原创 Cache bookdoor

A TLB (Translation Lookaside Buffer) is a cache of the translations from virtual memory addresses to physical memory addresses. When a processor changes the virtual-to-physical mapping of an address, it needs to tell the other processors to invalidate that

2023-06-13 10:09:51 74

原创 AMDGPU CU

AMDGPU

2023-05-09 18:41:31 272

原创 Linux 进程与线程区别

linux 进程与线程

2023-03-24 10:37:33 63

原创 amdgpu_fence_emit 的原罪-- 完成fence

amdgpu_fence_emit , gfx的amdgpu dma-fence

2023-02-01 16:23:19 423

原创 linux kernel GPU Scheduler . RR算法 FIFO entity, dma-fence, job dependency, vmid

RR的GPU schedule

2023-01-10 09:43:29 259

翻译 DRM vulkan同步(dma fence)机制 Sync Objects

gpu vulkan 同步机制 fence dma-fence , anno file

2023-01-10 09:41:56 804

原创 amdgpu kfd TTM USERPTR

amdgpu kfd TTM USERPTR

2022-07-01 11:29:37 859 2

原创 amdgpu kfd TTM create GTT

AMDGPU kfd TTM 创建 GTT

2022-07-01 10:57:36 1406

原创 Graphic’s文档

hi,这是我用百度网盘分享的文件~复制这段内容打开「百度网盘」APP即可获取。链接:https://pan.baidu.com/s/19RBlyfW4XW-NGi75W1CMHQ提取码:bzda

2022-03-31 23:31:11 120

原创 doorbell机制

在学习中断相关的知识时,查看了Wikipedia上的解释https://en.wikipedia.org/wiki/InterruptIn a push button analogy applied to computer systems, the term doorbell or doorbell interrupt is often used to describe a mechanism whereby a software system can signal or notify a comput

2021-11-09 10:14:38 4274

原创 intel NUC 11 使用linux系统 的面板headphone 问题

目前5.10的内核估计是只能 加规则sudo vim /etc/udev/rules.d/51-Realtek-Jackdetect.rules{15:51}~ ➭ cat /etc/udev/rules.d/51-Realtek-Jackdetect.rulesACTION=="add", SUBSYSTEM=="sound", ATTRS{chip_name}=="ALC256", ATTR{hints}="jack_detect=false"ACTION=="add", SUBSYSTEM=

2021-10-16 15:52:14 304

原创 mesa 资料

mesa好的帖子https://blogs.igalia.com/itoral/2014/07/29/a-brief-introduction-to-the-linux-graphics-stack/

2021-05-20 16:25:29 194

原创 OpenGL 4.6 comp spec chapter 1-3

文章目录1. Introduction 简介1.1 Formatting of the OpenGL Specification OpenGL规范的格式1.1.1 Formatting of the Compatibility Profile 兼容性配置文件的格式1.1.2 Formatting of Optional Features 可选功能的格式1.2 What is the OpenGL Graphics System? 什么是OpenGL图形系统1.2.1 Programmer’s Vi

2021-05-13 11:37:59 1147

转载 linux 使用set_task 杀死D状态进程

如何杀死D状态进程https://blog.csdn.net/VincentLuo91/article/details/72625446#include <linux/init.h> #include <linux/kernel.h> /*Needed by all modules*/#include <linux/module.h> #include <linux/sched.h> //for_each_process MODULE_LICENS

2021-03-18 10:51:24 549

原创 ww_mutex 一种伤害自己保证资源可靠性的锁

参考链接知乎对mutex知乎对ww_mutexlwn社区解释另外注解内核doc ww_mutex

2021-02-26 09:32:57 972

原创 CEA-861-D infoframe

1. infoframe是什么?Various types of auxiliary data can be carried from the Source to the DTV Monitor using InfoFrames. Thissection describes the InfoFrames that have been defined so far将source端的auxiliary信息通过接口发送到sink端。sink端应通过CEA扩展在其EDID中包括与接口相关的(例如HDMI)V

2021-02-19 15:10:04 3075

原创 CEA-861-D 术语定义

Active Format Description (AFD)—A data structure that describes what portion of the picture actuallycontains useful information (i.e., letterbox and sidebars [bars] are not considered useful information). It isstandardized in DVB, and is partially adopt.

2021-02-19 11:24:13 2440

原创 分析amdgpu display 的 irq service

分析irq servicedal: Data Access Layer 数据访问层在irq_service中的irq_service_interface.h头文件中可以看出,irq_service是向外提供中断源操作函数函数,在内部实现寄存器操作在irq_service.h又知道这个头文件是让client进行数据注册以上,我们就可以了解到。irq_service想为了以后实现一个中间层,抽象出后续寄存器操作。中断的操作,其主要分dal_irq_service_set,dal_i

2021-01-21 10:00:18 526 2

原创 VGA switcheroo VGA仲裁器

文章目录VGA SwitcherooModes of Use“使用方式Manual switching and manual power control手动开关和手动电源控制Driver power controlAPIPublic functionsPublic structuresPublic constantsPrivate structuresHandlersapple-gmux HandlerGraphics muxPower controlBacklight controlPublic func

2021-01-13 16:03:39 1123

原创 linux内核GPU驱动

atomic的实现

2021-01-13 15:59:23 706

原创 驱动文章集锦

宋宝华微信公众号系列文章宋宝华csdn关于driver的文章wowo科技

2021-01-08 15:29:37 76

原创 AMDGPU内核驱动的pageflip实现

amd使用状态机维护了pageflip的三个状态。AMDGPU_FLIP_NONE当前工作队列为空AMDGPU_FLIP_SUBMITTED当前队列运转, 提交了任务AMDGPU_FLIP_PENDING当前工作队列正在运转1. 通过libdrm从上到下查看代码流程test_page_fliplibdrm通过drmModePageFlip(DRM_IOCTL_MODE_PAGE_FLIP)发pageflip通过select等待event重复2. 内核驱动运转模式主要分

2020-12-29 11:23:35 849

原创 KMALLOC PK VMALLOC

KMALLOC PK VMALLOCkmalloc是基于slab的,所以速度比较快。vmalloc的内部会调用到kmalloc,但是只是分配vm_struct描述符,和分配nr_pages指针数组,这个数组里的每个元素指向vm_struct对应的非连续内存区域的每一个页描述符结构。真正的分页是通过alloc_page一页一页的从buddy system分配。所以物理地址是不连续的,一页一页分配物理地址不一定啥地方了。kmalloc分配的页已经映射好了,而vmalloc分配后一级一级建立页表很是麻烦。

2020-12-15 20:16:29 208

原创 对ip blocks的理解

case CHIP_POLARIS10:case CHIP_POLARIS11:case CHIP_POLARIS12:case CHIP_VEGAM:这系列的ip_blocks注册的有: amdgpu_device_ip_block_add(adev, &vi_common_ip_block); amdgpu_device_ip_block_add(adev, &gmc_v8_1_ip_block); amdgpu_device_ip_bloc

2020-09-01 11:58:05 1610

原创 Amdgpu device ip early init

ip的意思是 Intellectual Property , 是知识产权,可以理解成不同的架构有不同的设计方式.所以抽象出来,通过宏去访问.在初始化时,按照asic的形式注册(在radeon的代码中是用的asic. 猜测全称是application specific integrated circuit, 目的是给不同框架使用对应api.)我们以CHIP_POLARIS10进行分析, POLARISI10还属于VEGA之前的架构,分析起来没那么累在函数入口,POLARISI10的family设置成AMD

2020-09-01 11:54:34 594

原创 分析AMDGPU DCE系列(POLARIYS10)驱动初始化(二. load)

这里的load本意就是将设备hw初始化.先做admgpu实例化,再amdgpu_device_init对应CHIP初始化.接着做了amdgpu_acpi_init,主要需要理解的是amdgpu_device_ini值得注意的是,到现在flags还是pci注册时传下来的,没发生变化实例化adev.amdgpu_device_init这里主要有几点:adev->flags = flags;保存了设备初始化的flagsadev->asic_type = flags & AMD.

2020-09-01 11:40:16 1519

原创 分析AMDGPU DCE系列(POLARIYS10)驱动初始化(一. probe)

1. 故事从从PCI初始化说起关于drm_driver和drm_device是对drm设备的抽象,我们就不在这赘述了.有兴趣的,可以去内核doc中学习drm_device具体是什么.h2. PCI/PCIE的初始工作目前市面上使用的设备基本上都是PCI的,较少的设备还是使用的platform(估计是上古神兽了).那PCI是怎么初始化的就不在本文赘述,感兴趣的同学可以去内核中driver/pci文件中看一下TIP:arch下边会有对pci扫描的过程,可以结合起来,容易理解在amdgpu的初始化时候a

2020-09-01 11:18:52 1169

原创 linux,在配置完vim的plantuml-view后,会使用calibre打开html的解决

针对manjaro等系统,在配置完vim的plantuml-view后,使用calibre打开html的解决cd /usr/share/applicationsgrep calibrevim

2019-10-16 16:24:50 358

原创 linux内核drm中 GEM,TTM mmap 机制

http://blog.chinaunix.net/uid-24148050-id-359666.html

2019-08-19 15:59:14 2912

原创 总线地址/物理地址/字扩展和位扩展/io空间内存空间

总线地址/物理地址/字扩展和位扩展/io空间内存空间1 总线地址An address bus is a bus that is used to specify a physical address. When a processor or DMA-enabled device needs to read or write to a memory location, it specifies ...

2019-08-11 21:28:48 1316

原创 使用内核编译外部驱动时加工程头文件

1、自己的Makefile怎么搞?一个模板,不好勿喷(^ — ^ 其实我没学Makefile 都是网上扒来的,大神们莫怪 )MODULE_NAME := force_rmmod#MODCFLAGS:=-O2 -Wall -DMODULE -D__KERNEL__ -DLINUX -std=c99#EXTRA_CFLAGS += $(MODULE_FLAGS) $(CFG_INC) $...

2019-08-10 21:31:40 667

原创 c语言可变长数组带来的好处

#include <stdlib.h>#include <stdio.h>#include <string.h>typedef struct msg_info_s{char name[16];char msg_info[32];}msg_info_t;typedef struct msg_s{int id;char data[0];}msg_...

2019-04-17 17:12:04 1136

KernelDoc.tar.xz

linux kernel5.5.6 Docs. 使用linux5.5.6编译出来的文档

2020-02-26

VIM NEOVIM

git@gitee.com:botton_zhang/vim_config.git 自己下阿

2019-09-27

Desktop.zip

32位寄存器分析,帮助做寄存器操作或者位域操作时快速操作

2019-06-27

c/c++ vim_config

ctrl+p可以补全变量,需要ctags支持, vimrc.bundle可用

2019-06-09

vim配置文件

vim配置文件 copy到vim的配置文件地方即可用

2018-09-30

pdf阅读器。chrome版本

这是chrome的插件,一般加密的datasheet pdf不能复制,但是我发现这个可以,所以共享

2018-09-27

source insoght 宏

比较地道的sourceinsight 宏 有助于快速开发,没啥别的配置,相比之下不会卡死

2018-08-17

基于QRcode 和SM4实现二维码生成和解析

也是套用网上大神的基础东西,自己算是组装好了以后在用的,不过用来学习还是不错的

2018-03-21

注册表修复工具内涵注册码(Regclean_Pro)

注册表修复工具 内涵注册码(Regclean_Pro) 注册表修复工具内涵注册码(Regclean_Pro)

2017-12-23

src.3e.tar.gz, unix环境

unix环境 apue编程学习 make

2017-07-27

c++ builder写api

c++ builder写api

2015-12-22

c++ windows开发

对于windows的开发

2015-12-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除