✓ CI.checkpatch: success for drm/xe: Use xe_pm_runtime_get() in xe_ggtt_remove_node()

Patchwork patchwork at emeril.freedesktop.org
Thu Jul 11 20:26:30 UTC 2024


== Series Details ==

Series: drm/xe: Use xe_pm_runtime_get() in xe_ggtt_remove_node()
URL   : https://patchwork.freedesktop.org/series/136012/
State : success

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
51ce9f6cd981d42d7467409d7dbc559a450abc1e
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 4a9e2f83b754bea2d62c0eb289111737758e478d
Author: José Roberto de Souza <jose.souza at intel.com>
Date:   Thu Jul 11 13:00:31 2024 -0700

    drm/xe: Use xe_pm_runtime_get() in xe_ggtt_remove_node()
    
    I don't see a relationship between drm_dev_enter() and pm_runtime.
    A plugged device could still no one holding a PM refcount.
    
    And this is being triggered from ttm_bo_delayed_delete() and I can't
    see no one in the call chain getting a runtime pm before
    xe_ggtt_remove_node(), so here replacing xe_pm_runtime_get_noresume()
    by xe_pm_runtime_get().
    
    This change probably will fix the kernel OOPS below:
    
    ------------[ cut here ]------------
    xe 0000:4d:00.0: [drm] Missing outer runtime PM protection
    WARNING: CPU: 100 PID: 3524 at drivers/gpu/drm/xe/xe_pm.c:551 xe_pm_runtime_get_noresume+0x48/0x60 [xe]
    Modules linked in: snd_hda_intel snd_intel_dspcfg snd_hda_codec snd_hwdep snd_hda_core snd_pcm snd_timer snd soundcore mei_gsc xe drm_gpuvm video drm_ttm_helper ttm gpu_sched drm_suballoc_helper drm_exec drm_display_helper drm_kunit_helpers kunit drm_buddy intel_rapl_msr intel_rapl_common cmdlinepart spi_nor mtd intel_uncore_frequency intel_uncore_frequency_common i10nm_edac nls_iso8859_1 nfit x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm crct10dif_pclmul crc32_pclmul polyval_clmulni polyval_generic ghash_clmulni_intel sha512_ssse3 sha256_ssse3 sha1_ssse3 aesni_intel crypto_simd cryptd rndis_host ast cdc_ether i2c_algo_bit dm_multipath dax_hmem i40e ixgbe scsi_dh_rdac drm_shmem_helper usbnet mei_me cxl_acpi scsi_dh_emc rapl scsi_dh_alua mii drm_kms_helper intel_cstate mdio cxl_core e1000e libie efi_pstore i2c_i801 intel_pch_thermal spi_intel_pci mei isst_if_mbox_pci i2c_smbus isst_if_mmio spi_intel isst_if_common intel_th_gth intel_th_pci ipmi_ssif ioatdma intel_vsec intel_th dca wmi ipmi_si
     acpi_power_meter acpi_ipmi ipmi_devintf acpi_pad ipmi_msghandler mac_hid sch_fq_codel msr parport_pc ppdev lp parport drm ip_tables x_tables autofs4
    CPU: 100 PID: 3524 Comm: kworker/u580:4 Not tainted 6.10.0-rc5-xe #1
    Hardware name: Intel Corporation WHITLEY/WHITLEY, BIOS SE5C6200.86B.0027.P15.2205121306 05/12/2022
    Workqueue: ttm ttm_bo_delayed_delete [ttm]
    RIP: 0010:xe_pm_runtime_get_noresume+0x48/0x60 [xe]
    Code: cc cc cc 48 8b 7b 08 4c 8b 67 50 4d 85 e4 75 03 4c 8b 27 e8 aa bd f4 e0 4c 89 e2 48 c7 c7 d8 1a 03 a1 48 89 c6 e8 08 b7 32 e0 <0f> 0b 48 8b 43 08 f0 ff 80 f8 02 00 00 5b 41 5c 5d c3 cc cc cc cc
    RSP: 0000:ffa00000225afc00 EFLAGS: 00010282
    RAX: 0000000000000000 RBX: ff1100014c510000 RCX: 0000000000000027
    RDX: 0000000000000027 RSI: 0000000000000000 RDI: ff1100103fe31a48
    RBP: ffa00000225afc10 R08: 0000000000000001 R09: 0000000000000000
    R10: 0000000000000001 R11: 632da25ec9e647d2 R12: ff1100011d93b710
    R13: ff1100016cf6c448 R14: 0000000000000001 R15: ff1100014c510000
    FS:  0000000000000000(0000) GS:ff1100103fe00000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 00007f4d34e18198 CR3: 000000000aa54006 CR4: 0000000000771ef0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    PKRU: 55555554
    Call Trace:
     <TASK>
     ? show_regs+0x67/0x70
     ? __warn+0x94/0x1b0
     ? xe_pm_runtime_get_noresume+0x48/0x60 [xe]
     ? report_bug+0x1b7/0x1d0
     ? handle_bug+0x46/0x80
     ? exc_invalid_op+0x19/0x70
     ? asm_exc_invalid_op+0x1b/0x20
     ? xe_pm_runtime_get_noresume+0x48/0x60 [xe]
     xe_ggtt_remove_node+0x99/0x110 [xe]
     xe_ggtt_remove_bo+0x59/0x1d0 [xe]
     ? _raw_write_unlock+0x23/0x50
     ? drm_vma_offset_remove+0x66/0x80 [drm]
     xe_ttm_bo_destroy+0x135/0x230 [xe]
     ttm_bo_release+0x6e/0x320 [ttm]
     ttm_bo_delayed_delete+0x82/0xa0 [ttm]
     process_scheduled_works+0x3aa/0x750
     worker_thread+0x14f/0x2f0
     ? __pfx_worker_thread+0x10/0x10
     kthread+0xf5/0x130
     ? __pfx_kthread+0x10/0x10
     ret_from_fork+0x39/0x60
     ? __pfx_kthread+0x10/0x10
     ret_from_fork_asm+0x1a/0x30
     </TASK>
    irq event stamp: 26249
    hardirqs last  enabled at (26255): [<ffffffff811b8f51>] vprintk_emit+0x351/0x360
    hardirqs last disabled at (26260): [<ffffffff811b8f33>] vprintk_emit+0x333/0x360
    softirqs last  enabled at (25326): [<ffffffff810f04bf>] handle_softirqs+0x30f/0x430
    softirqs last disabled at (25319): [<ffffffff810f0e09>] irq_exit_rcu+0x89/0xb0
    ---[ end trace 0000000000000000 ]---
    
    Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
    Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
+ /mt/dim checkpatch 3ec725ffa5a11587ef9a6a3b8a9f9b3bad05aae1 drm-intel
4a9e2f83b754 drm/xe: Use xe_pm_runtime_get() in xe_ggtt_remove_node()




More information about the Intel-xe mailing list