On Fri, Nov 15, 2019 at 03:54:17PM -0500, Lyude Paul wrote: > On Fri, 2019-11-15 at 22:25 +0200, Ville Syrjälä wrote: > > On Fri, Nov 15, 2019 at 12:04:30PM -0800, José Roberto de Souza wrote: > > > When the connector has VCPI allocated and is being moved to another > > > pipe it causes drm_dp_atomic_release_vcpi_slots() and > > > drm_dp_atomic_find_vcpi_slots() to be called in the same atomic check > > > causing the error bellow. > > > This happens because at this point Intel's hw.enable(and all other > > > flags in the same struct) is not set but checking to on the uapi one > > > it have the expected value. > > > > > > [ 580.804430] ------------[ cut here ]------------ > > > [ 580.804436] WARNING: CPU: 0 PID: 1221 at > > > drivers/gpu/drm/drm_dp_mst_topology.c:4094 > > > drm_dp_atomic_find_vcpi_slots+0x157/0x180 > > > [ 580.804439] Modules linked in: cdc_ether r8152 i915 prime_numbers > > > snd_hda_codec_hdmi snd_hda_intel snd_intel_dspcfg snd_hda_codec snd_hwdep > > > asix snd_hda_core x86_pkg_temp_thermal usbnet mei_hdcp coretemp mii mei_me > > > crct10dif_pclmul snd_pcm crc32_pclmul mei ghash_clmulni_intel i2c_i801 > > > [last unloaded: prime_numbers] > > > [ 580.804462] CPU: 0 PID: 1221 Comm: kworker/0:0 Tainted: > > > G W 5.4.0-rc7-zeh+ #1226 > > > [ 580.804465] Hardware name: Intel Corporation Tiger Lake Client > > > Platform/TigerLake U DDR4 SODIMM RVP, BIOS > > > TGLSFWI1.D00.2321.A09.1909250226 09/25/2019 > > > [ 580.804470] Workqueue: events output_poll_execute > > > [ 580.804476] RIP: 0010:drm_dp_atomic_find_vcpi_slots+0x157/0x180 > > > [ 580.804481] Code: 6a ff ff ff 49 89 6d 08 4c 89 6b 10 4c 89 63 18 49 89 > > > 6e 08 e9 55 ff ff ff 41 89 c7 5b 5d 44 89 f8 41 5c 41 5d 41 5e 41 5f c3 > > > <0f> 0b 48 c7 c7 08 73 11 82 48 89 ee 41 bf ea ff ff ff e8 b2 e3 02 > > > [ 580.804484] RSP: 0018:ffffc900009b7ab8 EFLAGS: 00010246 > > > [ 580.804488] RAX: ffff88848c04ef50 RBX: ffff88848c04ef40 RCX: > > > 0000000000000214 > > > [ 580.804492] RDX: ffff88848c04f5e0 RSI: ffff888486eb2c68 RDI: > > > ffff88848e518800 > > > [ 580.804495] RBP: ffff88849d339000 R08: 00000000bc4e1092 R09: > > > 0000000000000000 > > > [ 580.804498] R10: 0000000000000000 R11: 0000000000000000 R12: > > > ffff88848c04e728 > > > [ 580.804501] R13: 0000000000000214 R14: ffff88848c04e720 R15: > > > ffff888486eb2c68 > > > [ 580.804504] FS: 0000000000000000(0000) GS:ffff8884a0000000(0000) > > > knlGS:0000000000000000 > > > [ 580.804507] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > > > [ 580.804510] CR2: 00007ff6bf1ba680 CR3: 0000000005210003 CR4: > > > 0000000000760ef0 > > > [ 580.804512] PKRU: 55555554 > > > [ 580.804515] Call Trace: > > > [ 580.804574] intel_dp_mst_compute_config+0x193/0x2b0 [i915] > > > [ 580.804636] intel_atomic_check+0x10cc/0x20b0 [i915] > > > [ 580.804644] ? drm_atomic_print_old_state+0xf1/0x130 > > > [ 580.804655] drm_atomic_check_only+0x56a/0x810 > > > [ 580.804663] drm_atomic_commit+0xe/0x50 > > > [ 580.804668] drm_client_modeset_commit_atomic+0x18b/0x220 > > > [ 580.804680] drm_client_modeset_commit_force+0x4d/0x180 > > > [ 580.804685] drm_fb_helper_restore_fbdev_mode_unlocked+0x46/0xa0 > > > [ 580.804689] drm_fb_helper_set_par+0x27/0x50 > > > [ 580.804692] drm_fb_helper_hotplug_event.part.0+0xa7/0xc0 > > > [ 580.804696] drm_kms_helper_hotplug_event+0x21/0x30 > > > [ 580.804699] output_poll_execute+0x1a4/0x1c0 > > > [ 580.804706] process_one_work+0x25b/0x5b0 > > > [ 580.804713] worker_thread+0x4b/0x3b0 > > > [ 580.804720] kthread+0x100/0x140 > > > [ 580.804723] ? process_one_work+0x5b0/0x5b0 > > > [ 580.804725] ? kthread_park+0x80/0x80 > > > [ 580.804730] ret_from_fork+0x24/0x50 > > > [ 580.804740] irq event stamp: 40988 > > > [ 580.804743] hardirqs last enabled at (40987): [<ffffffff81128567>] > > > console_unlock+0x437/0x590 > > > [ 580.804746] hardirqs last disabled at (40988): [<ffffffff81001cfa>] > > > trace_hardirqs_off_thunk+0x1a/0x20 > > > [ 580.804749] softirqs last enabled at (40972): [<ffffffff81c00389>] > > > __do_softirq+0x389/0x47f > > > [ 580.804752] softirqs last disabled at (40959): [<ffffffff810b6f19>] > > > irq_exit+0xa9/0xc0 > > > [ 580.804754] ---[ end trace 80052e0c60463c67 ]--- > > > [ 580.804758] [drm:drm_dp_atomic_find_vcpi_slots] *ERROR* cannot allocate > > > and release VCPI on [MST PORT:000000007880692e] in the same state > > > [ 580.811370] [drm:intel_dp_hpd_pulse [i915]] got esi2 02 00 00 > > > [ 580.817239] [drm:intel_dp_hpd_pulse [i915]] got esi 02 00 00 > > > [ 580.817313] ------------[ cut here ]------------ > > > [ 580.817318] WARNING: CPU: 0 PID: 1221 at > > > drivers/gpu/drm/drm_dp_mst_topology.c:4094 > > > drm_dp_atomic_find_vcpi_slots+0x157/0x180 > > > [ 580.817321] Modules linked in: cdc_ether r8152 i915 prime_numbers > > > snd_hda_codec_hdmi snd_hda_intel snd_intel_dspcfg snd_hda_codec snd_hwdep > > > asix snd_hda_core x86_pkg_temp_thermal > > > [ 580.817412] [drm:intel_dp_hpd_pulse [i915]] got hpd irq on > > > [ENCODER:306:DDI E] - short > > > [ 580.817413] usbnet mei_hdcp coretemp mii mei_me crct10dif_pclmul > > > snd_pcm crc32_pclmul > > > [ 580.817490] [drm:intel_dp_hpd_pulse [i915]] is_mst > > > [ 580.817491] mei ghash_clmulni_intel i2c_i801 [last unloaded: > > > prime_numbers] > > > [ 580.817498] CPU: 0 PID: 1221 Comm: kworker/0:0 Tainted: > > > G W 5.4.0-rc7-zeh+ #1226 > > > [ 580.817503] Hardware name: Intel Corporation Tiger Lake Client > > > Platform/TigerLake U DDR4 SODIMM RVP, BIOS > > > TGLSFWI1.D00.2321.A09.1909250226 09/25/2019 > > > [ 580.817506] Workqueue: events output_poll_execute > > > [ 580.817511] RIP: 0010:drm_dp_atomic_find_vcpi_slots+0x157/0x180 > > > [ 580.817514] Code: 6a ff ff ff 49 89 6d 08 4c 89 6b 10 4c 89 63 18 49 89 > > > 6e 08 e9 55 ff ff ff 41 89 c7 5b 5d 44 89 f8 41 5c 41 5d 41 5e 41 5f c3 > > > <0f> 0b 48 c7 c7 08 73 11 82 48 89 ee 41 bf ea ff ff ff e8 b2 e3 02 > > > [ 580.817516] RSP: 0018:ffffc900009b7ab8 EFLAGS: 00010246 > > > [ 580.817519] RAX: ffff88848c04ef50 RBX: ffff88848c04ef40 RCX: > > > 000000000000018f > > > [ 580.817521] RDX: ffff88848c04f5e0 RSI: ffff888486eb2c68 RDI: > > > ffff88848e518800 > > > [ 580.817523] RBP: ffff88849d339000 R08: 00000000bc4e1092 R09: > > > 0000000000000000 > > > [ 580.817525] R10: 0000000000000000 R11: 0000000000000000 R12: > > > ffff88848c04e728 > > > [ 580.817528] R13: 000000000000018f R14: ffff88848c04e720 R15: > > > ffff888486eb2c68 > > > [ 580.817532] FS: 0000000000000000(0000) GS:ffff8884a0000000(0000) > > > knlGS:0000000000000000 > > > [ 580.817534] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > > > [ 580.817535] CR2: 00007ff6bf1ba680 CR3: 0000000005210003 CR4: > > > 0000000000760ef0 > > > [ 580.817537] PKRU: 55555554 > > > [ 580.817538] Call Trace: > > > [ 580.817620] intel_dp_mst_compute_config+0x193/0x2b0 [i915] > > > [ 580.817690] intel_atomic_check+0x10cc/0x20b0 [i915] > > > [ 580.817697] ? drm_atomic_print_old_state+0xf1/0x130 > > > [ 580.817711] drm_atomic_check_only+0x56a/0x810 > > > [ 580.817721] drm_atomic_commit+0xe/0x50 > > > [ 580.817726] drm_client_modeset_commit_atomic+0x18b/0x220 > > > [ 580.817744] drm_client_modeset_commit_force+0x4d/0x180 > > > [ 580.817751] drm_fb_helper_restore_fbdev_mode_unlocked+0x46/0xa0 > > > [ 580.817756] drm_fb_helper_set_par+0x27/0x50 > > > [ 580.817762] drm_fb_helper_hotplug_event.part.0+0xa7/0xc0 > > > [ 580.817767] drm_kms_helper_hotplug_event+0x21/0x30 > > > [ 580.817771] output_poll_execute+0x1a4/0x1c0 > > > [ 580.817780] process_one_work+0x25b/0x5b0 > > > [ 580.817791] worker_thread+0x4b/0x3b0 > > > [ 580.817800] kthread+0x100/0x140 > > > [ 580.817804] ? process_one_work+0x5b0/0x5b0 > > > [ 580.817807] ? kthread_park+0x80/0x80 > > > [ 580.817813] ret_from_fork+0x24/0x50 > > > [ 580.817832] irq event stamp: 41028 > > > [ 580.817838] hardirqs last enabled at (41027): [<ffffffff81128567>] > > > console_unlock+0x437/0x590 > > > [ 580.817841] hardirqs last disabled at (41028): [<ffffffff81001cfa>] > > > trace_hardirqs_off_thunk+0x1a/0x20 > > > [ 580.817846] softirqs last enabled at (41022): [<ffffffff81c00389>] > > > __do_softirq+0x389/0x47f > > > [ 580.817851] softirqs last disabled at (41013): [<ffffffff810b6f19>] > > > irq_exit+0xa9/0xc0 > > > [ 580.817854] ---[ end trace 80052e0c60463c68 ]--- > > > [ 580.817858] [drm:drm_dp_atomic_find_vcpi_slots] *ERROR* cannot allocate > > > and release VCPI on [MST PORT:000000007880692e] in the same state > > > [ 580.830767] [drm:intel_dp_mst_compute_config [i915]] failed finding > > > vcpi slots:-22 > > > [ 580.830821] [drm:intel_atomic_check [i915]] Encoder config failure: -22 > > > > > > Cc: Lyude Paul <lyude@xxxxxxxxxx> > > > Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > > > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > > Cc: Lucas De Marchi <lucas.demarchi@xxxxxxxxx> > > > Signed-off-by: José Roberto de Souza <jose.souza@xxxxxxxxx> > > > --- > > > drivers/gpu/drm/i915/display/intel_dp_mst.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c > > > b/drivers/gpu/drm/i915/display/intel_dp_mst.c > > > index 9fc606c6dbee..f8a350359346 100644 > > > --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c > > > +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c > > > @@ -191,7 +191,7 @@ intel_dp_mst_atomic_check(struct drm_connector > > > *connector, > > > > > > if (!crtc_state || > > > !drm_atomic_crtc_needs_modeset(&crtc_state->uapi) || > > > - crtc_state->hw.enable) > > > + crtc_state->uapi.enable) > > > > Yeah, I already mentioned this during the review but I guess it slipped > > through. We may have to spend more brain cells on this stuff for > > bigjoiner but let's at least try not to break everything else in the > > meantime. > > Bigjoiner? Two pipes feeding a single port. The whole reason why we now get to deal with this hw vs. uapi stuff. > > > > Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > > > > return 0; > > > } > > > > > > -- > > > 2.24.0 > -- > Cheers, > Lyude Paul -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx