nouveau: fix disabling the nonstall irq due to storm codeNouveau has code that when it gets an IRQ with no allowed handlerit disables it to avoid storms.However with nonstall interrupts, we ofte
nouveau: fix disabling the nonstall irq due to storm codeNouveau has code that when it gets an IRQ with no allowed handlerit disables it to avoid storms.However with nonstall interrupts, we often disable them fromthe drm driver, but still request their emission via the push submission.Just don't disable nonstall irqs ever in normal operation, theevent handling code will filter them out, and the driver willjust enable/disable them at load time.This fixes timeouts we've been seeing on/off for a long time,but they became a lot more noticeable on Blackwell.This doesn't fix all of them, there is a subsequent fence emissionfix to fix the last few.Fixes: 3ebd64aa3c4f ("drm/nouveau/intr: support multiple trees, and explicit interfaces")Cc: stable@vger.kernel.orgSigned-off-by: Dave Airlie <airlied@redhat.com>Link: https://lore.kernel.org/r/20250829021633.1674524-1-airlied@gmail.com[ Fix a typo and a minor checkpatch.pl warning; remove "v2" from commit subject. - Danilo ]Signed-off-by: Danilo Krummrich <dakr@kernel.org>
show more ...
Merge drm-next-2025-05-28 into drm-misc-nextChristian needs a recent drm-next branch to merge fence patches.Signed-off-by: Maxime Ripard <mripard@kernel.org>
drm/nouveau: add support for GB20xThis commit adds support for the GB20x GPUs found on GeForce RTX 50xxseries boards.Beyond a few miscellaneous register moves and HW class ID plumbing,this reus
drm/nouveau: add support for GB20xThis commit adds support for the GB20x GPUs found on GeForce RTX 50xxseries boards.Beyond a few miscellaneous register moves and HW class ID plumbing,this reuses most of the code added to support GH100/GB10x.Signed-off-by: Ben Skeggs <bskeggs@nvidia.com>Reviewed-by: Dave Airlie <airlied@redhat.com>Reviewed-by: Timur Tabi <ttabi@nvidia.com>Tested-by: Timur Tabi <ttabi@nvidia.com>Signed-off-by: Dave Airlie <airlied@redhat.com>
drm/nouveau/gsp: add hal for fifo.chan.doorbell_handleThe doorbell register on GB20x GPUs has additional fields.Signed-off-by: Ben Skeggs <bskeggs@nvidia.com>Reviewed-by: Dave Airlie <airlied@re
drm/nouveau/gsp: add hal for fifo.chan.doorbell_handleThe doorbell register on GB20x GPUs has additional fields.Signed-off-by: Ben Skeggs <bskeggs@nvidia.com>Reviewed-by: Dave Airlie <airlied@redhat.com>Reviewed-by: Timur Tabi <ttabi@nvidia.com>Tested-by: Timur Tabi <ttabi@nvidia.com>Signed-off-by: Dave Airlie <airlied@redhat.com>
drm/nouveau: improve handling of 64-bit BARsGPUs exist now with a 64-bit BAR0, which mean that BAR1 and BAR2'sindices (as passed to pci_resource_len() etc) are bumped up by one.Modify nvkm_devic
drm/nouveau: improve handling of 64-bit BARsGPUs exist now with a 64-bit BAR0, which mean that BAR1 and BAR2'sindices (as passed to pci_resource_len() etc) are bumped up by one.Modify nvkm_device.resource_addr/size() to take an enum instead ofan integer bar index, and take IORESOURCE_MEM_64 into account whentranslating to the "raw" bar id.[airlied: fixup ERR_PTR]Signed-off-by: Ben Skeggs <bskeggs@nvidia.com>Reviewed-by: Dave Airlie <airlied@redhat.com>Reviewed-by: Timur Tabi <ttabi@nvidia.com>Tested-by: Timur Tabi <ttabi@nvidia.com>Signed-off-by: Dave Airlie <airlied@redhat.com>
drm/nouveau/gsp: move subdev/engine impls to subdev/gsp/rm/r535/Move all the remaining GSP-RM code together underneath a versioned path,to make the code easier to work with when adding support for
drm/nouveau/gsp: move subdev/engine impls to subdev/gsp/rm/r535/Move all the remaining GSP-RM code together underneath a versioned path,to make the code easier to work with when adding support for a newer RMversion.Aside from adjusting include paths, no code change is intended.Signed-off-by: Ben Skeggs <bskeggs@nvidia.com>Reviewed-by: Dave Airlie <airlied@redhat.com>Reviewed-by: Timur Tabi <ttabi@nvidia.com>Tested-by: Timur Tabi <ttabi@nvidia.com>Signed-off-by: Dave Airlie <airlied@redhat.com>
drm/nouveau/gsp: remove gsp-specific chid allocation pathIn order to specify a channel ID to RM during channel allocation, thechannel ID is broken down into a "userd page" index and an index into
drm/nouveau/gsp: remove gsp-specific chid allocation pathIn order to specify a channel ID to RM during channel allocation, thechannel ID is broken down into a "userd page" index and an index intothat page.It was assumed that RM would enforce that the same physical block ofmemory be used for all CHIDs within a "userd page", and the GSP pathsoverride NVKM's normal CHID allocation to handle this.However, none of that turns out to be necessary.Remove the GSP-specific code and use the regular CHID allocation path.Signed-off-by: Ben Skeggs <bskeggs@nvidia.com>Signed-off-by: Dave Airlie <airlied@redhat.com>
drm/nouveau/fifo: small cleanup in nvkm_chan_cctx_get()"&chan->cgrp->mutex" and "&cgrp->mutex" are the same thing. Use"&cgrp->mutex" consistently. It looks nicer and it silences aSmatch static
drm/nouveau/fifo: small cleanup in nvkm_chan_cctx_get()"&chan->cgrp->mutex" and "&cgrp->mutex" are the same thing. Use"&cgrp->mutex" consistently. It looks nicer and it silences aSmatch static checker warning.Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>Link: https://lore.kernel.org/r/aBHaCM66pXaP84ei@stanley.mountainSigned-off-by: Danilo Krummrich <dakr@kernel.org>
Merge tag 'drm-next-2024-01-15-1' of git://anongit.freedesktop.org/drm/drmPull drm fixes from Dave Airlie: "This is just a wrap up of fixes from the last few days. It has the proper fix to the i
Merge tag 'drm-next-2024-01-15-1' of git://anongit.freedesktop.org/drm/drmPull drm fixes from Dave Airlie: "This is just a wrap up of fixes from the last few days. It has the proper fix to the i915/xe collision, we can clean up what you did later once rc1 lands. Otherwise it's a few other i915, a v3d, rockchip and a nouveau fix to make GSP load on some original Turing GPUs. i915: - Fixes for kernel-doc warnings enforced in linux-next - Another build warning fix for string formatting of intel_wakeref_t - Display fixes for DP DSC BPC and C20 PLL state verification v3d: - register readout fix rockchip: - two build warning fixes nouveau: - fix GSP loading on Turing with different nvdec configuration"* tag 'drm-next-2024-01-15-1' of git://anongit.freedesktop.org/drm/drm: nouveau/gsp: handle engines in runl without nonstall interrupts. drm/i915/perf: reconcile Excess struct member kernel-doc warnings drm/i915/guc: reconcile Excess struct member kernel-doc warnings drm/i915/gt: reconcile Excess struct member kernel-doc warnings drm/i915/gem: reconcile Excess struct member kernel-doc warnings drm/i915/dp: Fix the max DSC bpc supported by source drm/i915: don't make assumptions about intel_wakeref_t type drm/i915/dp: Fix the PSR debugfs entries wrt. MST connectors drm/i915/display: Fix C20 pll selection for state verification drm/v3d: Fix support for register debugging on the RPi 4 drm/rockchip: vop2: Drop unused if_dclk_rate variable drm/rockchip: vop2: Drop superfluous include
nouveau/gsp: handle engines in runl without nonstall interrupts.It appears on TU106 GPUs (2070), that some of the nvdec enginesare in the runlist but have no valid nonstall interrupt, nouveaudidn
nouveau/gsp: handle engines in runl without nonstall interrupts.It appears on TU106 GPUs (2070), that some of the nvdec enginesare in the runlist but have no valid nonstall interrupt, nouveaudidn't handle that too well.This should let nouveau/gsp work on those.Cc: stable@vger.kernel.org # v6.7+Signed-off-by: Dave Airlie <airlied@redhat.com>Link: https://lore.kernel.org/all/20240110011826.3996289-1-airlied@gmail.com/
Merge tag 'drm-next-2024-01-10' of git://anongit.freedesktop.org/drm/drmPull drm updates from Dave Airlie: "This contains two major new drivers: - imagination is a first driver for Imagination
Merge tag 'drm-next-2024-01-10' of git://anongit.freedesktop.org/drm/drmPull drm updates from Dave Airlie: "This contains two major new drivers: - imagination is a first driver for Imagination Technologies devices, it only covers very specific devices, but there is hope to grow it - xe is a reboot of the i915 GPU (shares display) side using a more upstream focused development model, and trying to maximise code sharing. It's not enabled for any hw by default, and will hopefully get switched on for Intel's Lunarlake. This also drops a bunch of the old UMS ioctls. It's been dead long enough. amdgpu has a bunch of new color management code that is being used in the Steam Deck. amdgpu also has a new ACPI WBRF interaction to help avoid radio interference. Otherwise it's the usual lots of changes in lots of places. Detailed summary: new drivers: - imagination - new driver for Imagination Technologies GPU - xe - new driver for Intel GPUs using core drm concepts core: - add CLOSE_FB ioctl - remove old UMS ioctls - increase max objects to accomodate AMD color mgmt encoder: - create per-encoder debugfs directory edid: - split out drm_eld - SAD helpers - drop edid_firmware module parameter format-helper: - cache format conversion buffers sched: - move from kthread to workqueue - rename some internals - implement dynamic job-flow control gpuvm: - provide more features to handle GEM objects client: - don't acquire module reference displayport: - add mst path property documentation fdinfo: - alignment fix dma-buf: - add fence timestamp helper - add fence deadline support bridge: - transparent aux-bridge for DP/USB-C - lt8912b: add suspend/resume support and power regulator support panel: - edp: AUO B116XTN02, BOE NT116WHM-N21,836X2, NV116WHM-N49 - chromebook panel support - elida-kd35t133: rework pm - powkiddy RK2023 panel - himax-hx8394: drop prepare/unprepare and shutdown logic - BOE BP101WX1-100, Powkiddy X55, Ampire AM8001280G - Evervision VGG644804, SDC ATNA45AF01 - nv3052c: register docs, init sequence fixes, fascontek FS035VG158 - st7701: Anbernic RG-ARC support - r63353 panel controller - Ilitek ILI9805 panel controller - AUO G156HAN04.0 simplefb: - support memory regions - support power domains amdgpu: - add new 64-bit sequence number infrastructure - add AMD specific color management - ACPI WBRF support for RF interference handling - GPUVM updates - RAS updates - DCN 3.5 updates - Rework PCIe link speed handling - Document GPU reset types - DMUB fixes - eDP fixes - NBIO 7.9/7.11 updates - SubVP updates - XGMI PCIe state dumping for aqua vanjaram - GFX11 golden register updates - enable tunnelling on high pri compute amdkfd: - Migrate TLB flushing logic to amdgpu - Trap handler fixes - Fix restore workers handling on suspend/resume - Fix possible memory leak in pqm_uninit() - support import/export of dma-bufs using GEM handles radeon: - fix possible overflows in command buffer checking - check for errors in ring_lock i915: - reorg display code for reuse in xe driver - fdinfo memory stats printing - DP MST bandwidth mgmt improvements - DP panel replay enabling - MTL C20 phy state verification - MTL DP DSC fractional bpp support - Audio fastset support - use dma_fence interfaces instead of i915_sw_fence - Separate gem and display code - AUX register macro refactoring - Separate display module/device parameters - Move display capabilities debugfs under display - Makefile cleanups - Register cleanups - Move display lock inits under display/ - VLV/CHV DPIO PHY register and interface refactoring - DSI VBT sequence refactoring - C10/C20 PHY PLL hardware readout - DPLL code cleanups - Cleanup PXP plane protection checks - Improve display debug msgs - PSR selective fetch fixes/improvements - DP MST fixes - Xe2LPD FBC restrictions removed - DGFX uses direct VBT pin mapping - more MTL WAs - fix MTL eDP bug - eliminate use of kmap_atomic habanalabs: - sysfs entry to identify a device minor id with debugfs path - sysfs entry to expose device module id - add signed device info retrieval through INFO ioctl - add Gaudi2C device support - pcie reset prepare/done hooks msm: - Add support for SDM670, SM8650 - Handle the CFG interconnect to fix the obscure hangs / timeouts - Kconfig fix for QMP dependency - use managed allocators - DPU: SDM670, SM8650 support - DPU: Enable SmartDMA on SM8350 and SM8450 - DP: enable runtime PM support - GPU: add metadata UAPI - GPU: move devcoredumps to GPU device - GPU: convert to drm_exec ivpu: - update FW API - new debugfs file - a new NOP job submission test mode - improve suspend/resume - PM improvements - MMU PT optimizations - firmware profile frequency support - support for uncached buffers - switch to gem shmem helpers - replace kthread with threaded irqs rockchip: - rk3066_hdmi: convert to atomic - vop2: support nv20 and nv30 - rk3588 support mediatek: - use devm_platform_ioremap_resource - stop using iommu_present - MT8188 VDOSYS1 display support panfrost: - PM improvements - improve interrupt handling as poweroff qaic: - allow to run with single MSI - support host/device time sync - switch to persistent DRM devices exynos: - fix potential error pointer dereference - fix wrong error checking - add missing call to drm_atomic_helper_shutdown omapdrm: - dma-fence lockdep annotation fix tidss: - dma-fence lockdep annotation fix - support for AM62A7 v3d: - BCM2712 - rpi5 support - fdinfo + gputop support - uapi for CPU job handling virtio-gpu: - add context debug name"* tag 'drm-next-2024-01-10' of git://anongit.freedesktop.org/drm/drm: (2340 commits) drm/amd/display: Allow z8/z10 from driver drm/amd/display: fix bandwidth validation failure on DCN 2.1 drm/amdgpu: apply the RV2 system aperture fix to RN/CZN as well drm/amd/display: Move fixpt_from_s3132 to amdgpu_dm drm/amd/display: Fix recent checkpatch errors in amdgpu_dm Revert "drm/amdkfd: Relocate TBA/TMA to opposite side of VM hole" drm/amd/display: avoid stringop-overflow warnings for dp_decide_lane_settings() drm/amd/display: Fix power_helpers.c codestyle drm/amd/display: Fix hdcp_log.h codestyle drm/amd/display: Fix hdcp2_execution.c codestyle drm/amd/display: Fix hdcp_psp.h codestyle drm/amd/display: Fix freesync.c codestyle drm/amd/display: Fix hdcp_psp.c codestyle drm/amd/display: Fix hdcp1_execution.c codestyle drm/amd/pm/smu7: fix a memleak in smu7_hwmgr_backend_init drm/amdkfd: Fix iterator used outside loop in 'kfd_add_peer_prop()' drm/amdgpu: Drop 'fence' check in 'to_amdgpu_amdkfd_fence()' drm/amdkfd: Confirm list is non-empty before utilizing list_first_entry in kfd_topology.c drm/amdgpu: Fix '*fw' from request_firmware() not released in 'amdgpu_ucode_request()' drm/amdgpu: Fix variable 'mca_funcs' dereferenced before NULL check in 'amdgpu_mca_smu_get_mca_entry()' ...
nouveau/gsp: free userd allocation.This was being leaked.Signed-off-by: Dave Airlie <airlied@redhat.com>Link: https://patchwork.freedesktop.org/patch/msgid/20231222043308.3090089-6-airlied@gmail
nouveau/gsp: free userd allocation.This was being leaked.Signed-off-by: Dave Airlie <airlied@redhat.com>Link: https://patchwork.freedesktop.org/patch/msgid/20231222043308.3090089-6-airlied@gmail.com
Merge v6.7-rc3 into drm-nextThomas Zimermann needs 8d6ef26501 ("drm/ast: Disconnect BMC ifphysical connector is connected") for further ast work in -next.Minor conflicts in ivpu between 3de6d959
Merge v6.7-rc3 into drm-nextThomas Zimermann needs 8d6ef26501 ("drm/ast: Disconnect BMC ifphysical connector is connected") for further ast work in -next.Minor conflicts in ivpu between 3de6d9597892 ("accel/ivpu: Pass D0i3residency time to the VPU firmware") and 3f7c0634926d("accel/ivpu/37xx: Fix hangs related to MMIO reset") changing adjacentlines.Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drm/nouveau/fifo: Remove duplicated include in chan.c./drivers/gpu/drm/nouveau/nvkm/engine/fifo/chan.c: chid.h is included more than once.Reported-by: Abaci Robot <abaci@linux.alibaba.com>Closes
drm/nouveau/fifo: Remove duplicated include in chan.c./drivers/gpu/drm/nouveau/nvkm/engine/fifo/chan.c: chid.h is included more than once.Reported-by: Abaci Robot <abaci@linux.alibaba.com>Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=7603Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>Reviewed-by: Lyude Paul <lyude@redhat.com>Signed-off-by: Lyude Paul <lyude@redhat.com>Link: https://patchwork.freedesktop.org/patch/msgid/20231122004926.84933-1-yang.lee@linux.alibaba.com
nouveau/gsp: allocate enough space for all channel ids.This probably isn't the ideal fix, but we ended up using chidssparsely, and lots of things rely on indexing into the full range,so just allo
nouveau/gsp: allocate enough space for all channel ids.This probably isn't the ideal fix, but we ended up using chidssparsely, and lots of things rely on indexing into the full range,so just allocate the full range up front.The GSP code fixes 8 channels into a userd page, but we end up usinga single userd page per channel so end up sparsely using the range.Fixes a few crashes seen with multiple channels.Link: https://gitlab.freedesktop.org/drm/nouveau/-/issues/277Signed-off-by: Dave Airlie <airlied@redhat.com>Signed-off-by: Danilo Krummrich <dakr@redhat.com>Link: https://patchwork.freedesktop.org/patch/msgid/20231121201109.2988516-1-airlied@gmail.com
nouveau/gsp: move to 535.113.01This moves the initial effort to the latest 535 firmware.The gsp msg structs have changed, and the message passing also.The wpr also seems to have some struct chan
nouveau/gsp: move to 535.113.01This moves the initial effort to the latest 535 firmware.The gsp msg structs have changed, and the message passing also.The wpr also seems to have some struct changes.This version of the firmware will be what we are stuck on for a while,until we can refactor the driver and work out a better path forward.Reviewed-by: Danilo Krummrich <dakr@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>
nouveau: fix r535 build on 32-bit arm.This needs the proper division macros.Reviewed-by: Danilo Krummrich <dakr@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>Link: https://patchwork
nouveau: fix r535 build on 32-bit arm.This needs the proper division macros.Reviewed-by: Danilo Krummrich <dakr@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>Link: https://patchwork.freedesktop.org/patch/msgid/20231030012814.1208972-1-airlied@gmail.com
drm/nouveau/ofa/r535: initial supportAdds support for allocating OFA classes from RM.Signed-off-by: Ben Skeggs <bskeggs@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>Link: https://p
drm/nouveau/ofa/r535: initial supportAdds support for allocating OFA classes from RM.Signed-off-by: Ben Skeggs <bskeggs@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>Link: https://patchwork.freedesktop.org/patch/msgid/20230918202149.4343-45-skeggsb@gmail.com
drm/nouveau/nvjpg/r535: initial supportAdds support for allocating NVJPG classes from RM.Signed-off-by: Ben Skeggs <bskeggs@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>Link: https
drm/nouveau/nvjpg/r535: initial supportAdds support for allocating NVJPG classes from RM.Signed-off-by: Ben Skeggs <bskeggs@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>Link: https://patchwork.freedesktop.org/patch/msgid/20230918202149.4343-44-skeggsb@gmail.com
drm/nouveau/nvenc/r535: initial supportAdds support for allocating VIDEO_ENCODER classes from RM.Signed-off-by: Ben Skeggs <bskeggs@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>Lin
drm/nouveau/nvenc/r535: initial supportAdds support for allocating VIDEO_ENCODER classes from RM.Signed-off-by: Ben Skeggs <bskeggs@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>Link: https://patchwork.freedesktop.org/patch/msgid/20230918202149.4343-43-skeggsb@gmail.com
drm/nouveau/nvdec/r535: initial supportAdds support for allocating VIDEO_DECODER classes from RM.Signed-off-by: Ben Skeggs <bskeggs@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>Lin
drm/nouveau/nvdec/r535: initial supportAdds support for allocating VIDEO_DECODER classes from RM.Signed-off-by: Ben Skeggs <bskeggs@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>Link: https://patchwork.freedesktop.org/patch/msgid/20230918202149.4343-42-skeggsb@gmail.com
drm/nouveau/gr/r535: initial supportAdds support for allocating GR classes from RM.Signed-off-by: Ben Skeggs <bskeggs@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>Link: https://pat
drm/nouveau/gr/r535: initial supportAdds support for allocating GR classes from RM.Signed-off-by: Ben Skeggs <bskeggs@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>Link: https://patchwork.freedesktop.org/patch/msgid/20230918202149.4343-41-skeggsb@gmail.com
drm/nouveau/ce/r535: initial supportAdds support for allocating DMA_COPY classes from RM.Signed-off-by: Ben Skeggs <bskeggs@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>Link: https
drm/nouveau/ce/r535: initial supportAdds support for allocating DMA_COPY classes from RM.Signed-off-by: Ben Skeggs <bskeggs@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>Link: https://patchwork.freedesktop.org/patch/msgid/20230918202149.4343-40-skeggsb@gmail.com
drm/nouveau/fifo/r535: initial support- Adds support for allocating CHANNEL_GPFIFO classes from RM.Signed-off-by: Ben Skeggs <bskeggs@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>L
drm/nouveau/fifo/r535: initial support- Adds support for allocating CHANNEL_GPFIFO classes from RM.Signed-off-by: Ben Skeggs <bskeggs@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>Link: https://patchwork.freedesktop.org/patch/msgid/20230918202149.4343-39-skeggsb@gmail.com
drm/nouveau/fifo/tu102-: prepare for GSP-RM- (temporarily) disable if GSP-RM detected, will be added later- add dtor() so GSP-RM paths can cleanup properly- add alternate engine context mapping i
drm/nouveau/fifo/tu102-: prepare for GSP-RM- (temporarily) disable if GSP-RM detected, will be added later- add dtor() so GSP-RM paths can cleanup properly- add alternate engine context mapping interface for RM engines- add alternate chid interfaces to handle RM USERD odditiesSigned-off-by: Ben Skeggs <bskeggs@redhat.com>Signed-off-by: Dave Airlie <airlied@redhat.com>Link: https://patchwork.freedesktop.org/patch/msgid/20230918202149.4343-26-skeggsb@gmail.com
1234567891011