History

Merge tag 'drm-next-2026-08-20' of https://gitlab.freedesktop.org/drm/kernel

Pull drm updates from Dave Airlie: "Highlights: - dmemcg eviction support is good for low VRAM things like Steam Machine - AMD adds gfx6-8 modifier support for older GPUs that enables a bunch of wayland stuff - i915/xe has some new hw support but also a lot of display refactoring Everything: perf: - export perf_allow_ APIs for xe udmabuf: - remove default size limit of 64MB rust: - i/o rework (signed tag from driver-core tree) - add registration guard and registration data - fix unbounded lifetimes in ioctl handler args - fix a drm_dev_register race - gem_shmem: add DmaResvGuard helper - gpuvm: require send/sync for driver data - implement send/sync for GpuVaAlloc and GpuVmBo - add SmContext lifetime - rename dma_handle to dma_address - change pci_sriov_get_totalvfs return to unsigned int core: - create drm_of_get_panel_orientation - send per-connector hotplug events - add thunderbolt UBHR tunneling support connector: - add color format property dmem: - introduce a peak file - accept one region per limit - add dmemcg support for eviction gpusvm: - reorg code to give drivers more flexibility atomic: - add create_state callback and helper - add documentation on atomic commit lifetime buddy: - add per-order free - add used block scoreboard - fix UAF - test buffer clearance on resume - add phys_addr->block helper gem: - drop DRIVER_GEM_GPUVA flag ttm: - be more aggressive allocating below protection limit sched: - add test suite for concurrent job submissions hdmi: - hook the color format property in helpers mipi-dsi: - add MIPI_DSI_MODE_DSC_ALL_SLICES_IN_PKT bridge: - add atomic create callbacks - drop atomic reset - display-connector: don't autoenable HPD IRQ - trigger initial HPD for DP - ti-sn65dsi83: remove NO_HFP and NO_HBP mode flags - analogix_dp: switch to DP link training helpers dp: - add support for DSC max delta BPP edid: - parse panel type from DisplayID 2.x Display Parameters sysfb: - improve panel, stride, framebuffer size validation panel: - implement ref counting for struct drm_panel - himax-hx83121a: add backlight regulator support - novatek-nt36672a: Inline panel init sequences - visionox-vtdr6130: enable DSC - novatek-nt37801: Use mipi_dsi_*_multi() functions - samsung-s6d16d0: Fix prepare error handling - support Novatek NT36536 plus DT bindings - sofef00: fix backlight updates - osd101t2587: use mipi_dsi_*_multi interface - panel-edp: adjust timing for AUO displays - panel-lvds: support Opto Logic SCX1001511GGC49 - panel-simple: support Kyocera tcg070wvlq - panel-edp: quirks - AUO B116XAT04.3, CMN N116BCP-EA2, CSW MNB601LS1-8 - BOE NV116WH2-M30, BOE NT116WHM-N21, BOE NV116FH1-M31 - BOE NV116FH1-M30, NV140FHM-N5B, TM156VDXP25 - BOE NE160QDM-NY1, MB116AS01 - new: - Samsung ATNA40HQ08-0, Anbernic TD4310 - Chipone ICNA35XX, Ilitek ILI9488 - Ilitek ILI7807S, Renesas R63419 - MNE001BS6-2, MNF601BS4-1, Sharp LQ120P1JX51 virtio: - add support for save/restore virtio_gpu_objects - abort vq wait on device removal amdgpu: - add color format DRM property - initial compute pipe reset support - add GFX 6-8 modifier support - initial DCN 6.0.0 support - dmemcg eviction support - improved boundary checking for bios parsing - RAS updates and rework - VCN secure submission fixes - 8K panel fix - Display KUNIT tests - parse panel type from DisplayID - Align IP discovery to pci device lifetime - SOC15 register macro cleanups - UVD memory placement fixes - GFX9 mode2 reset fixes - drop unnecessary BUG/BUG_ON - GFX8 soft reset rework - enable soft reset on GFX8 - PSP/SMU 15.0.9 update - VI ASPM fix - userq fixes - amdgpu_vm_get_task_info_pasid lifetime fix - DC CACP support - change system_unbound_wq with system_dfl_wq - Loosen VFCT bios parsing to deal with pci=realloc - SI/SMU7 AC/DC switch fix - VM fence handling fix - GEM close optimisation - Apple Studio Display fixes - DC FRL fixes amdkfd: - initial compute pipe reset support - allow applications to opt out of sigbus on fatal errors - improve CRIU boundary checks - MQD handling rework - move TBA/TMA from system to device memory - avoid topology-lock in kfd_mmap - SVM eviction fixes radeon: - fix unset CONFIG_ACPI build i915: - Novalake (NVL display version 35) timing generator enabling - NVL DC3CO enabling - enable UBHR link rates on thunderbolt tunnels - Reduce Xe3+ PM demand peak bandwidth - enable pipe DMC error interrupts for display 30+ - add kunit tests for DP link config selection - refactor and document DP link recovery - i915/xe driver display probe/remove/suspend/resume/shutdown cleanup and unification - i915/xe display runtime PM unified - Break i915 and xe panic dependency on struct intel_framebuffer - Streamline Pre/Post-CSC LUT loops - drop TGL DC3DO support - CDCLK santization - fix HDMI scrambling enable - fix phys bo pread/pwrite with offset - add missing nospec on parallel submit slot - fix some NULL derefs xe: - drop force_execlist module param - gate observation streams with perf_allow_cpu - skip FORCE_WC and vm_bound check for external dma-bufs - dmemcg eviction support - remove unused NVL-S GuC - TLB invalidation improvements - NVL-S updated PCI-IDs and w/a - madvise: optimise invalidation path - fix infinite gt-reset loop in timeout recovery - update TTM device benefical_order - wait on external BO kernel fences in exec ioctl - add/use more KLV helpers - sriov: disable display in admin only PF mode - add RAS GPU health indicator - optimise TTM populate for DONTNEED BO - drop force_probe for NVL-s - add debugfs for pcode info amdxdna: - disable device buffer export nova: - build nova-core/nova-drm from drivers/gpu - export nova-core rust symbols (workaround) - GSP boot process consolidation - Boot GSP with vGPU enabled - TLV firmware image format support - Hopper/Blackwell fixes and cleanups - I/O projection adoption tyr: - firmware loading and MCU boot - add generic slot manager + MMU - GPU VM support ARM64 LPAE page tables - add kernel buffer object for internal allocations - add parser for Mali CSF - add MCU booting nouveau: - race fixes - check instmem iomapping at first use - add dmemcg support - expose NVDEC channels - add scanline position/head state support for GSP qxl: - convert simple encoder to regular ethosu: - add perf counter support etnaviv: - force flush on power register ops msm: - support DSC configuration with slice_per_pkt > 1 mxsfb: - fix disable sequence panthor: - support sparse mappings rockchip: - switch away from simple helpers - support YUV background color - fix layer config timeout - add edp support for rk3576 - add batch command submission function rocket: - error handling and NULL ptr deref fixes sun4i: - switch away from simple helpers imagination: - mark BXM-4-64 MC1 as support host1x: - support tegra264 tegra: - add DSI for tegra 20/30 v3d: - reduce PM runtime autosuspend delay - scheduler fixes and refactoring - deprecate v3d 3.3 and 4.1 - validate CPU job query boundaries hibmc: - improve plane format handling - switch to gem shmem mediatek: - cec: correct compat for mt7623-8167? exynos: - remove simple dependency - add error handling to encoder paths - take i2c adapter module reference" * tag 'drm-next-2026-08-20' of https://gitlab.freedesktop.org/drm/kernel: (2074 commits) drm/xe/mcr: Take vcs1/vecs1 into account for first media slice drm/xe: Fix a bug in pc_adjust_freq_bounds() drm/xe: Fix xe_device_probe() failure drm/xe/drm_ras: Move has_drm_ras check to drm_ras layer drm/xe/ras: Fix boot-time ras error processing drm/amd/display: make DC_RUN_WITH_PREEMPTION_ENABLED misuse a build error drm/amd/pm: silence uninitialized variable warnings drm/amdgpu: skip BOs being torn down during GTT recovery drm/amdgpu: Reject UVD message with invalid number of h265 refs drm/amdgpu: keep PRT mappings off the vm_bo state lists drm/amdgpu: fix nbif 6.3.1 l1 low power not functional drm/amd/display: fix BT.2020 YCbCr output CSC matrices for DCE drm/amd/display: fix BT.2020 YCbCr limited output CSC matrix drm/amdgpu: Implement insert_end for VCE 3 drm/amdgpu: Fix UVD min buffer sizes drm/amdgpu: Fix UVD decode image min size calculation drm/amdgpu: Fix UVD dpb min size calculation for H264 drm/amdgpu: Reject UVD message with dimensions above 4096 drm/amdgpu: check ASPM on the dGPU host link drm/radeon: fix autosuspend cleanup during teardown ...

