Comment 11 for bug 1554613

Revision history for this message
Thomas Bonfort (thomas-bonfort) wrote : Re: screen flickering on XPS13 9350

I have finished bisecting the commits and the switch from i915 to i915_bpo seems to be the culprit. There are quite a few candidates but that's because all those skipped commits failed to build/compile.

Note that on the first flicker after booting, this message appears in dmesg:

[drm:intel_cpu_fifo_underrun_irq_handler [i915_bpo]] *ERROR* CPU pipe A FIFO underrun

Here is the log of the bisect:

git bisect start '--' 'drivers/gpu/' 'include/drm/' 'include/uapi/drm/' 'ubuntu/i915'
# good: [463f21c6a2dcc90e06dbc2eb2341640ae5c43c28] UBUNTU: Ubuntu-4.4.0-8.23
git bisect good 463f21c6a2dcc90e06dbc2eb2341640ae5c43c28
# bad: [b8723f286caa9218ebda0c47a435d1b52b8dfaf4] UBUNTU: Ubuntu-4.4.0-9.24
git bisect bad b8723f286caa9218ebda0c47a435d1b52b8dfaf4
# good: [1cb8570bf04ab12a03c31c397a4d158f24895d9c] Linux 4.4.2
git bisect good 1cb8570bf04ab12a03c31c397a4d158f24895d9c
# skip: [19ed21af1bffa667745926f2b8b28a0505cca0be] drm: Add "prefix" parameter to drm_rect_debug_print()
git bisect skip 19ed21af1bffa667745926f2b8b28a0505cca0be
# skip: [a9b3cdd235bf966b4cddab82d61dc941a74e3a74] UBUNTU: SAUCE: Backport I915_PARAM_HAS_EXEC_SOFTPIN and EXEC_OBJECT_PINNED
git bisect skip a9b3cdd235bf966b4cddab82d61dc941a74e3a74
# skip: [8bfcd31065a60ffba9e600fafd62bbd90ff0895a] drm/atomic: Add encoder_mask to crtc_state, v3.
git bisect skip 8bfcd31065a60ffba9e600fafd62bbd90ff0895a
# skip: [693a63075524374165196137ca4b952a6afd5265] drm/i915/kbl: Add Kabylake GT4 PCI ID
git bisect skip 693a63075524374165196137ca4b952a6afd5265
# good: [34f091b3d14dadd9ef8d1f8a678656aed759fe33] UBUNTU: SAUCE: radeon: r100: Silence 'may be used uninitialized' warnings
git bisect good 34f091b3d14dadd9ef8d1f8a678656aed759fe33
# skip: [abfd1387464d2e764989d8fbaea78b0b7af89142] drm/i915: Set connector_state->connector using the helper.
git bisect skip abfd1387464d2e764989d8fbaea78b0b7af89142
# skip: [975bc60948107bce995ae5d18e0755dc5f2abf53] drm: fix potential dangling else problems in for_each_ macros
git bisect skip 975bc60948107bce995ae5d18e0755dc5f2abf53
# good: [98e1eef7fa2b711e0946d22a3c2659458582e807] drm/i915/skl: Disable coarse power gating up until F0
git bisect good 98e1eef7fa2b711e0946d22a3c2659458582e807
# skip: [1f955e92dc87f484048109bc1d434fa59221c5dd] drm/atomic: add connector mask to drm_crtc_state.
git bisect skip 1f955e92dc87f484048109bc1d434fa59221c5dd
# skip: [7d5329085d3e64b6b04a9de1c86f5074bac26cc9] drm/i915: Update connector_mask during readout, v2.
git bisect skip 7d5329085d3e64b6b04a9de1c86f5074bac26cc9
# skip: [8167675659a93004ae99d7b3aa90e1134352a836] drm: Implement drm_modeset_lock_all_ctx()
git bisect skip 8167675659a93004ae99d7b3aa90e1134352a836
# skip: [8ba5c26373f1e4341f2cbd198ddeb41644adf9b6] drm/atomic: Do not unset crtc when an encoder is stolen
git bisect skip 8ba5c26373f1e4341f2cbd198ddeb41644adf9b6
# skip: [197b480eac049b43e26cad615d2f541b5eab0238] drm/i915: Add get_eld audio component
git bisect skip 197b480eac049b43e26cad615d2f541b5eab0238
# skip: [59784e17027c76b7621c19393828dfd0aa1ffde5] UBUNTU: SAUCE: i915_bpo: Add i915_bpo_*() calls for ubuntu/i915
git bisect skip 59784e17027c76b7621c19393828dfd0aa1ffde5
# skip: [d34f93f031b9411cbc75444910d79edf8d0adca9] UBUNTU: SAUCE: i915_bpo: Revert passing plane/encoder name
git bisect skip d34f93f031b9411cbc75444910d79edf8d0adca9
# skip: [f1261c30584595faa9b03be3f66d69c7abe3df48] drm/i915: remove an extra level of indirection in PCI ID list
git bisect skip f1261c30584595faa9b03be3f66d69c7abe3df48
# skip: [6c8faa054473d42cec66420014fe14884cbb4a3c] drm/i915: Report context GTT size
git bisect skip 6c8faa054473d42cec66420014fe14884cbb4a3c
# skip: [881abf52cda63355e5cdc21bf7121d46e9212c93] UBUNTU: SAUCE: uapi/drm/i915: Backport I915_EXEC_BSD_MASK
git bisect skip 881abf52cda63355e5cdc21bf7121d46e9212c93
# skip: [0dddd6896b9eba1c833fbe31ff01ad10512aa8c4] dp/mst: add SDP stream support
git bisect skip 0dddd6896b9eba1c833fbe31ff01ad10512aa8c4
# skip: [8e2bd616924b1c169c0ee555a19be6bd73200b7d] UBUNTU: SAUCE: i915_bpo: Rename the backport driver to i915_bpo
git bisect skip 8e2bd616924b1c169c0ee555a19be6bd73200b7d
# skip: [264069c863584121bf73a58e2ec8374753396aa8] UBUNTU: SAUCE: i915_bpo: Support only SKL, KBL and BXT with the backport driver
git bisect skip 264069c863584121bf73a58e2ec8374753396aa8
# skip: [68f514a794848c0817f3da489324ff61373d6bce] drm/i915/kbl: Add Kabylake PCI ID
git bisect skip 68f514a794848c0817f3da489324ff61373d6bce
# skip: [b076ab08db1b852b3f70652aac5ff53bd5ecac86] drm/i915/bxt: update list of PCIIDs
git bisect skip b076ab08db1b852b3f70652aac5ff53bd5ecac86
# skip: [2377d291a6bd3fbd0fc19f3bb688773fd56f6da1] UBUNTU: SAUCE: drm/core: Add drm_encoder_index.
git bisect skip 2377d291a6bd3fbd0fc19f3bb688773fd56f6da1
# skip: [71fb3f740833b86947bfc3c7c8d771629b1bae84] drm/i915/skl: Add missing SKL ids
git bisect skip 71fb3f740833b86947bfc3c7c8d771629b1bae84
# good: [330c218ff8f2b81e9474c30af584131c447f87e1] UBUNTU: SAUCE: i915_bpo: Update intel_ips.h file location
git bisect good 330c218ff8f2b81e9474c30af584131c447f87e1
# skip: [21710abf5c56887940fe72e882e24fde2392a83b] UBUNTU: SAUCE: i915_bpo: Revert "drm/i915: Defer probe if gmux is present but its driver isn't"
git bisect skip 21710abf5c56887940fe72e882e24fde2392a83b
# bad: [71a5e951a8ea93ebe2bb5db0738b63f172688b9b] UBUNTU: SAUCE: i915_bpo: Revert "drm/i915: Switch DDC when reading the EDID"
git bisect bad 71a5e951a8ea93ebe2bb5db0738b63f172688b9b
# only skipped commits left to test
# possible first bad commit: [71a5e951a8ea93ebe2bb5db0738b63f172688b9b] UBUNTU: SAUCE: i915_bpo: Revert "drm/i915: Switch DDC when reading the EDID"
# possible first bad commit: [2377d291a6bd3fbd0fc19f3bb688773fd56f6da1] UBUNTU: SAUCE: drm/core: Add drm_encoder_index.
# possible first bad commit: [8bfcd31065a60ffba9e600fafd62bbd90ff0895a] drm/atomic: Add encoder_mask to crtc_state, v3.
# possible first bad commit: [7d5329085d3e64b6b04a9de1c86f5074bac26cc9] drm/i915: Update connector_mask during readout, v2.
# possible first bad commit: [8ba5c26373f1e4341f2cbd198ddeb41644adf9b6] drm/atomic: Do not unset crtc when an encoder is stolen
# possible first bad commit: [881abf52cda63355e5cdc21bf7121d46e9212c93] UBUNTU: SAUCE: uapi/drm/i915: Backport I915_EXEC_BSD_MASK
# possible first bad commit: [21710abf5c56887940fe72e882e24fde2392a83b] UBUNTU: SAUCE: i915_bpo: Revert "drm/i915: Defer probe if gmux is present but its driver isn't"
# possible first bad commit: [71fb3f740833b86947bfc3c7c8d771629b1bae84] drm/i915/skl: Add missing SKL ids
# possible first bad commit: [b076ab08db1b852b3f70652aac5ff53bd5ecac86] drm/i915/bxt: update list of PCIIDs
# possible first bad commit: [264069c863584121bf73a58e2ec8374753396aa8] UBUNTU: SAUCE: i915_bpo: Support only SKL, KBL and BXT with the backport driver
# possible first bad commit: [8f3bbcff65b81092d3eb3f7f1492f3fc63176e34] UBUNTU: SAUCE: sound/hda: Load i915_bpo from the hda driver on SKL/KBL/BXT
# possible first bad commit: [d34f93f031b9411cbc75444910d79edf8d0adca9] UBUNTU: SAUCE: i915_bpo: Revert passing plane/encoder name
# possible first bad commit: [a9b3cdd235bf966b4cddab82d61dc941a74e3a74] UBUNTU: SAUCE: Backport I915_PARAM_HAS_EXEC_SOFTPIN and EXEC_OBJECT_PINNED
# possible first bad commit: [197b480eac049b43e26cad615d2f541b5eab0238] drm/i915: Add get_eld audio component
# possible first bad commit: [6c8faa054473d42cec66420014fe14884cbb4a3c] drm/i915: Report context GTT size
# possible first bad commit: [1f955e92dc87f484048109bc1d434fa59221c5dd] drm/atomic: add connector mask to drm_crtc_state.
# possible first bad commit: [abfd1387464d2e764989d8fbaea78b0b7af89142] drm/i915: Set connector_state->connector using the helper.
# possible first bad commit: [19ed21af1bffa667745926f2b8b28a0505cca0be] drm: Add "prefix" parameter to drm_rect_debug_print()
# possible first bad commit: [8167675659a93004ae99d7b3aa90e1134352a836] drm: Implement drm_modeset_lock_all_ctx()
# possible first bad commit: [0dddd6896b9eba1c833fbe31ff01ad10512aa8c4] dp/mst: add SDP stream support
# possible first bad commit: [975bc60948107bce995ae5d18e0755dc5f2abf53] drm: fix potential dangling else problems in for_each_ macros
# possible first bad commit: [366186b117cc31a3cfc292a6d7c5f791596078d1] async: export current_is_async()
# possible first bad commit: [e7566892b9a70c6cd3b6884c34c0cadbda4eb8cc] mm: Export nr_swap_pages
# possible first bad commit: [693a63075524374165196137ca4b952a6afd5265] drm/i915/kbl: Add Kabylake GT4 PCI ID
# possible first bad commit: [68f514a794848c0817f3da489324ff61373d6bce] drm/i915/kbl: Add Kabylake PCI ID
# possible first bad commit: [f1261c30584595faa9b03be3f66d69c7abe3df48] drm/i915: remove an extra level of indirection in PCI ID list
# possible first bad commit: [59784e17027c76b7621c19393828dfd0aa1ffde5] UBUNTU: SAUCE: i915_bpo: Add i915_bpo_*() calls for ubuntu/i915
# possible first bad commit: [8e2bd616924b1c169c0ee555a19be6bd73200b7d] UBUNTU: SAUCE: i915_bpo: Rename the backport driver to i915_bpo