NACK/Cmnt: [PATCH 1/1][SRU][G] drm/i915: Fix encoder lookup during PSR atomic check

Koba Ko koba.ko at canonical.com
Tue Nov 3 11:06:54 UTC 2020


Sure, will SRU at one submission.

On Tue, Nov 3, 2020, 6:51 PM Stefan Bader <stefan.bader at canonical.com>
wrote:

> On 03.11.20 04:26, Koba Ko wrote:
> > From: Imre Deak <imre.deak at intel.com>
> >
> > BugLink: https://bugs.launchpad.net/bugs/1902469
> >
> > The atomic check hooks must look up the encoder to be used with a
> > connector from the connector's atomic state, and not assume that it's
> > the connector's current attached encoder. The latter one can change
> > under the atomic check func, or can be unset yet as in the case of MST
> > connectors.
> >
> > This fixes
> > [    7.940719] Oops: 0000 [#1] SMP NOPTI
> > [    7.944407] CPU: 2 PID: 143 Comm: kworker/2:2 Not tainted
> 5.6.0-1023-oem #23-Ubuntu
> > [    7.952102] Hardware name: Dell Inc. Latitude 7320/, BIOS 88.87.11
> 09/07/2020
> > [    7.959278] Workqueue: events output_poll_execute [drm_kms_helper]
> > [    7.965511] RIP: 0010:intel_psr_atomic_check+0x37/0xa0 [i915]
> > [    7.971327] Code: 80 2d 06 00 00 20 74 42 80 b8 34 71 00 00 00 74 39
> 48 8b 72 08 48 85 f6 74 30 80 b8 f8 71 00 00 00 74 27 4c 8b 87 80 04 00 00
> <41> 8b 78 78 83 ff 08 77 19 31 c9 83 ff 05 77 19 48 81 c1 20 01 00
> > [    7.977541] input: PS/2 Generic Mouse as
> /devices/platform/i8042/serio1/input/input5
> > [    7.990154] RSP: 0018:ffffb864c073fac8 EFLAGS: 00010202
> > [    7.990155] RAX: ffff8c5d55ce0000 RBX: ffff8c5d54519000 RCX:
> 0000000000000000
> > [    7.990155] RDX: ffff8c5d55cb30c0 RSI: ffff8c5d89a0c800 RDI:
> ffff8c5d55fcf800
> > [    7.990156] RBP: ffffb864c073fac8 R08: 0000000000000000 R09:
> ffff8c5d55d9f3a0
> > [    7.990156] R10: ffff8c5d55cb30c0 R11: 0000000000000009 R12:
> ffff8c5d55fcf800
> > [    7.990156] R13: ffff8c5d55cb30c0 R14: ffff8c5d56989cc0 R15:
> ffff8c5d56989cc0
> > [    7.990158] FS:  0000000000000000(0000) GS:ffff8c5d8e480000(0000)
> knlGS:0000000000000000
> > [    8.047193] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > [    8.052970] CR2: 0000000000000078 CR3: 0000000856500005 CR4:
> 0000000000760ee0
> > [    8.060137] PKRU: 55555554
> > [    8.062867] Call Trace:
> > [    8.065361]  intel_digital_connector_atomic_check+0x53/0x130 [i915]
> > [    8.071703]  intel_dp_mst_atomic_check+0x5b/0x200 [i915]
> > [    8.077074]  drm_atomic_helper_check_modeset+0x1db/0x790
> [drm_kms_helper]
> > [    8.083942]  intel_atomic_check+0x92/0xc50 [i915]
> > [    8.088705]  ? drm_plane_check_pixel_format+0x4f/0xb0 [drm]
> > [    8.094345]  ? drm_atomic_plane_check+0x7a/0x3a0 [drm]
> > [    8.099548]  drm_atomic_check_only+0x2b1/0x450 [drm]
> > [    8.104573]  drm_atomic_commit+0x18/0x50 [drm]
> > [    8.109070]  drm_client_modeset_commit_atomic+0x1c9/0x200 [drm]
> > [    8.115056]  drm_client_modeset_commit_force+0x55/0x160 [drm]
> > [    8.120866]  drm_fb_helper_restore_fbdev_mode_unlocked+0x54/0xb0
> [drm_kms_helper]
> > [    8.128415]  drm_fb_helper_set_par+0x34/0x50 [drm_kms_helper]
> > [    8.134225]  drm_fb_helper_hotplug_event.part.0+0xb4/0xe0
> [drm_kms_helper]
> > [    8.141150]  drm_fb_helper_hotplug_event+0x1c/0x30 [drm_kms_helper]
> > [    8.147481]  intel_fbdev_output_poll_changed+0x6f/0xa0 [i915]
> > [    8.153287]  drm_kms_helper_hotplug_event+0x2c/0x40 [drm_kms_helper]
> > [    8.159709]  output_poll_execute+0x1aa/0x1c0 [drm_kms_helper]
> > [    8.165506]  process_one_work+0x1e8/0x3b0
> > [    8.169561]  worker_thread+0x4d/0x400
> > [    8.173249]  kthread+0x104/0x140
> > [    8.176515]  ? process_one_work+0x3b0/0x3b0
> > [    8.180726]  ? kthread_park+0x90/0x90
> > [    8.184416]  ret_from_fork+0x1f/0x40
> >
> > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2361
> > References: https://gitlab.freedesktop.org/drm/intel/-/issues/2486
> > Reported-by: William Tseng <william.tseng at intel.com>
> > Reported-by: Cooper Chiou <cooper.chiou at intel.com>
> > Cc: <stable at vger.kernel.org>
> > Signed-off-by: Imre Deak <imre.deak at intel.com>
> > Reviewed-by: Anshuman Gupta <anshuman.gupta at intel.com>
> > Link:
> https://patchwork.freedesktop.org/patch/msgid/20201027160928.3665377-1-imre.deak@intel.com
> > (cherry picked from commit 00e5deb5c4f5fe367311465e720e65cfa1178792)
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> > (cherry picked from commit b5bc1f05f631127901dca1898482bb0047002c11
> > drmtip)
> > Signed-off-by: Koba Ko <koba.ko at canonical.com>
> > ---
>
> Sorry for the bother but could you do the one for all submission as
>
> [SRU G/F + F/oem-5.6]
>
> and while at it... it seems this landed in linux-next, so you could update
> the
> cherry pick line:
>
> commit db43db0ac9caa711a9060a9a7c62c232cd4d2bd0
> Author: Imre Deak <imre.deak at intel.com>
> Date:   Tue Oct 27 18:09:28 2020 +0200
>
>     drm/i915: Fix encoder lookup during PSR atomic check
>
> >  drivers/gpu/drm/i915/display/intel_psr.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> b/drivers/gpu/drm/i915/display/intel_psr.c
> > index d796c8105251..eb9ae40492eb 100644
> > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > @@ -1630,8 +1630,8 @@ void intel_psr_atomic_check(struct drm_connector
> *connector,
> >               return;
> >
> >       intel_connector = to_intel_connector(connector);
> > -     dig_port =
> enc_to_dig_port(intel_attached_encoder(intel_connector));
> > -     if (!dig_port || dev_priv->psr.dp != &dig_port->dp)
> > +     dig_port =
> enc_to_dig_port(to_intel_encoder(new_state->best_encoder));
> > +     if (dev_priv->psr.dp != &dig_port->dp)
> >               return;
> >
> >       crtc_state = drm_atomic_get_new_crtc_state(new_state->state,
> >
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20201103/af0ef75f/attachment.html>


More information about the kernel-team mailing list