Linus Torvalds committed 2 months ago

Commit 4e69c182 parents 818bebe c44e2781576 files · +231951 −42056Browse files

Showing the changes to include/uapi/linux (1 of 1576 files). Show all

Unified · Split

include/uapi/linux/kfd_ioctl.h+89−91
@@ -690,7 +690,7 @@ enum kfd_criu_op { · 689 unmodified lines
690};690};
691 691
692/**692/**
693 * kfd_ioctl_criu_args - Arguments perform CRIU operation693 * struct kfd_ioctl_criu_args - Arguments perform CRIU operation
694 * @devices: [in/out] User pointer to memory location for devices information.694 * @devices: [in/out] User pointer to memory location for devices information.
695 * This is an array of type kfd_criu_device_bucket.695 * This is an array of type kfd_criu_device_bucket.
696 * @bos: [in/out] User pointer to memory location for BOs information696 * @bos: [in/out] User pointer to memory location for BOs information
@@ -698,11 +698,11 @@ enum kfd_criu_op { · 1 unmodified line
698 * @priv_data: [in/out] User pointer to memory location for private data698 * @priv_data: [in/out] User pointer to memory location for private data
699 * @priv_data_size: [in/out] Size of priv_data in bytes699 * @priv_data_size: [in/out] Size of priv_data in bytes
700 * @num_devices: [in/out] Number of GPUs used by process. Size of @devices array.700 * @num_devices: [in/out] Number of GPUs used by process. Size of @devices array.
701 * @num_bos [in/out] Number of BOs used by process. Size of @bos array.701 * @num_bos: [in/out] Number of BOs used by process. Size of @bos array.
702 * @num_objects: [in/out] Number of objects used by process. Objects are opaque to702 * @num_objects: [in/out] Number of objects used by process. Objects are opaque to
703 * user application.703 * user application.
704 * @pid: [in/out] PID of the process being checkpointed704 * @pid: [in/out] PID of the process being checkpointed
705 * @op [in] Type of operation (kfd_criu_op)705 * @op: [in] Type of operation (kfd_criu_op)
706 *706 *
707 * Return: 0 on success, -errno on failure707 * Return: 0 on success, -errno on failure
708 */708 */
@@ -764,7 +764,7 @@ enum kfd_mmio_remap { · 55 unmodified lines
764#define KFD_IOCTL_SVM_FLAG_EXT_COHERENT 0x00000080764#define KFD_IOCTL_SVM_FLAG_EXT_COHERENT 0x00000080
765 765
766/**766/**
767 * kfd_ioctl_svm_op - SVM ioctl operations767 * enum kfd_ioctl_svm_op - SVM ioctl operations
768 *768 *
769 * @KFD_IOCTL_SVM_OP_SET_ATTR: Modify one or more attributes769 * @KFD_IOCTL_SVM_OP_SET_ATTR: Modify one or more attributes
770 * @KFD_IOCTL_SVM_OP_GET_ATTR: Query one or more attributes770 * @KFD_IOCTL_SVM_OP_GET_ATTR: Query one or more attributes
@@ -786,7 +786,7 @@ enum kfd_ioctl_svm_location { · 15 unmodified lines
786};786};
787 787
788/**788/**
789 * kfd_ioctl_svm_attr_type - SVM attribute types789 * enum kfd_ioctl_svm_attr_type - SVM attribute types
790 *790 *
791 * @KFD_IOCTL_SVM_ATTR_PREFERRED_LOC: gpuid of the preferred location, 0 for791 * @KFD_IOCTL_SVM_ATTR_PREFERRED_LOC: gpuid of the preferred location, 0 for
792 * system memory792 * system memory
@@ -815,7 +815,7 @@ enum kfd_ioctl_svm_attr_type { · 22 unmodified lines
815};815};
816 816
817/**817/**
818 * kfd_ioctl_svm_attribute - Attributes as pairs of type and value818 * struct kfd_ioctl_svm_attribute - Attributes as pairs of type and value
819 *819 *
820 * The meaning of the @value depends on the attribute type.820 * The meaning of the @value depends on the attribute type.
821 *821 *
@@ -828,7 +828,7 @@ struct kfd_ioctl_svm_attribute { · 6 unmodified lines
828};828};
829 829
830/**830/**
831 * kfd_ioctl_svm_args - Arguments for SVM ioctl831 * struct kfd_ioctl_svm_args - Arguments for SVM ioctl
832 *832 *
833 * @op specifies the operation to perform (see enum833 * @op specifies the operation to perform (see enum
834 * @kfd_ioctl_svm_op). @start_addr and @size are common for all834 * @kfd_ioctl_svm_op). @start_addr and @size are common for all
@@ -875,7 +875,7 @@ struct kfd_ioctl_svm_args { · 40 unmodified lines
875};875};
876 876
877/**877/**
878 * kfd_ioctl_set_xnack_mode_args - Arguments for set_xnack_mode878 * struct kfd_ioctl_set_xnack_mode_args - Arguments for set_xnack_mode
879 *879 *
880 * @xnack_enabled: [in/out] Whether to enable XNACK mode for this process880 * @xnack_enabled: [in/out] Whether to enable XNACK mode for this process
881 *881 *
@@ -1055,15 +1055,15 @@ struct kfd_runtime_info { · 173 unmodified lines
1055#define KFD_RUNTIME_ENABLE_MODE_TTMP_SAVE_MASK 21055#define KFD_RUNTIME_ENABLE_MODE_TTMP_SAVE_MASK 2
1056 1056
1057/**1057/**
1058 * kfd_ioctl_runtime_enable_args - Arguments for runtime enable1058 * struct kfd_ioctl_runtime_enable_args - Arguments for runtime enable
1059 *1059 *
1060 * Coordinates debug exception signalling and debug device enablement with runtime.1060 * Coordinates debug exception signalling and debug device enablement with runtime.
1061 *1061 *
1062 * @r_debug - pointer to user struct for sharing information between ROCr and the debuggger1062 * @r_debug: pointer to user struct for sharing information between ROCr and the debuggger
1063 * @mode_mask - mask to set mode1063 * @mode_mask: mask to set mode
1064 * KFD_RUNTIME_ENABLE_MODE_ENABLE_MASK - enable runtime for debugging, otherwise disable1064 * KFD_RUNTIME_ENABLE_MODE_ENABLE_MASK - enable runtime for debugging, otherwise disable
1065 * KFD_RUNTIME_ENABLE_MODE_TTMP_SAVE_MASK - enable trap temporary setup (ignore on disable)1065 * KFD_RUNTIME_ENABLE_MODE_TTMP_SAVE_MASK - enable trap temporary setup (ignore on disable)
1066 * @capabilities_mask - mask to notify runtime on what KFD supports1066 * @capabilities_mask: mask to notify runtime on what KFD supports
1067 *1067 *
1068 * Return - 0 on SUCCESS.1068 * Return - 0 on SUCCESS.
1069 * - EBUSY if runtime enable call already pending.1069 * - EBUSY if runtime enable call already pending.
@@ -1158,17 +1158,15 @@ enum kfd_dbg_trap_operations { · 88 unmodified lines
1158};1158};
1159 1159
1160/**1160/**
1161 * kfd_ioctl_dbg_trap_enable_args1161 * struct kfd_ioctl_dbg_trap_enable_args - Arguments for KFD_IOC_DBG_TRAP_ENABLE.
1162 *
1163 * Arguments for KFD_IOC_DBG_TRAP_ENABLE.
1164 *1162 *
1165 * Enables debug session for target process. Call @op KFD_IOC_DBG_TRAP_DISABLE in1163 * Enables debug session for target process. Call @op KFD_IOC_DBG_TRAP_DISABLE in
1166 * kfd_ioctl_dbg_trap_args to disable debug session.1164 * kfd_ioctl_dbg_trap_args to disable debug session.
1167 *1165 *
1168 * @exception_mask (IN) - exceptions to raise to the debugger1166 * @exception_mask: (IN) - exceptions to raise to the debugger
1169 * @rinfo_ptr (IN) - pointer to runtime info buffer (see kfd_runtime_info)1167 * @rinfo_ptr: (IN) - pointer to runtime info buffer (see kfd_runtime_info)
1170 * @rinfo_size (IN/OUT) - size of runtime info buffer in bytes1168 * @rinfo_size: (IN/OUT) - size of runtime info buffer in bytes
1171 * @dbg_fd (IN) - fd the KFD will nofify the debugger with of raised1169 * @dbg_fd: (IN) - fd the KFD will nofify the debugger with of raised
1172 * exceptions set in exception_mask.1170 * exceptions set in exception_mask.
1173 *1171 *
1174 * Generic errors apply (see kfd_dbg_trap_operations).1172 * Generic errors apply (see kfd_dbg_trap_operations).
@@ -1188,15 +1186,14 @@ struct kfd_ioctl_dbg_trap_enable_args { · 13 unmodified lines
1188};1186};
1189 1187
1190/**1188/**
1191 * kfd_ioctl_dbg_trap_send_runtime_event_args1189 * struct kfd_ioctl_dbg_trap_send_runtime_event_args - Arguments for
1192 *1190 * KFD_IOC_DBG_TRAP_SEND_RUNTIME_EVENT.
1193 *1191 *
1194 * Arguments for KFD_IOC_DBG_TRAP_SEND_RUNTIME_EVENT.
1195 * Raises exceptions to runtime.1192 * Raises exceptions to runtime.
1196 *1193 *
1197 * @exception_mask (IN) - exceptions to raise to runtime1194 * @exception_mask: (IN) - exceptions to raise to runtime
1198 * @gpu_id (IN) - target device id1195 * @gpu_id: (IN) - target device id
1199 * @queue_id (IN) - target queue id1196 * @queue_id: (IN) - target queue id
1200 *1197 *
1201 * Generic errors apply (see kfd_dbg_trap_operations).1198 * Generic errors apply (see kfd_dbg_trap_operations).
1202 * Return - 0 on SUCCESS.1199 * Return - 0 on SUCCESS.
@@ -1213,12 +1210,12 @@ struct kfd_ioctl_dbg_trap_send_runtime_event_args { · 10 unmodified lines
1213};1210};
1214 1211
1215/**1212/**
1216 * kfd_ioctl_dbg_trap_set_exceptions_enabled_args1213 * struct kfd_ioctl_dbg_trap_set_exceptions_enabled_args - Arguments for
1214 * KFD_IOC_SET_EXCEPTIONS_ENABLED
1217 *1215 *
1218 * Arguments for KFD_IOC_SET_EXCEPTIONS_ENABLED
1219 * Set new exceptions to be raised to the debugger.1216 * Set new exceptions to be raised to the debugger.
1220 *1217 *
1221 * @exception_mask (IN) - new exceptions to raise the debugger1218 * @exception_mask: (IN) - new exceptions to raise the debugger
1222 *1219 *
1223 * Generic errors apply (see kfd_dbg_trap_operations).1220 * Generic errors apply (see kfd_dbg_trap_operations).
1224 * Return - 0 on SUCCESS.1221 * Return - 0 on SUCCESS.
@@ -1228,16 +1225,16 @@ struct kfd_ioctl_dbg_trap_set_exceptions_enabled_args { · 3 unmodified lines
1228};1225};
1229 1226
1230/**1227/**
1231 * kfd_ioctl_dbg_trap_set_wave_launch_override_args1228 * struct kfd_ioctl_dbg_trap_set_wave_launch_override_args - Arguments for
1229 * KFD_IOC_DBG_TRAP_SET_WAVE_LAUNCH_OVERRIDE
1232 *1230 *
1233 * Arguments for KFD_IOC_DBG_TRAP_SET_WAVE_LAUNCH_OVERRIDE
1234 * Enable HW exceptions to raise trap.1231 * Enable HW exceptions to raise trap.
1235 *1232 *
1236 * @override_mode (IN) - see kfd_dbg_trap_override_mode1233 * @override_mode: (IN) - see kfd_dbg_trap_override_mode
1237 * @enable_mask (IN/OUT) - reference kfd_dbg_trap_mask.1234 * @enable_mask: (IN/OUT) - reference kfd_dbg_trap_mask.
1238 * IN is the override modes requested to be enabled.1235 * IN is the override modes requested to be enabled.
1239 * OUT is referenced in Return below.1236 * OUT is referenced in Return below.
1240 * @support_request_mask (IN/OUT) - reference kfd_dbg_trap_mask.1237 * @support_request_mask: (IN/OUT) - reference kfd_dbg_trap_mask.
1241 * IN is the override modes requested for support check.1238 * IN is the override modes requested for support check.
1242 * OUT is referenced in Return below.1239 * OUT is referenced in Return below.
1243 *1240 *
@@ -1254,36 +1251,38 @@ struct kfd_ioctl_dbg_trap_set_wave_launch_override_args { · 10 unmodified lines
1254 __u32 override_mode;1251 __u32 override_mode;
1255 __u32 enable_mask;1252 __u32 enable_mask;
1256 __u32 support_request_mask;1253 __u32 support_request_mask;
1254 /* private: */
1257 __u32 pad;1255 __u32 pad;
1258};1256};
1259 1257
1260/**1258/**
1261 * kfd_ioctl_dbg_trap_set_wave_launch_mode_args1259 * struct kfd_ioctl_dbg_trap_set_wave_launch_mode_args - Arguments for
1260 * KFD_IOC_DBG_TRAP_SET_WAVE_LAUNCH_MODE
1262 *1261 *
1263 * Arguments for KFD_IOC_DBG_TRAP_SET_WAVE_LAUNCH_MODE
1264 * Set wave launch mode.1262 * Set wave launch mode.
1265 *1263 *
1266 * @mode (IN) - see kfd_dbg_trap_wave_launch_mode1264 * @launch_mode: (IN) - see kfd_dbg_trap_wave_launch_mode
1267 *1265 *
1268 * Generic errors apply (see kfd_dbg_trap_operations).1266 * Generic errors apply (see kfd_dbg_trap_operations).
1269 * Return - 0 on SUCCESS.1267 * Return - 0 on SUCCESS.
1270 */1268 */
1271struct kfd_ioctl_dbg_trap_set_wave_launch_mode_args {1269struct kfd_ioctl_dbg_trap_set_wave_launch_mode_args {
1272 __u32 launch_mode;1270 __u32 launch_mode;
1271 /* private: */
1273 __u32 pad;1272 __u32 pad;
1274};1273};
1275 1274
1276/**1275/**
1277 * kfd_ioctl_dbg_trap_suspend_queues_ags1276 * struct kfd_ioctl_dbg_trap_suspend_queues_args - Arguments for
1277 * KFD_IOC_DBG_TRAP_SUSPEND_QUEUES
1278 *1278 *
1279 * Arguments for KFD_IOC_DBG_TRAP_SUSPEND_QUEUES
1280 * Suspend queues.1279 * Suspend queues.
1281 *1280 *
1282 * @exception_mask (IN) - raised exceptions to clear1281 * @exception_mask: (IN) - raised exceptions to clear
1283 * @queue_array_ptr (IN) - pointer to array of queue ids (u32 per queue id)1282 * @queue_array_ptr: (IN) - pointer to array of queue ids (u32 per queue id)
1284 * to suspend1283 * to suspend
1285 * @num_queues (IN) - number of queues to suspend in @queue_array_ptr1284 * @num_queues: (IN) - number of queues to suspend in @queue_array_ptr
1286 * @grace_period (IN) - wave time allowance before preemption1285 * @grace_period: (IN) - wave time allowance before preemption
1287 * per 1K GPU clock cycle unit1286 * per 1K GPU clock cycle unit
1288 *1287 *
1289 * Generic errors apply (see kfd_dbg_trap_operations).1288 * Generic errors apply (see kfd_dbg_trap_operations).
@@ -1311,14 +1310,14 @@ struct kfd_ioctl_dbg_trap_suspend_queues_args { · 21 unmodified lines
1311};1310};
1312 1311
1313/**1312/**
1314 * kfd_ioctl_dbg_trap_resume_queues_args1313 * struct kfd_ioctl_dbg_trap_resume_queues_args - Arguments for
1314 * KFD_IOC_DBG_TRAP_RESUME_QUEUES
1315 *1315 *
1316 * Arguments for KFD_IOC_DBG_TRAP_RESUME_QUEUES
1317 * Resume queues.1316 * Resume queues.
1318 *1317 *
1319 * @queue_array_ptr (IN) - pointer to array of queue ids (u32 per queue id)1318 * @queue_array_ptr: (IN) - pointer to array of queue ids (u32 per queue id)
1320 * to resume1319 * to resume
1321 * @num_queues (IN) - number of queues to resume in @queue_array_ptr1320 * @num_queues: (IN) - number of queues to resume in @queue_array_ptr
1322 *1321 *
1323 * Generic errors apply (see kfd_dbg_trap_operations).1322 * Generic errors apply (see kfd_dbg_trap_operations).
1324 * Return - Number of queues resumed on SUCCESS.1323 * Return - Number of queues resumed on SUCCESS.
@@ -1331,20 +1330,21 @@ struct kfd_ioctl_dbg_trap_suspend_queues_args { · 6 unmodified lines
1331struct kfd_ioctl_dbg_trap_resume_queues_args {1330struct kfd_ioctl_dbg_trap_resume_queues_args {
1332 __u64 queue_array_ptr;1331 __u64 queue_array_ptr;
1333 __u32 num_queues;1332 __u32 num_queues;
1333 /* private: */
1334 __u32 pad;1334 __u32 pad;
1335};1335};
1336 1336
1337/**1337/**
1338 * kfd_ioctl_dbg_trap_set_node_address_watch_args1338 * struct kfd_ioctl_dbg_trap_set_node_address_watch_args - Arguments for
1339 * KFD_IOC_DBG_TRAP_SET_NODE_ADDRESS_WATCH
1339 *1340 *
1340 * Arguments for KFD_IOC_DBG_TRAP_SET_NODE_ADDRESS_WATCH
1341 * Sets address watch for device.1341 * Sets address watch for device.
1342 *1342 *
1343 * @address (IN) - watch address to set1343 * @address: (IN) - watch address to set
1344 * @mode (IN) - see kfd_dbg_trap_address_watch_mode1344 * @mode: (IN) - see kfd_dbg_trap_address_watch_mode
1345 * @mask (IN) - watch address mask1345 * @mask: (IN) - watch address mask
1346 * @gpu_id (IN) - target gpu to set watch point1346 * @gpu_id: (IN) - target gpu to set watch point
1347 * @id (OUT) - watch id allocated1347 * @id: (OUT) - watch id allocated
1348 *1348 *
1349 * Generic errors apply (see kfd_dbg_trap_operations).1349 * Generic errors apply (see kfd_dbg_trap_operations).
1350 * Return - 0 on SUCCESS.1350 * Return - 0 on SUCCESS.
@@ -1361,13 +1361,13 @@ struct kfd_ioctl_dbg_trap_set_node_address_watch_args { · 10 unmodified lines
1361};1361};
1362 1362
1363/**1363/**
1364 * kfd_ioctl_dbg_trap_clear_node_address_watch_args1364 * struct kfd_ioctl_dbg_trap_clear_node_address_watch_args - Arguments for
1365 * KFD_IOC_DBG_TRAP_CLEAR_NODE_ADDRESS_WATCH
1365 *1366 *
1366 * Arguments for KFD_IOC_DBG_TRAP_CLEAR_NODE_ADDRESS_WATCH
1367 * Clear address watch for device.1367 * Clear address watch for device.
1368 *1368 *
1369 * @gpu_id (IN) - target device to clear watch point1369 * @gpu_id: (IN) - target device to clear watch point
1370 * @id (IN) - allocated watch id to clear1370 * @id: (IN) - allocated watch id to clear
1371 *1371 *
1372 * Generic errors apply (see kfd_dbg_trap_operations).1372 * Generic errors apply (see kfd_dbg_trap_operations).
1373 * Return - 0 on SUCCESS.1373 * Return - 0 on SUCCESS.
@@ -1380,12 +1380,12 @@ struct kfd_ioctl_dbg_trap_clear_node_address_watch_args { · 6 unmodified lines
1380};1380};
1381 1381
1382/**1382/**
1383 * kfd_ioctl_dbg_trap_set_flags_args1383 * struct kfd_ioctl_dbg_trap_set_flags_args - Arguments for
1384 * KFD_IOC_DBG_TRAP_SET_FLAGS
1384 *1385 *
1385 * Arguments for KFD_IOC_DBG_TRAP_SET_FLAGS
1386 * Sets flags for wave behaviour.1386 * Sets flags for wave behaviour.
1387 *1387 *
1388 * @flags (IN/OUT) - IN = flags to enable, OUT = flags previously enabled1388 * @flags: (IN/OUT) - IN = flags to enable, OUT = flags previously enabled
1389 *1389 *
1390 * Generic errors apply (see kfd_dbg_trap_operations).1390 * Generic errors apply (see kfd_dbg_trap_operations).
1391 * Return - 0 on SUCCESS.1391 * Return - 0 on SUCCESS.
@@ -1393,13 +1393,13 @@ struct kfd_ioctl_dbg_trap_clear_node_address_watch_args { · 1 unmodified line
1393 */1393 */
1394struct kfd_ioctl_dbg_trap_set_flags_args {1394struct kfd_ioctl_dbg_trap_set_flags_args {
1395 __u32 flags;1395 __u32 flags;
1396 /* private: */
1396 __u32 pad;1397 __u32 pad;
1397};1398};
1398 1399
1399/**1400/**
1400 * kfd_ioctl_dbg_trap_query_debug_event_args1401 * struct kfd_ioctl_dbg_trap_query_debug_event_args - Arguments for
1401 *1402 * KFD_IOC_DBG_TRAP_QUERY_DEBUG_EVENT
1402 * Arguments for KFD_IOC_DBG_TRAP_QUERY_DEBUG_EVENT
1403 *1403 *
1404 * Find one or more raised exceptions. This function can return multiple1404 * Find one or more raised exceptions. This function can return multiple
1405 * exceptions from a single queue or a single device with one call. To find1405 * exceptions from a single queue or a single device with one call. To find
@@ -1409,9 +1409,9 @@ struct kfd_ioctl_dbg_trap_set_flags_args { · 3 unmodified lines
1409 * However, clearing an exception prevents retrieving further information1409 * However, clearing an exception prevents retrieving further information
1410 * about it with KFD_IOC_DBG_TRAP_QUERY_EXCEPTION_INFO.1410 * about it with KFD_IOC_DBG_TRAP_QUERY_EXCEPTION_INFO.
1411 *1411 *
1412 * @exception_mask (IN/OUT) - exception to clear (IN) and raised (OUT)1412 * @exception_mask: (IN/OUT) - exception to clear (IN) and raised (OUT)
1413 * @gpu_id (OUT) - gpu id of exceptions raised1413 * @gpu_id: (OUT) - gpu id of exceptions raised
1414 * @queue_id (OUT) - queue id of exceptions raised1414 * @queue_id: (OUT) - queue id of exceptions raised
1415 *1415 *
1416 * Generic errors apply (see kfd_dbg_trap_operations).1416 * Generic errors apply (see kfd_dbg_trap_operations).
1417 * Return - 0 on raised exception found1417 * Return - 0 on raised exception found
@@ -1426,16 +1426,16 @@ struct kfd_ioctl_dbg_trap_query_debug_event_args { · 8 unmodified lines
1426};1426};
1427 1427
1428/**1428/**
1429 * kfd_ioctl_dbg_trap_query_exception_info_args1429 * struct kfd_ioctl_dbg_trap_query_exception_info_args - Arguments for
1430 * KFD_IOC_DBG_TRAP_QUERY_EXCEPTION_INFO
1430 *1431 *
1431 * Arguments KFD_IOC_DBG_TRAP_QUERY_EXCEPTION_INFO
1432 * Get additional info on raised exception.1432 * Get additional info on raised exception.
1433 *1433 *
1434 * @info_ptr (IN) - pointer to exception info buffer to copy to1434 * @info_ptr: (IN) - pointer to exception info buffer to copy to
1435 * @info_size (IN/OUT) - exception info buffer size (bytes)1435 * @info_size: (IN/OUT) - exception info buffer size (bytes)
1436 * @source_id (IN) - target gpu or queue id1436 * @source_id: (IN) - target gpu or queue id
1437 * @exception_code (IN) - target exception1437 * @exception_code: (IN) - target exception
1438 * @clear_exception (IN) - clear raised @exception_code exception1438 * @clear_exception: (IN) - clear raised @exception_code exception
1439 * (0 = false, 1 = true)1439 * (0 = false, 1 = true)
1440 *1440 *
1441 * Generic errors apply (see kfd_dbg_trap_operations).1441 * Generic errors apply (see kfd_dbg_trap_operations).
@@ -1455,20 +1455,20 @@ struct kfd_ioctl_dbg_trap_query_exception_info_args { · 13 unmodified lines
1455};1455};
1456 1456
1457/**1457/**
1458 * kfd_ioctl_dbg_trap_get_queue_snapshot_args1458 * struct kfd_ioctl_dbg_trap_queue_snapshot_args - Arguments for
1459 * KFD_IOC_DBG_TRAP_GET_QUEUE_SNAPSHOT
1459 *1460 *
1460 * Arguments KFD_IOC_DBG_TRAP_GET_QUEUE_SNAPSHOT
1461 * Get queue information.1461 * Get queue information.
1462 *1462 *
1463 * @exception_mask (IN) - exceptions raised to clear1463 * @exception_mask: (IN) - exceptions raised to clear
1464 * @snapshot_buf_ptr (IN) - queue snapshot entry buffer (see kfd_queue_snapshot_entry)1464 * @snapshot_buf_ptr: (IN) - queue snapshot entry buffer (see kfd_queue_snapshot_entry)
1465 * @num_queues (IN/OUT) - number of queue snapshot entries1465 * @num_queues: (IN/OUT) - number of queue snapshot entries
1466 * The debugger specifies the size of the array allocated in @num_queues.1466 * The debugger specifies the size of the array allocated in @num_queues.
1467 * KFD returns the number of queues that actually existed. If this is1467 * KFD returns the number of queues that actually existed. If this is
1468 * larger than the size specified by the debugger, KFD will not overflow1468 * larger than the size specified by the debugger, KFD will not overflow
1469 * the array allocated by the debugger.1469 * the array allocated by the debugger.
1470 *1470 *
1471 * @entry_size (IN/OUT) - size per entry in bytes1471 * @entry_size: (IN/OUT) - size per entry in bytes
1472 * The debugger specifies sizeof(struct kfd_queue_snapshot_entry) in1472 * The debugger specifies sizeof(struct kfd_queue_snapshot_entry) in
1473 * @entry_size. KFD returns the number of bytes actually populated per1473 * @entry_size. KFD returns the number of bytes actually populated per
1474 * entry. The debugger should use the KFD_IOCTL_MINOR_VERSION to determine,1474 * entry. The debugger should use the KFD_IOCTL_MINOR_VERSION to determine,
@@ -1491,20 +1491,20 @@ struct kfd_ioctl_dbg_trap_queue_snapshot_args { · 16 unmodified lines
1491};1491};
1492 1492
1493/**1493/**
1494 * kfd_ioctl_dbg_trap_get_device_snapshot_args1494 * struct kfd_ioctl_dbg_trap_device_snapshot_args - Arguments for
1495 * KFD_IOC_DBG_TRAP_GET_DEVICE_SNAPSHOT
1495 *1496 *
1496 * Arguments for KFD_IOC_DBG_TRAP_GET_DEVICE_SNAPSHOT
1497 * Get device information.1497 * Get device information.
1498 *1498 *
1499 * @exception_mask (IN) - exceptions raised to clear1499 * @exception_mask: (IN) - exceptions raised to clear
1500 * @snapshot_buf_ptr (IN) - pointer to snapshot buffer (see kfd_dbg_device_info_entry)1500 * @snapshot_buf_ptr: (IN) - pointer to snapshot buffer (see kfd_dbg_device_info_entry)
1501 * @num_devices (IN/OUT) - number of debug devices to snapshot1501 * @num_devices: (IN/OUT) - number of debug devices to snapshot
1502 * The debugger specifies the size of the array allocated in @num_devices.1502 * The debugger specifies the size of the array allocated in @num_devices.
1503 * KFD returns the number of devices that actually existed. If this is1503 * KFD returns the number of devices that actually existed. If this is
1504 * larger than the size specified by the debugger, KFD will not overflow1504 * larger than the size specified by the debugger, KFD will not overflow
1505 * the array allocated by the debugger.1505 * the array allocated by the debugger.
1506 *1506 *
1507 * @entry_size (IN/OUT) - size per entry in bytes1507 * @entry_size: (IN/OUT) - size per entry in bytes
1508 * The debugger specifies sizeof(struct kfd_dbg_device_info_entry) in1508 * The debugger specifies sizeof(struct kfd_dbg_device_info_entry) in
1509 * @entry_size. KFD returns the number of bytes actually populated. The1509 * @entry_size. KFD returns the number of bytes actually populated. The
1510 * debugger should use KFD_IOCTL_MINOR_VERSION to determine, which fields1510 * debugger should use KFD_IOCTL_MINOR_VERSION to determine, which fields
@@ -1527,12 +1527,10 @@ struct kfd_ioctl_dbg_trap_device_snapshot_args { · 16 unmodified lines
1527};1527};
1528 1528
1529/**1529/**
1530 * kfd_ioctl_dbg_trap_args1530 * struct kfd_ioctl_dbg_trap_args - Arguments to debug target process.
1531 *
1532 * Arguments to debug target process.
1533 *1531 *
1534 * @pid - target process to debug1532 * @pid: target process to debug
1535 * @op - debug operation (see kfd_dbg_trap_operations)1533 * @op: debug operation (see kfd_dbg_trap_operations)
1536 *1534 *
1537 * @op determines which union struct args to use.1535 * @op determines which union struct args to use.
1538 * Refer to kern docs for each kfd_ioctl_dbg_trap_*_args struct.1536 * Refer to kern docs for each kfd_ioctl_dbg_trap_*_args struct.
@@ -1567,7 +1565,7 @@ enum kfd_profiler_ops { · 28 unmodified lines
1567};1565};
1568 1566
1569/**1567/**
1570 * Enables/Disables GPU Specific profiler settings1568 * struct kfd_ioctl_pmc_settings - Enables/Disables GPU Specific profiler settings
1571 */1569 */
1572struct kfd_ioctl_pmc_settings {1570struct kfd_ioctl_pmc_settings {
1573 __u32 gpu_id; /* This is the user_gpu_id */1571 __u32 gpu_id; /* This is the user_gpu_id */