Commit 83dc0ba2 authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'amd-drm-next-6.20-2026-01-09' of...

Merge tag 'amd-drm-next-6.20-2026-01-09' of https://gitlab.freedesktop.org/agd5f/linux into drm-next

amd-drm-next-6.20-2026-01-09:

amdgpu:
- GPUVM updates
- Initial support for larger GPU address spaces
- Initial SMUIO 15.x support
- Documentation updates
- Initial PSP 15.x support
- Initial IH 7.1 support
- Initial IH 6.1.1 support
- SMU 13.0.12 updates
- RAS updates
- Initial MMHUB 3.4 support
- Initial MMHUB 4.2 support
- Initial GC 12.1 support
- Initial GC 11.5.4 support
- HDMI fixes
- Panel replay improvements
- DML updates
- DC FP fixes
- Initial SDMA 6.1.4 support
- Initial SDMA 7.1 support
- Userq updates
- DC HPD refactor
- SwSMU cleanups and refactoring
- TTM memory ops parallelization
- DCN 3.5 fixes
- DP audio fixes
- Clang fixes
- Misc spelling fixes and cleanups
- Initial SDMA 7.11.4 support
- Convert legacy DRM logging helpers to new drm logging helpers
- Initial JPEG 5.3 support
- Add support for changing UMA size via the driver
- DC analog fixes
- GC 9 gfx queue reset support
- Initial SMU 15.x support

amdkfd:
- Reserved SDMA rework
- Refactor SPM
- Initial GC 12.1 support
- Initial GC 11.5.4 support
- Initial SDMA 7.1 support
- Initial SDMA 6.1.4 support
- Increase the kfd process hash table
- Per context support
- Topology fixes

radeon:
- Convert legacy DRM logging helpers to new drm logging helpers
- Use devm for i2c adapters
- Variable sized array fix
- Misc cleanups

UAPI:
- KFD context support.  Proposed userspace:
  https://github.com/ROCm/rocm-systems/pull/1705
  https://github.com/ROCm/rocm-systems/pull/1701
- Add userq metadata queries for more queue types.  Proposed userspace:
  https://gitlab.freedesktop.org/yogeshmohan/mesa/-/commits/userq_query

From: Alex Deucher <alexander.deucher@amd.com>
Link: https://patch.msgid.link/20260109154713.3242957-1-alexander.deucher@amd.com


Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parents a87fef08 38a0f4cf
Loading
Loading
Loading
Loading
+687 −0

File added.

Preview size limit exceeded, changes collapsed.

+48 −0
Original line number Diff line number Diff line
@@ -30,6 +30,15 @@ we have a dedicated glossary for Display Core at
    CP
      Command Processor

    CPC
      Command Processor Compute

    CPF
      Command Processor Fetch

    CPG
      Command Processor Graphics

    CPLIB
      Content Protection Library

@@ -78,6 +87,9 @@ we have a dedicated glossary for Display Core at
    GMC
      Graphic Memory Controller

    GPR
      General Purpose Register

    GPUVM
      GPU Virtual Memory.  This is the GPU's MMU.  The GPU supports multiple
      virtual address spaces that can be in flight at any given time.  These
@@ -92,9 +104,15 @@ we have a dedicated glossary for Display Core at
      table for use by the kernel driver or into per process GPUVM page tables
      for application usage.

    GWS
      Global Wave Sync

    IH
      Interrupt Handler

    IV
      Interrupt Vector

    HQD
      Hardware Queue Descriptor

@@ -143,15 +161,24 @@ we have a dedicated glossary for Display Core at
    PA
      Primitive Assembler / Physical Address

    PDE
      Page Directory Entry

    PFP
      Pre-Fetch Parser (Graphics)

    PPLib
      PowerPlay Library - PowerPlay is the power management component.

    PRT
      Partially Resident Texture (also known as sparse residency)

    PSP
        Platform Security Processor

    PTE
      Page Table Entry

    RB
      Render Backends. Some people called it ROPs.

