模块参数

amdgpu 驱动程序支持以下模块参数

vramlimit (int)

限制 VRAM 的总量,单位为 MiB,用于测试。 默认值为 0(使用全部 VRAM)。

vis_vramlimit (int)

限制 CPU 可见 VRAM 的量,单位为 MiB,用于测试。 默认值为 0(使用全部 CPU 可见 VRAM)。

gartsize (uint)

限制 GART(供内核使用)的大小,单位为 MiB(32、64 等),用于测试。 默认值为 -1(大小取决于 ASIC)。

gttsize (int)

限制 GTT 域(供用户空间使用)的大小,单位为 MiB,用于测试。 默认值为 -1(使用 TTM 指定的值)。此参数已弃用,将来会被移除。

moverate (int)

设置最大缓冲区迁移速率,单位为 MB/s。 默认值为 -1 (8 MB/s)。

audio (int)

设置 HDMI/DPAudio。 仅影响非 DC 显示处理。 默认值为 -1(启用),设置为 0 则禁用它。

disp_priority (int)

设置显示优先级(1 = normal, 2 = high)。 仅影响非 DC 显示处理。 默认值为 0(自动)。

hw_i2c (int)

启用硬件 I2C 引擎。 仅影响非 DC 显示处理。 默认值为 0(禁用)。

pcie_gen2 (int)

禁用 PCIE Gen2/3 模式(0 = 禁用,1 = 启用)。 默认值为 -1(自动,启用)。

msi (int)

禁用消息信号中断 (MSI) 功能(1 = 启用,0 = 禁用)。 默认值为 -1(自动,启用)。

svm_default_granularity (uint)

用于缓冲区迁移和可恢复页面错误的 handling

lockup_timeout (string)

设置 GPU 调度器超时值,单位为毫秒 (ms)。

格式可以是 [Non-Compute] 或 [GFX,Compute,SDMA,Video]。 也就是说,可以指定一个或多个值。 0 和负值无效。 它们将被调整为默认超时。

  • 如果指定一个值,则该设置将应用于所有非计算作业。

  • 如果指定多个值,则第一个值将用于 GFX。 第二个是用于 Compute。 第三个和第四个用于 SDMA 和 Video。

默认情况下(没有 lockup_timeout 设置),所有非计算(GFX、SDMA 和 Video)作业的超时时间为 10000。计算的超时时间为 60000。

dpm (int)

覆盖动态电源管理设置(0 = 禁用,1 = 启用)。 默认值为 -1(自动)。

fw_load_type (int)

设置不同的固件加载类型以进行调试(如果支持)。 如果 ASIC 支持,则设置为 0 以强制直接加载。 设置为 -1 以选择 ASIC 的默认加载模式,由驱动程序定义。 默认值为 -1(自动)。

aspm (int)

禁用 ASPM(1 = 启用,0 = 禁用)。 默认值为 -1(自动,启用)。

runpm (int)

覆盖 dGPU 的运行时电源管理控制。 如果支持,amdgpu 驱动程序可以在 dGPU 空闲时动态关闭其电源。 默认值为 -1(自动启用)。 将该值设置为 0 将禁用此功能。 将该值设置为 -2 会自动启用,并在连接显示器时关闭电源。

ip_block_mask (uint)

覆盖 GPU 上启用的 IP 块。 每个 GPU 都是 IP 块(gfx、显示、视频等)的集合。 使用此参数禁用特定块。 请注意,IP 块没有固定的索引。 某些 ASIC 可能没有某些 IP,或者可能包含 IP 的多个实例,因此排序因 ASIC 而异。 有关 ASIC 上 IP 列表,请参阅内核日志中的驱动程序输出。 默认值为 0xffffffff(启用设备上的所有块)。

bapm (int)

双向应用程序电源管理 (BAPM) 用于在 CPU 和 GPU 之间动态共享 TDP。 设置值为 0 以禁用它。 默认值为 -1(自动,启用)

deep_color (int)

设置 1 以启用深色支持。 仅影响非 DC 显示处理。 默认值为 0(禁用)。

vm_size (int)

覆盖 GPU 的每个客户端虚拟地址空间的大小,单位为 GiB。 默认值为 -1(每个 ASIC 自动)。

vm_fragment_size (int)

覆盖 VM 片段大小,单位为位(4、5 等。4 = 64K,9 = 2M)。 默认值为 -1(每个 ASIC 自动)。

vm_block_size (int)

覆盖 VM 页表大小,单位为位(默认值取决于 vm_size 和硬件设置)。 默认值为 -1(每个 ASIC 自动)。

vm_fault_stop (int)

在 VM 故障时停止以进行调试(0 = 永不停止,1 = 打印第一次,2 = 始终停止)。 默认值为 0(不停止)。

vm_update_mode (int)

覆盖 VM 更新模式。 使用 CPU 更新 VM(0 = 永不更新,1 = 仅限图形,2 = 仅限计算,3 = 两者)。 默认值为 -1(仅在大型 BAR(LB) 系统中,CPU 将更新 Compute VM 表,否则为 0,永不更新)。

exp_hw_support (int)

启用实验性硬件支持(1 = 启用)。 默认值为 0(禁用)。

dc (int)

禁用/启用显示核心驱动程序以进行调试(1 = 启用,0 = 禁用)。 默认值为 -1(每个 ASIC 自动)。

sched_jobs (int)

覆盖 sw 队列中支持的最大作业数。 默认值为 32。

sched_hw_submission (int)

覆盖最大 HW 提交数。 默认值为 2。

ppfeaturemask (hexint)

覆盖启用的电源功能。 请参阅 drivers/gpu/drm/amd/include/amd_shared.h 中的 enum PP_FEATURE_MASK。 默认值为当前稳定的电源功能集。

forcelongtraining (uint)

强制在恢复时进行长时间内存训练。 默认值为零,表示在恢复时进行短时间训练。

pcie_gen_cap (uint)

覆盖 PCIE gen 速度功能。 请参阅 drivers/gpu/drm/amd/include/amd_pcie.h 中的 CAIL 标志。 默认值为 0(每个 ASIC 自动)。

pcie_lane_cap (uint)

覆盖 PCIE 通道功能。 请参阅 drivers/gpu/drm/amd/include/amd_pcie.h 中的 CAIL 标志。 默认值为 0(每个 ASIC 自动)。

cg_mask (ullong)

覆盖 GPU 上启用的时钟门控功能(0 = 禁用时钟门控)。 请参阅 drivers/gpu/drm/amd/include/amd_shared.h 中的 AMD_CG_SUPPORT 标志。 默认值为 0xffffffffffffffff(全部启用)。

pg_mask (uint)

覆盖 GPU 上启用的电源门控功能(0 = 禁用电源门控)。 请参阅 drivers/gpu/drm/amd/include/amd_shared.h 中的 AMD_PG_SUPPORT 标志。 默认值为 0xffffffff(全部启用)。

sdma_phase_quantum (uint)

覆盖 SDMA 上下文切换阶段量子(x 1K GPU 时钟周期,0 = 无更改)。 默认值为 32。

disable_cu (charp)

设置为禁用 CU(设置为 se.sh.cu,...)。 默认值为 NULL。

virtual_display (charp)

设置为启用虚拟显示功能。 此功能在无头板或虚拟化环境中提供虚拟显示硬件。 它将设置为 xxxx:xx:xx.x,x;xxxx:xx:xx.x,x。 它是设备的 pci 地址,加上要公开的 crtc 的数量。 例如,0000:26:00.0,4 将在 26:00.0 的 pci 设备上启用 4 个虚拟 crtc。 默认值为 NULL。

lbpw (int)

覆盖每瓦负载平衡 (LBPW) 支持(1 = 启用,0 = 禁用)。 默认值为 -1(自动,启用)。

gpu_recovery (int)

设置为启用 GPU 恢复机制(1 = 启用,0 = 禁用)。 默认值为 -1(自动,SRIOV 除外禁用)。

emu_mode (int)

设置值为 1 以启用模拟模式。 仅在仿真器上运行时才需要此功能。 默认值为 0(禁用)。

ras_enable (int)

在 GPU 上启用 RAS 功能(0 = 禁用,1 = 启用,-1 = 自动(默认))

ras_mask (uint)

要启用的 RAS 功能掩码(默认 0xffffffff),仅在 ras_enable == 1 时有效。请参阅 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h 中的标志

timeout_fatal_disable (bool)

禁用 Watchdog 超时致命错误事件

timeout_period (uint)

将 watchdog timeout max_cycles 修改为 (1 << period)

si_support (int)

设置 SI 支持驱动程序。 此参数在设置配置 CONFIG_DRM_AMDGPU_SI 后起作用。 对于 SI asic,当启用 radeon 驱动程序时,设置值为 0 以使用 radeon 驱动程序,而设置值为 1 以使用 amdgpu 驱动程序。 默认情况下,如果 radeon 驱动程序可用,则使用 radeon 驱动程序,否则使用 amdgpu 驱动程序。

cik_support (int)

设置 CIK 支持驱动程序。 此参数在设置配置 CONFIG_DRM_AMDGPU_CIK 后起作用。 对于 CIK asic,当启用 radeon 驱动程序时,设置值为 0 以使用 radeon 驱动程序,而设置值为 1 以使用 amdgpu 驱动程序。 默认情况下,如果 radeon 驱动程序可用,则使用 radeon 驱动程序,否则使用 amdgpu 驱动程序。

smu_memory_pool_size (uint)

它用于为 smu 调试用法保留 gtt,设置值为 0 以禁用它。 实际大小为 value * 256MiB。 例如,0x1 = 256Mbyte,0x2 = 512Mbyte,0x4 = 1 Gbyte,0x8 = 2GByte。 默认值为 0(禁用)。

async_gfx_ring (int)

它用于启用可以使用不同优先级或相同优先级配置的 gfx 环

mcbp (int)

它用于启用中间命令缓冲区抢占。 (0 = 禁用, 1 = 启用, -1 自动 (默认))

discovery (int)

允许驱动程序从 VRAM 顶部的 IP 发现表中发现硬件 IP 信息。 (-1 = 自动 (默认), 0 = 禁用, 1 = 启用, 2 = 使用来自文件的 ip_discovery 表)

mes (int)

启用微引擎调度器。 这是用于 gfx、sdma 和计算的新硬件调度引擎。 (0 = 禁用 (默认), 1 = 启用)

mes_log_enable (int)

启用微引擎调度器日志。 用于启用/禁用 MES 内部日志。 (0 = 禁用 (默认), 1 = 启用)

mes_kiq (int)

启用微引擎调度器 KIQ。 这是用于 kiq 的新引擎管道。 (0 = 禁用 (默认), 1 = 启用)

uni_mes (int)

启用统一微引擎调度器。 这是用于统一调度器的新引擎管道。 (0 = 禁用 (默认), 1 = 启用)

noretry (int)

默认情况下,在 GFXv9 硬件上禁用 SQ 中的 XNACK 重试。 在不支持逐进程 XNACK 的 ASIC 上,这也会禁用重试页面错误。 (0 = 启用重试, 1 = 禁用重试, -1 自动 (默认))

force_asic_type (int)

用于为所有支持的 GPU 指定 ASIC 类型的非负值。

use_xgmi_p2p (int)

启用/禁用 XGMI P2P 接口(0 = 禁用,1 = 启用)。

sched_policy (int)

