intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: "Shaikh, Azhar" <azhar.shaikh@intel.com>
Cc: "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH v8] drm/i915: Fix assert_plane() warning on bootup with external display
Date: Thu, 19 Jul 2018 23:22:57 +0300	[thread overview]
Message-ID: <20180719202257.GJ5565@intel.com> (raw)
In-Reply-To: <5FFFAD06ADE1CA4381B3F0F7C6AF5828093C194F@ORSMSX109.amr.corp.intel.com>

On Thu, Jul 19, 2018 at 08:03:42PM +0000, Shaikh, Azhar wrote:
> 
> 
> >-----Original Message-----
> >From: Shaikh, Azhar
> >Sent: Friday, July 6, 2018 11:38 AM
> >To: intel-gfx@lists.freedesktop.org
> >Cc: ville.syrjala@linux.intel.com; Navare, Manasi D
> ><manasi.d.navare@intel.com>; Shaikh, Azhar <azhar.shaikh@intel.com>
> >Subject: [PATCH v8] drm/i915: Fix assert_plane() warning on bootup with
> >external display
> >
> >On KBL, WHL RVPs, booting up with an external display connected, triggers
> >below warning, when the BiOS brings up the external display too.
> >This warning is not seen during hotplug.
> >
> >[    3.615226] ------------[ cut here ]------------
> >[    3.619829] plane 1A assertion failure (expected on, current off)
> >[    3.632039] WARNING: CPU: 2 PID: 354 at
> >drivers/gpu/drm/i915/intel_display.c:1294 assert_plane+0x71/0xbb
> >[    3.633920] iwlwifi 0000:00:14.3: loaded firmware version 38.c0e03d94.0
> >op_mode iwlmvm
> >[    3.647157] Modules linked in: iwlwifi cfg80211 btusb btrtl btbcm btintel
> >bluetooth ecdh_generic
> >[    3.647163] CPU: 2 PID: 354 Comm: frecon Not tainted 4.17.0-rc7-50176-
> >g655af12d39c2 #3
> >[    3.647165] Hardware name: Intel Corporation CoffeeLake Client
> >Platform/WhiskeyLake U DDR4 ERB, BIOS
> >CNLSFWR1.R00.X140.B00.1804040304 04/04/2018
> >[    3.684509] RIP: 0010:assert_plane+0x71/0xbb
> >[    3.764451] Call Trace:
> >[    3.766888]  intel_atomic_commit_tail+0xa97/0xb77
> >[    3.771569]  intel_atomic_commit+0x26a/0x279
> >[    3.771572]  drm_atomic_helper_set_config+0x5c/0x76
> >[    3.780670]  __drm_mode_set_config_internal+0x66/0x109
> >[    3.780672]  drm_mode_setcrtc+0x4c9/0x5cc
> >[    3.780674]  ? drm_mode_getcrtc+0x162/0x162
> >[    3.789774]  ? drm_mode_getcrtc+0x162/0x162
> >[    3.798108]  drm_ioctl_kernel+0x8d/0xe4
> >[    3.801926]  drm_ioctl+0x27d/0x368
> >[    3.805311]  ? drm_mode_getcrtc+0x162/0x162
> >[    3.805314]  ? selinux_file_ioctl+0x14e/0x199
> >[    3.805317]  vfs_ioctl+0x21/0x2f
> >[    3.813812]  do_vfs_ioctl+0x491/0x4b4
> >[    3.813813]  ? security_file_ioctl+0x37/0x4b
> >[    3.813816]  ksys_ioctl+0x55/0x75
> >[    3.820672]  __x64_sys_ioctl+0x1a/0x1e
> >[    3.820674]  do_syscall_64+0x51/0x5f
> >[    3.820678]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
> >[    3.828221] RIP: 0033:0x7b5e04953967
> >[    3.835504] RSP: 002b:00007fff2eafb6f8 EFLAGS: 00000246 ORIG_RAX:
> >0000000000000010
> >[    3.835505] RAX: ffffffffffffffda RBX: 0000000000000002 RCX:
> >00007b5e04953967
> >[    3.835505] RDX: 00007fff2eafb730 RSI: 00000000c06864a2 RDI:
> >000000000000000f
> >[    3.835506] RBP: 00007fff2eafb720 R08: 0000000000000000 R09:
> >0000000000000000
> >[    3.835507] R10: 0000000000000070 R11: 0000000000000246 R12:
> >000000000000000f
> >[    3.879988] R13: 000056bc9dd7d210 R14: 00007fff2eafb730 R15:
> >00000000c06864a2
> >[    3.887081] Code: 48 c7 c7 06 71 a5 be 84 c0 48 c7 c2 06 fd a3 be 48 89 f9 48 0f
> >44 ca 84 db 48 0f 45 d7 48 c7 c7 df d3 a4 be 31 c0 e8 af a0 c0 ff <0f> 0b eb 2b 48
> >c7 c7 06 fd a3 be 84 c0 48 c7 c2 06 71 a5 be 48
> >[    3.905845] WARNING: CPU: 2 PID: 354 at
> >drivers/gpu/drm/i915/intel_display.c:1294 assert_plane+0x71/0xbb
> >[    3.920964] ---[ end trace dac692f4ac46391a ]---
> >
> >The warning is seen when mode_setcrtc() is called for pipeB during bootup
> >and before we get a mode_setcrtc() for pipeA, while doing update_crtcs() in
> >intel_atomic_commit_tail().
> >Now since, plane1A is still active after commit, update_crtcs() is done for
> >pipeA and eventually update_plane() for plane1A.
> >
> >intel_plane_state->ctl for plane1A is not updated since set_modecrtc() is
> >called for pipeB. So intel_plane_state->ctl for plane 1A will be 0x0.
> >So doing an update_plane() for plane1A, will result in clearing
> >PLANE_CTL_ENABLE bit, and hence the warning.
> >
> >To fix this warning, force all active planes to recompute their states in probe.
> >
> >Changes in v8:
> >- Actually add Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> >Changes in v7:
> >- Move call to intel_initial_commit() after sanitize_watermarks()
> >  Otherwise the plane update will still consult potentially bogus
> >  watermarks we read out from the hardware. (Ville)
> >- Carry Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >  from v6
> >
> >Changes in v6:
> >- Handle EDEADLK for drm_atomic_get_crtc_state() and
> >  drm_atomic_add_affected_planes()
> >- Remove optimization of calling intel_initial_commit()
> >  only when there is more than one active pipe in probe.
> >- Avoid using intel_ types.
> >
> >Changes in v5:
> >- Drop drm_modeset_lock_all_ctx() since locks will be taken later.
> >
> >Changes in v4:
> >- Handle locking in intel_initial_commit()
> >- Move the for loop inside intel_initial_commit() so that
> >  drm_atomic_commit() is called only once
> >- Call intel_initial_commit() only for more than one active crtc on boot.
> >- Save the return value of intel_initial_commit() and print a message in
> >  case of an error
> >
> >Changes in v3:
> >- Add comments
> >
> >Changes in v2:
> >- Force all planes to recompute their states.(Ville Syrjälä)
> >- Update the commit message
> >
> >Signed-off-by: Azhar Shaikh <azhar.shaikh@intel.com>
> >Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >---
> 
> Can someone please merge/push this change?

Pushed to dinq. Thanks for the patch.

-- 
Ville Syrjälä
Intel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

      reply	other threads:[~2018-07-19 20:23 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-06 18:37 [PATCH v8] drm/i915: Fix assert_plane() warning on bootup with external display Azhar Shaikh
2018-07-06 19:16 ` ✓ Fi.CI.BAT: success for drm/i915: Fix assert_plane() warning on bootup with external display (rev8) Patchwork
2018-07-07 20:20 ` ✓ Fi.CI.IGT: " Patchwork
2018-07-19 20:03 ` [PATCH v8] drm/i915: Fix assert_plane() warning on bootup with external display Shaikh, Azhar
2018-07-19 20:22   ` Ville Syrjälä [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180719202257.GJ5565@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=azhar.shaikh@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).