@@ -206,12 +233,33 @@ we have a dedicated glossary for Display Core at
    TC
      Texture Cache

    TCP (AMDGPU)
      Texture Cache per Pipe. Even though the name "Texture" is part of this
      acronym, the TCP represents the path to memory shaders; i.e., it is not
      related to texture. The name is a leftover from older designs where shader
      stages had different cache designs; it refers to the L1 cache in older
      architectures.

    TMR
      Trusted Memory Region

    TMZ
      Trusted Memory Zone

    TOC
      Table of Contents

    UMC
      Unified Memory Controller

    UMSCH
      User Mode Scheduler

    UTC (AMDGPU)
      Unified Translation Cache. UTC is equivalent to TLB. You might see a
      variation of this acronym with L at the end, i.e., UTCL followed by a
      number; L means the cache level (e.g., UTCL1 and UTCL2).

    UVD
      Unified Video Decoder

+0 −3
Original line number Diff line number Diff line
@@ -221,9 +221,6 @@ consider asking on the amd-gfx mailing list and update this page.
    TMDS
      Transition-Minimized Differential Signaling

    TMZ
      Trusted Memory Zone

    TTU
      Time to Underflow

+31 −0
Original line number Diff line number Diff line
@@ -77,6 +77,37 @@ VCN (Video Core Next)
    decode.  It's exposed to userspace for user mode drivers (VA-API,
    OpenMAX, etc.)

It is important to note that these blocks can interact with each other. The
picture below illustrates some of the components and their interconnection:

.. kernel-figure:: amd_overview_block.svg

In the diagram, memory-related blocks are shown in green. Notice that specific
IPs have a green square that represents a small hardware block named 'hub',
which is responsible for interfacing with memory. All memory hubs are connected
in the UMCs, which in turn are connected to memory blocks. As a note,
pre-vega devices have a dedicated block for the Graphic Memory Controller
(GMC), which was replaced by UMC and hubs in new architectures. In the driver
code, you can identify this component by looking for the suffix hub, for
example: gfxhub, dchub, mmhub, vmhub, etc. Keep in mind that the component's
interaction with the memory block may vary across architectures. For example,
on Navi and newer, GC and SDMA are both attached to GCHUB; on pre-Navi, SDMA
goes through MMHUB; VCN, JPEG, and VPE go through MMHUB; DCN goes through
DCHUB.

There is some protection for certain memory elements, and the PSP plays an
essential role in this area. When a specific firmware is loaded into memory,
the PSP takes steps to ensure it has a valid signature. It also stores firmware
images in a protected memory area named Trusted Memory Area (TMR), so the OS or
driver can't corrupt them at runtime. Another use of PSP is to support Trusted
Applications (TA), which are basically small applications that run on the
trusted processor and handles a trusted operation (e.g., HDCP). PSP is also
used for encrypted memory for content protection via Trusted Memory Zone (TMZ).

Another critical IP is the SMU. It handles reset distribution, as well as
clock, thermal, and power management for all IPs on the SoC. SMU also helps to
balance performance and power consumption.

.. _pipes-and-queues-description:

GFX, Compute, and SDMA Overall Behavior
+26 −0
Original line number Diff line number Diff line
@@ -128,3 +128,29 @@ smartshift_bias

.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
   :doc: smartshift_bias

UMA Carveout
============

Some versions of Atom ROM expose available options for the VRAM carveout sizes,
and allow changes to the carveout size via the ATCS function code 0xA on supported
BIOS implementations.

For those platforms, users can use the following files under uma/ to set the
carveout size, in a way similar to what Windows users can do in the "Tuning"
tab in AMD Adrenalin.

Note that for BIOS implementations that don't support this, these files will not
be created at all.

uma/carveout_options
--------------------

.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
   :doc: uma/carveout_options

uma/carveout
--------------------

.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
   :doc: uma/carveout
Loading