设置调度策略。 默认是具有过度订阅的 HWS(硬件调度)。 设置 1 禁用过度订阅。 设置 2 禁用 HWS 并将队列静态分配给 HQD。

hws_max_conc_proc (int)

HWS 可以并发调度的最大进程数。 最大值是分配给 HWS 的 VMID 数量,这也是默认值。

cwsr_enable (int)

CWSR(计算波存储和恢复)允许 GPU 在计算波的中间抢占着色器执行。 默认值为 1 以启用此功能。 设置 0 禁用它。

max_num_of_queues_per_device (int)

每个设备的最大队列数。 有效设置为 1 到 4096。 默认值为 4096。

send_sigterm (int)

在未处理的异常时向 HSA 进程发送 sigterm。 默认是不发送 sigterm,而只是在 dmesg 上打印错误。 设置 1 启用发送 sigterm。

halt_if_hws_hang (int)

如果检测到 HWS 挂起,则停止。 默认值 0 禁用挂起时停止。 设置 1 启用挂起时停止。

hws_gws_support(bool)

假设 HWS 支持 GWS 屏障,而不管固件版本检查怎么说。 默认值:false(依赖于 MEC2 固件版本检查)。

queue_preemption_timeout_ms (int)

队列抢占超时,单位为毫秒 (ms)(1 = 最小值,9000 = 默认值)

debug_evictions(bool)

启用额外的调试消息,以帮助确定驱逐的原因

no_system_mem_limit(bool)

禁用系统内存限制,以支持多个进程共享内存

no_queue_eviction_on_vm_fault (int)

如果设置,则不会在 gpuvm 错误时驱逐进程队列。 这是为了保留波前上下文以进行调试(0 = 队列驱逐,1 = 无队列驱逐)。 默认值为 0(队列驱逐)。

mtype_local (int)

pcie_p2p (bool)

启用 PCIe P2P(需要 large-BAR)。 默认值:true(开启)

dcfeaturemask (uint)

覆盖启用的显示功能。 请参阅 drivers/gpu/drm/amd/include/amd_shared.h 中的 enum DC_FEATURE_MASK。 默认值为当前稳定的显示功能集。

dcdebugmask (uint)

覆盖启用的显示功能。 请参阅 drivers/gpu/drm/amd/include/amd_shared.h 中的 enum DC_DEBUG_MASK

abmlevel (uint)

覆盖用于启用 DC 的硬件的默认 ABM(自适应背光管理)级别。 需要支持和加载 DMCU。 有效级别为 0-4。 值为 0 表示默认情况下应禁用 ABM。 值 1-4 控制通过 ABM 算法允许的最大亮度降低,其中 1 为最小降低,4 为最大降低。

默认为 -1 或自动。 如果设置为自动,则用户空间只能在启动后覆盖此级别。

damageclips (int)

启用或禁用 damage clips 支持。 如果禁用 damage clips 支持,我们将强制执行全帧更新,而不管用户空间发送给我们什么。

默认为 -1(如果未检测到 PSR-SU 显示,则启用它)。

tmz (int)

可信内存区 (TMZ) 是一种保护写入或读取内存的数据的方法。

默认值:0(关闭)。 TODO:在完成之前更改为自动。

freesync_video (uint)

启用优化以调整前沿时序,以便在为不需要完整模式设置的 freesync 支持的模式设置时实现无缝模式更改体验。

当用户启用此功能时,显示核心将根据连接显示器的常用刷新率和 VRR 范围,将一组从基本 FreeSync 视频模式派生的模式添加到相应连接器的模式列表中。 从用户空间的角度来看,当同一分辨率下不同刷新率之间切换时,他们可以看到无缝的模式更改体验。 此外,视频播放等用户空间应用程序可以读取此模式设置列表,并根据视频帧率更改刷新率。 最后,用户空间还可以根据 FreeSync 模式为特定刷新率派生合适的模式,并将其添加到连接器的模式列表中。

注意:这是一项实验性功能。

默认值:0(关闭)。

reset_method (int)

GPU 重置方法(-1 = 自动(默认),0 = legacy,1 = mode0,2 = mode1,3 = mode2,4 = baco)

bad_page_threshold (int) 坏页阈值指定了

RAS ECC 检测到的错误页面的阈值,当 ECC 检测到的总错误页面数超过阈值时,可能导致 GPU 进入坏状态。

vcnfw_log (int)

启用 vcnfw 日志输出以进行调试,默认情况下禁用。

sg_display (int)

禁用 S/G(分散/聚集)显示(即,从系统内存显示)。 此选项仅在 APU 上相关。 如果您在内存压力下遇到闪烁或其他问题,请将此选项设置为 0 以禁用 S/G 显示并报告该问题。

umsch_mm (int)

启用多媒体用户模式调度器。 这是用于 VCN 和 VPE 的 HW 调度引擎。 (0 = 禁用 (默认), 1 = 启用)

umsch_mm_fwlog (int)

启用 umschfw 日志输出以进行调试,默认情况下禁用。

smu_pptable_id (int)

用于覆盖 pptable id。 id = 0 使用 VBIOS pptable。 id > 0 使用具有指定 id 的软 pptable。

partition_mode (int)

用于覆盖默认的 SPX 模式。

enforce_isolation (int)

强制执行图形和计算之间的进程隔离。 (-1 = 自动, 0 = 禁用, 1 = 启用, 2 = 启用 legacy 模式, 3 = 启用但没有 cleaner shader)

modeset (int)

覆盖 nomodeset(1 = 覆盖,-1 = 自动)。 默认值为 -1(自动)。

seamless (int)

无缝启动将在启动过程中保持屏幕上的图像。

debug_mask (uint)

amdgpu 的调试选项,作为具有以下选项的二进制掩码工作

  • 0x1:调试 VM 处理

  • 0x2:在非大型条形系统上启用模拟大型条形功能。 这会将报告给 ROCm 应用程序的 VRAM 大小限制为可见大小,通常为 256MB。

  • 0x4:禁用 GPU 软恢复,始终进行完全重置

  • 0x8:使用 VRAM 加载固件

  • 0x10:启用基于 ACA 的 RAS 日志记录

  • 0x20:启用实验性重置

  • 0x40:禁用环重置

  • 0x80:使用 VRAM 作为 SMU 池

agp (int)

启用 AGP 孔径。 这在 GPU 的内部地址空间中提供了一个孔径,用于直接访问系统内存。 请注意,这些访问是非侦听的,因此它们仅用于访问未缓存的内存。

wbrf (int)

启用 Wifi RFI 干扰缓解功能。 由于电气和机械限制,(G-)DDR 存储器时钟的相对高功率谐波可能会与 Wifi 6/6e/7 使用的本地无线电模块频段发生干扰。 为了减轻可能的 RFI 干扰,启用此功能后,PMFW 将使用“阴影 P 状态”或“P 状态”,具体取决于使用中的频率(要避免)的活动列表,作为初始设置或 P 状态转换的一部分。 但是,启用此功能可能会对性能产生潜在影响。 (0 = 禁用,1 = 启用,-1 = 自动(默认设置,如果支持将启用))

rebar (int)

允许调整 BAR 大小。 如果 GPU 支持并且有可用的 MMIO 空间,则禁用此功能以防止驱动程序尝试调整 BAR 大小。 请注意,这只是阻止驱动程序调整 BAR 大小。 BIOS 可能已经在启动时调整了 BAR 大小。

user_queue (int)

在支持用户队列的系统上启用用户队列。 可能的值

  • -1 = 自动(ASIC 特定默认值)

  • 0 = 禁用用户队列

  • 1 = 启用用户队列并启用内核队列(如果支持)

  • 2 = 启用用户队列并禁用内核队列