CNL add i915 support on v4.14
Reported by
nathan.d...@intel.com,
Nov 9 2017
|
||
Issue descriptionUserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36 Platform: CNL Steps to reproduce the problem: 1. Backport i915 patches to v4.14 for CNL 2. 3. What is the expected behavior? CNL should boot and browse to graphics What went wrong? CNL wouldn't boot to graphics with v4.14 Did this work before? N/A Chrome version: 62.0.3202.89 Channel: stable OS Version: Flash Version:
Showing comments 62 - 161
of 161
Older ›
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/24642133533b7fcef9bd756f67b61aae4e60e3f0 commit 24642133533b7fcef9bd756f67b61aae4e60e3f0 Author: fred gao <fred.gao@intel.com> Date: Wed Dec 20 20:51:15 2017 UPSTREAM: drm/i915/gvt: Refine error handling in dispatch_workload When an error occurs in dispatch_workload, this patch is to do the proper cleanup and rollback to the original states before the workload is abandoned. v2: - split the mixed several error paths for better review. (Zhenyu) v3: - original PTR_ERR(cs) is good and code cleanup. (Zhenyu) v4: - reuse the existing i915_add_request for error handling. (Zhenyu) v5: - remove the duplicate error handling release_shadow_wa_ctx and move the engine->context_unpin upper. (Zhenyu) v6: - keep the old label "out". (Zhenyu) Signed-off-by: fred gao <fred.gao@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> (cherry picked from commit 0f43702a334b2848ae2e942dbc0677ddc4566b57 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I0874153c2fd1c14e934ed5af772d51594252ae9f [modify] https://crrev.com/24642133533b7fcef9bd756f67b61aae4e60e3f0/drivers/gpu/drm/i915/gvt/scheduler.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b11caf9ba94e40e1ee881c09ddc446d0b2c7b76f commit b11caf9ba94e40e1ee881c09ddc446d0b2c7b76f Author: fred gao <fred.gao@intel.com> Date: Wed Dec 20 20:51:19 2017 UPSTREAM: drm/i915/gvt: Refine error handling for perform_bb_shadow fix the wrong return type and return error once the unknown command is scanned. v2: - separate this error handle from healthy rating code. (Zhenyu) Signed-off-by: fred gao <fred.gao@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> (cherry picked from commit 1e3197d6ad73ef34b71d96cfb37ddf0b7bddac0e git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I8605e2da5c9a2516ade3cd63867c89ca45e4f554 [modify] https://crrev.com/b11caf9ba94e40e1ee881c09ddc446d0b2c7b76f/drivers/gpu/drm/i915/gvt/cmd_parser.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/ff9c8f92cd4defb2a3bc08c002d17d512cbc1048 commit ff9c8f92cd4defb2a3bc08c002d17d512cbc1048 Author: fred gao <fred.gao@intel.com> Date: Wed Dec 20 20:51:22 2017 UPSTREAM: drm/i915/gvt: Refine error handling for intel_vgpu_pin_mm When it is failed in shadow_mm, the pin_count should rollback to the original states before return. v2: - split the mixed several error paths for better review. (Zhenyu) v3: increase the pincount after shadow success. (Zhenyu) Signed-off-by: fred gao <fred.gao@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> (cherry picked from commit 46b441efa374cf1581c267a16089c205f2fc0ded git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I9d4892548350d4690d550f68e73cbcba43834c09 [modify] https://crrev.com/ff9c8f92cd4defb2a3bc08c002d17d512cbc1048/drivers/gpu/drm/i915/gvt/gtt.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/f8534cd88c38c468519da0ffca93c78a85492b1f commit f8534cd88c38c468519da0ffca93c78a85492b1f Author: Changbin Du <changbin.du@intel.com> Date: Wed Dec 20 20:51:25 2017 UPSTREAM: drm/i915/gvt: Add support for PCIe extended configuration space IGD is PCIe device and has extended configuration space. Checking the binary dump, we can see we have Caps located out of PCI compatible Configuration Space range. 0x000: 86 80 12 19 17 04 10 00 06 00 00 03 00 00 00 00 0x010: 04 00 00 10 08 00 00 00 0c 00 00 00 08 00 00 00 0x020: 00 00 00 00 00 00 00 00 00 00 00 00 28 10 b9 06 0x030: 00 f8 ff ff 40 00 00 00 00 00 00 00 0b 01 00 00 0x040: 09 70 0c 01 71 26 01 62 c8 00 04 84 00 00 00 00 0x050: c1 00 00 00 39 00 00 00 00 00 00 00 01 00 00 a2 0x060: 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 0x070: 10 ac 92 00 00 80 00 10 00 00 00 00 00 00 00 00 0x080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0a0: 00 00 00 00 00 00 00 00 00 00 00 00 05 d0 01 00 0x0b0: 18 00 e0 fe 00 00 00 00 00 00 00 00 00 00 00 00 0x0c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0d0: 01 00 22 00 00 80 00 00 00 00 00 00 00 00 00 00 0x0e0: 00 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00 0x0f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x100: 1b 00 01 20 02 14 00 00 00 00 00 00 00 00 00 00 ... Currently, we only emulate the PCI compatible Configuration Space. This is okay if we attach vGPU to PCI bus. But when we attach to a PCI Express bus (when Qemu emulates a Intel Q35 chipset which has PCIe slot), it will not work. Extended Configuration Space is required for a PCIe device. This patch extended the virtual configuration space from 256 bytes to 4KB bytes. So we are to be a *real* PCIe device. And for the Extended CapList we keep same to physical GPU. Cc: Laszlo Ersek <lersek@redhat.com> Tested-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Changbin Du <changbin.du@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> (cherry picked from commit 02d578e5edd980eac3fbed15db4d9e5665f22089 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Iad918f0316356b12b7789d0b3cd009e9d230a223 [modify] https://crrev.com/f8534cd88c38c468519da0ffca93c78a85492b1f/drivers/gpu/drm/i915/gvt/kvmgt.c [modify] https://crrev.com/f8534cd88c38c468519da0ffca93c78a85492b1f/drivers/gpu/drm/i915/gvt/gvt.c [modify] https://crrev.com/f8534cd88c38c468519da0ffca93c78a85492b1f/drivers/gpu/drm/i915/gvt/cfg_space.c [modify] https://crrev.com/f8534cd88c38c468519da0ffca93c78a85492b1f/drivers/gpu/drm/i915/gvt/gvt.h
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/a0825191170f9ec92c030c4682b1d5b6b0c99071 commit a0825191170f9ec92c030c4682b1d5b6b0c99071 Author: Michel Thierry <michel.thierry@intel.com> Date: Wed Dec 20 20:51:29 2017 UPSTREAM: drm/i915: Add a default case in gen7 hwsp switch-case Gen7 won't get any new engines, and we already added VCS2 there to just silence gcc's not handled in switch warnings. Use a default case instead, otherwise we will need to keep adding extra cases if changes happen in the future. v2: Since reaching the default case is impossible, use GEM_BUG_ON (Chris). Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Michel Thierry <michel.thierry@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170830180115.907-1-michel.thierry@intel.com Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit a2d3d2655ea6d09edfcc6d9b11fb58729c8d5b95 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I773ab6614dd1da0d59b2c23a5f5d38e40c1a8de5 [modify] https://crrev.com/a0825191170f9ec92c030c4682b1d5b6b0c99071/drivers/gpu/drm/i915/intel_ringbuffer.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/68a829454da32eeca48d78507403cde98f3238dc commit 68a829454da32eeca48d78507403cde98f3238dc Author: Michal Wajdeczko <michal.wajdeczko@intel.com> Date: Wed Dec 20 20:51:33 2017 UPSTREAM: drm/i915: Make PAT macros more robust Macro params shall be wrapped into () to avoid unexpected results. Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170908161130.22424-1-michal.wajdeczko@intel.com Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit 1790625b1deaafb564def63a3a070602656134a1 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ibb778997d382c2008f95b762116537285b1d5f7f [modify] https://crrev.com/68a829454da32eeca48d78507403cde98f3238dc/drivers/gpu/drm/i915/i915_gem_gtt.h [modify] https://crrev.com/68a829454da32eeca48d78507403cde98f3238dc/drivers/gpu/drm/i915/i915_reg.h
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/aea43e6192b7b964a7238e6582a020266a84c2cb commit aea43e6192b7b964a7238e6582a020266a84c2cb Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Dec 20 20:51:37 2017 UPSTREAM: drm/i915: Only initialize partially filled pagetables If we know that we will completely fill a pagetable (i.e. we are inserting a complete set of 512 pages), we can skip prefilling that PT with scratch entries. If we have to abort the insertion prior to writing the real entries, we will teardown the pagetable and remove it from the page directory (so that we will restart the allocation next time). We could do similar tricks for the PD and PDP, but the likelihood of a single insertion covering the entire 512 entries diminishes, as do the cycle savings. The saving are even greater (relatively) when we are preallocating page tables for huge pages, as then we never need to fill the page table. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Matthew Auld <matthew.auld@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170908181622.17791-1-chris@chris-wilson.co.uk Reviewed-by: Matthew Auld <matthew.auld@intel.com> (cherry picked from commit 14826673247eaf36b16fd821fac27efa663f3fa6 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I7355889a7115fd5bb3031186ffe439fff15f1ad4 [modify] https://crrev.com/aea43e6192b7b964a7238e6582a020266a84c2cb/drivers/gpu/drm/i915/i915_gem_gtt.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/6b36f14d19de9a8dd23c9b25836626cce708a1e1 commit 6b36f14d19de9a8dd23c9b25836626cce708a1e1 Author: Rodrigo Vivi <rodrigo.vivi@intel.com> Date: Wed Dec 20 20:51:41 2017 UPSTREAM: drm/i915/psr: Avoid any PSR stuff on platforms without support. We really don't want to setup vfuncs and lock mutexes on platforms that has no support to PSR. Also we know what platforms they are so let's do it quietly. Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: Vathsala Nagaraju <vathsala.nagaraju@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170907230041.22978-2-rodrigo.vivi@intel.com (cherry picked from commit 0f328da611953d078e86ea250eaeeb840dd7f5d0 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ie4be2e06261045c088a199c54e50d5b07d29e712 [modify] https://crrev.com/6b36f14d19de9a8dd23c9b25836626cce708a1e1/drivers/gpu/drm/i915/intel_psr.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/2e6ce3058a7fc3a317c032d245b45f909bef02cf commit 2e6ce3058a7fc3a317c032d245b45f909bef02cf Author: Rodrigo Vivi <rodrigo.vivi@intel.com> Date: Wed Dec 20 20:51:45 2017 UPSTREAM: drm/i915/psr: vfunc for disabling source. VLV/CHV has a total different PSR implementation than the other platforms, so let's start moving that to vfuncs. Let's start with disable_src one. v2: Rebased on top of commit d2419ffc10e4 ("drm/i915: Plumb crtc_state to PSR enable/disable") Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: Vathsala Nagaraju <vathsala.nagaraju@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170907230041.22978-3-rodrigo.vivi@intel.com (cherry picked from commit 424644c2504299e00b450328be9e3c5a12e9c9f9 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Iaaa7b7f8d310c3c01bf434e79dcc9ee62776204e [modify] https://crrev.com/2e6ce3058a7fc3a317c032d245b45f909bef02cf/drivers/gpu/drm/i915/i915_drv.h [modify] https://crrev.com/2e6ce3058a7fc3a317c032d245b45f909bef02cf/drivers/gpu/drm/i915/intel_psr.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/701a3cb18b611f0f7d94c9956502738d65b77ae5 commit 701a3cb18b611f0f7d94c9956502738d65b77ae5 Author: Rodrigo Vivi <rodrigo.vivi@intel.com> Date: Wed Dec 20 20:51:49 2017 UPSTREAM: drm/i915/psr: hsw_psr_activate. On HSW+ the real activate of PSR is decided by the source after certain amount of configured idle frames. However for the driver perspective where we track psr.active variable this function here is the actual activate one. So let's rename it before moving to vfunc with that. v2: Fix typo on commit message (DK). Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: Vathsala Nagaraju <vathsala.nagaraju@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170907230041.22978-4-rodrigo.vivi@intel.com (cherry picked from commit ed63d24b4d19aee649fbec28b7c11e887eff6861 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I51cacfafc2a95fb96be517a1f95ec88f0ac59ad2 [modify] https://crrev.com/701a3cb18b611f0f7d94c9956502738d65b77ae5/drivers/gpu/drm/i915/intel_psr.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/a53c91aefaf7282f3c583be9ab19957c38d91e8f commit a53c91aefaf7282f3c583be9ab19957c38d91e8f Author: Rodrigo Vivi <rodrigo.vivi@intel.com> Date: Wed Dec 20 20:51:53 2017 UPSTREAM: drm/i915/psr: Add activate vfunc. Continue on VLV PSR split with vfunc, let's move activate function there. Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: Vathsala Nagaraju <vathsala.nagaraju@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170907230041.22978-5-rodrigo.vivi@intel.com (cherry picked from commit e3702ac9a2c128690b2219eb1282367584a3b7bb git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ib6c3cf00fd3c0898af5f9ba1a1bf6708a62d07fa [modify] https://crrev.com/a53c91aefaf7282f3c583be9ab19957c38d91e8f/drivers/gpu/drm/i915/i915_drv.h [modify] https://crrev.com/a53c91aefaf7282f3c583be9ab19957c38d91e8f/drivers/gpu/drm/i915/intel_psr.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/620ca9c5c99732b64e7e05e7e7f82784c24388b0 commit 620ca9c5c99732b64e7e05e7e7f82784c24388b0 Author: Rodrigo Vivi <rodrigo.vivi@intel.com> Date: Wed Dec 20 20:51:56 2017 UPSTREAM: drm/i915/psr: Unify VSC setup functions. VSC package is decided per eDP spec for psr1 or psr2, and not per platform, so let's unify it and kill "skl" func. v2: Rebased on top of commit d2419ffc10e4 ("drm/i915: Plumb crtc_state to PSR enable/disable") Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: Vathsala Nagaraju <vathsala.nagaraju@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170907230041.22978-6-rodrigo.vivi@intel.com (cherry picked from commit 2ce4df87f133913dff26ae0f578d6b46f01fa6d3 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I3dbde1ebcc65cd6a1a10b43ce1500d8b316aad33 [modify] https://crrev.com/620ca9c5c99732b64e7e05e7e7f82784c24388b0/drivers/gpu/drm/i915/intel_psr.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/1b0fced070994b03454723d1ee405809aff52629 commit 1b0fced070994b03454723d1ee405809aff52629 Author: Rodrigo Vivi <rodrigo.vivi@intel.com> Date: Wed Dec 20 20:52:00 2017 UPSTREAM: drm/i915/psr: Re-create a hsw_psr_enable_source. This sequence is part of enable source anyways, but they only need to be executed once and not on every activation, So let's re-create hsw_enable_source. v2: Avoid changing order here to avoid changing behaviour as suggested by Jani. v3: Rebased on top of commit d2419ffc10e4 ("drm/i915: Plumb crtc_state to PSR enable/disable") Cc: Jani Nikula <jani.nikula@intel.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: Vathsala Nagaraju <vathsala.nagaraju@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170907230041.22978-7-rodrigo.vivi@intel.com (cherry picked from commit 4d1fa22f4372f27ebbf2376de79a665d23623c8c git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I1774ac19747f33fc76392b65e957be403df26323 [modify] https://crrev.com/1b0fced070994b03454723d1ee405809aff52629/drivers/gpu/drm/i915/intel_psr.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/9ceb847bd63a2967df573b79a3af741f88cfb3c5 commit 9ceb847bd63a2967df573b79a3af741f88cfb3c5 Author: Rodrigo Vivi <rodrigo.vivi@intel.com> Date: Wed Dec 20 20:52:03 2017 UPSTREAM: drm/i915/psr: Move hsw_enable_source after enabling sink. No functional change is expected here since at this point PSR is not allowed to go to any active state. In other words, not really enabled. However let's do in a separated patch so it gets clear on what is change and specially it can helps on bisect case if we figure something has caused changes in behaviour. But this needs to be done before we make the vfunc to enable source to be in parity with VLV implementation. Cc: Jani Nikula <jani.nikula@intel.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: Vathsala Nagaraju <vathsala.nagaraju@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170907230041.22978-8-rodrigo.vivi@intel.com (cherry picked from commit 196cebddde80dd06b2de557ea393082bf5a06c3d git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ieefb357d971bc627d359dbc5b9a471ca2fdf7978 [modify] https://crrev.com/9ceb847bd63a2967df573b79a3af741f88cfb3c5/drivers/gpu/drm/i915/intel_psr.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/c16a9bad1ed5e3a230c8c862f0bfc2a9ff6d9c33 commit c16a9bad1ed5e3a230c8c862f0bfc2a9ff6d9c33 Author: Rodrigo Vivi <rodrigo.vivi@intel.com> Date: Wed Dec 20 20:52:07 2017 UPSTREAM: drm/i915/psr: Re-org Activate after enable Let's move the activation calls together after enable is done. No real functional change should be expected here. Just an attempt to get it clear when we are really activating PSR after enabling it. v2: Add braces on if/else because commit message there is too long as suggested by Jani. v3: Rebased on top of commit d2419ffc10e4 ("drm/i915: Plumb crtc_state to PSR enable/disable") Cc: Jani Nikula <jani.nikula@intel.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: Vathsala Nagaraju <vathsala.nagaraju@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170907230041.22978-9-rodrigo.vivi@intel.com (cherry picked from commit 29d1efe070d3cb5c52d51d82af71790ffaf0a64f git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I15fc73d7d89045c418a8003b3bd2ca8ddf5b131c [modify] https://crrev.com/c16a9bad1ed5e3a230c8c862f0bfc2a9ff6d9c33/drivers/gpu/drm/i915/intel_psr.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e3217ab645d310d23811fcad017bf5dafac58519 commit e3217ab645d310d23811fcad017bf5dafac58519 Author: Rodrigo Vivi <rodrigo.vivi@intel.com> Date: Wed Dec 20 20:52:11 2017 UPSTREAM: drm/i915/psr: Add setup VSC vfunc. Continue on VLV PSR split with vfunc, let's also create one for setting up VSC. v2: Rebased on top of commit d2419ffc10e4 ("drm/i915: Plumb crtc_state to PSR enable/disable") Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: Vathsala Nagaraju <vathsala.nagaraju@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170907230041.22978-10-rodrigo.vivi@intel.com (cherry picked from commit 2a5db87f82cb6b2763d5e07cc4eef8cd94e56395 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I2b1b593d25b009bfebb7dd6d5f75155ab481f28e [modify] https://crrev.com/e3217ab645d310d23811fcad017bf5dafac58519/drivers/gpu/drm/i915/i915_drv.h [modify] https://crrev.com/e3217ab645d310d23811fcad017bf5dafac58519/drivers/gpu/drm/i915/intel_psr.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/dcc74696f5229d52b8a141464145eb8fefac1946 commit dcc74696f5229d52b8a141464145eb8fefac1946 Author: Rodrigo Vivi <rodrigo.vivi@intel.com> Date: Wed Dec 20 20:52:14 2017 UPSTREAM: drm/i915/psr: Add enable_sink vfunc. Continue on VLV PSR split with vfunc, let's also create one for enabling sink. v2: Fix typo on commit message (DK). Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: Vathsala Nagaraju <vathsala.nagaraju@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170907230041.22978-11-rodrigo.vivi@intel.com (cherry picked from commit 49ad316f87f17b8eaf6985c7baac7bc069dccddc git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I75f7e8044ac1931003ef2f929ce9f0e558633676 [modify] https://crrev.com/dcc74696f5229d52b8a141464145eb8fefac1946/drivers/gpu/drm/i915/i915_drv.h [modify] https://crrev.com/dcc74696f5229d52b8a141464145eb8fefac1946/drivers/gpu/drm/i915/intel_psr.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/1c0b6fc6f51a1194694d729b2b26d6d169a00fa3 commit 1c0b6fc6f51a1194694d729b2b26d6d169a00fa3 Author: Rodrigo Vivi <rodrigo.vivi@intel.com> Date: Wed Dec 20 20:52:18 2017 UPSTREAM: drm/i915/psr: Add enable_source vfunc. Continue on VLV PSR split with vfunc, let's also create one for enabling source. Also since we are touching *_enable_source functions let's fix a comment with wrong name for vlv's one. v2: Fix typo on commit message (DK). Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: Vathsala Nagaraju <vathsala.nagaraju@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170907230041.22978-12-rodrigo.vivi@intel.com (cherry picked from commit d0d5e0d7b11359ccdc7276339ec29d98f4739453 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I206b8eafe33e75a31d3a9e8b871da9e411ff863d [modify] https://crrev.com/1c0b6fc6f51a1194694d729b2b26d6d169a00fa3/drivers/gpu/drm/i915/i915_drv.h [modify] https://crrev.com/1c0b6fc6f51a1194694d729b2b26d6d169a00fa3/drivers/gpu/drm/i915/intel_psr.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/3ec7c8c2258dc4b7118c7e2edf212cf0a7195421 commit 3ec7c8c2258dc4b7118c7e2edf212cf0a7195421 Author: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Date: Wed Dec 20 20:52:21 2017 UPSTREAM: drm/i915/spt+: Don't reset invalid AUX channel interrupt bits in SDEIMR The SDE interrupt bits 25, 26 and 27 are either reserved or meant for DDI E hotplug in SPT+. These bits are meant for AUX channels only in LPT and CPT, so add the appropriate checks. Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170909004255.14827-1-dhinakaran.pandiyan@intel.com (cherry picked from commit 4ebc65092ca3d9713d48ea43e7db5b3f07faf1bc git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I907ef7bbfec76f49bff34f21180a17b66fbbadb3 [modify] https://crrev.com/3ec7c8c2258dc4b7118c7e2edf212cf0a7195421/drivers/gpu/drm/i915/i915_irq.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b78f8ac51d1bcea2f6cea08605dded290e9db5cc commit b78f8ac51d1bcea2f6cea08605dded290e9db5cc Author: Zhi Wang <zhi.a.wang@intel.com> Date: Wed Dec 20 20:52:24 2017 UPSTREAM: drm/i915: Factor out setup_private_pat() Factor out setup_private_pat() for introducing the following patches. Signed-off-by: Zhi Wang <zhi.a.wang@intel.com> Cc: Ben Widawsky <benjamin.widawsky@intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Ben Widawsky <benjamin.widawsky@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/1505202148-22959-1-git-send-email-zhi.a.wang@intel.com Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit 36e16c49dbfec806754862f63136de552d4de4ba git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ic8632864a7e0f945450fabfe98a7af09fd649dc6 [modify] https://crrev.com/b78f8ac51d1bcea2f6cea08605dded290e9db5cc/drivers/gpu/drm/i915/i915_gem_gtt.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/f5c7f6fcb540c109a3065ecd7d075c0ea8385d4a commit f5c7f6fcb540c109a3065ecd7d075c0ea8385d4a Author: Marta Lofstedt <marta.lofstedt@intel.com> Date: Wed Dec 20 20:52:28 2017 UPSTREAM: drm/i915: Increase poll time for BDW FCLK_DONE During IGT testing it has been shown that the specification defined polling time of 1 us for FCLK_DONE, is sometimes not enough. The issue is still reproducible while disabling C-states through the PM QoS framework and also while disabling preemtion. From this the most plausible explanation is that the issue is due to a firmware flaw. As a workaround, it is better to wait a little bit longer for the FCLK_DONE to come around, than to leave with an DRM_ERROR and having FCLK_DONE at a randome time after. While spinning a list of igt tests prone to reproduce the issue the FCLK_DONE poll failed at approximately 2% of the invocations of the bdw_set_cdclk function. The longest poll time during this testing was measured to ~7us. So, the suggested new poll time of 100us is on the safe side. v2: Added more documentation about investigations done. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102243 Signed-off-by: Marta Lofstedt <marta.lofstedt@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Imre Deak <imre.deak@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170908132829.6312-1-marta.lofstedt@intel.com (cherry picked from commit 3164888a40469c102b5d6d1b756c7646e7eb19e7 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ia31553711fb75fe236f17c4ed47bc5709b265489 [modify] https://crrev.com/f5c7f6fcb540c109a3065ecd7d075c0ea8385d4a/drivers/gpu/drm/i915/intel_cdclk.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e704ceabbc97e84a8fdb201e8be61de9b32acc12 commit e704ceabbc97e84a8fdb201e8be61de9b32acc12 Author: Ville Syrjälä <ville.syrjala@linux.intel.com> Date: Wed Dec 20 20:52:31 2017 UPSTREAM: drm/i915: Nuke some bogus tabs from the pcode defines Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170912153411.20171-1-ville.syrjala@linux.intel.com Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit 3e8ddd9e5071841827ec32a7a5ff11eaac5ad3d0 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Iacb12eec64437c1bf2e3049054c9f2f18fbb6776 [modify] https://crrev.com/e704ceabbc97e84a8fdb201e8be61de9b32acc12/drivers/gpu/drm/i915/i915_reg.h
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/85d7e8b864a8143c2f97665b0b012b925b39e805 commit 85d7e8b864a8143c2f97665b0b012b925b39e805 Author: Ville Syrjälä <ville.syrjala@linux.intel.com> Date: Wed Dec 20 20:52:35 2017 UPSTREAM: drm/i915: Name the IPS_PCODE_CONTROL bit Give a name to the bit which tells pcode to control IPS. v2: Note that IPS_CTL bits apply to DISPLAY_IPS_CONTROL as well (Chris) Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170912153411.20171-2-ville.syrjala@linux.intel.com Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit 61843f0e6212a8592cba26ff554af4af0dd93778 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: If89b0fc77011283793530b6ed61b1d3ab1daf16f [modify] https://crrev.com/85d7e8b864a8143c2f97665b0b012b925b39e805/drivers/gpu/drm/i915/intel_display.c [modify] https://crrev.com/85d7e8b864a8143c2f97665b0b012b925b39e805/drivers/gpu/drm/i915/i915_reg.h
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/40ab87562f229a94c147d0aa232bcc356807e479 commit 40ab87562f229a94c147d0aa232bcc356807e479 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Dec 20 20:52:39 2017 UPSTREAM: drm/i915: Cleanup error paths through eb_lookup_vma() Following the simplification to a single lookup loop in commit 170fa29b14fa ("drm/i915: Simplify eb_lookup_vmas()") and commit d1b48c1e7184 ("drm/i915: Replace execbuf vma ht with an idr"), we can go one step further and reorder the error paths so that the state of the local variable obj is always known to the compiler and doesn't need the uninitialized_var markup to squelch a compiler warning. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170912150752.20411-1-chris@chris-wilson.co.uk Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> (cherry picked from commit ac70ebe873f5161e46fbd3a5ed318f7c34d0d157 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I6317d16a4b01c6164e1f6fed07d070dcef10bc1e [modify] https://crrev.com/40ab87562f229a94c147d0aa232bcc356807e479/drivers/gpu/drm/i915/i915_gem_execbuffer.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/7ea771ab3f739c5c21bf84c88becf443b14bc547 commit 7ea771ab3f739c5c21bf84c88becf443b14bc547 Author: Rodrigo Vivi <rodrigo.vivi@intel.com> Date: Wed Dec 20 20:52:43 2017 UPSTREAM: drm/i915: Refresh VLV/CHV PSR comments on HW PSR_state machine. DK had pointed out a comment there was hard to understand, so I tried to read back again and I couldn't understand that as well. So let me re-phrase that in a way that anyone can understand later, even myself. Also fixed the comment block style. v2: Accept DK's suggestion on PSR_state 2 and PSR_state 3 named as spec. Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170912183059.5086-1-rodrigo.vivi@intel.com (cherry picked from commit 0d0c279405ec8eb1171c5de1bc4256bb803df77f git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ida2e348892ea22e9012130de0b65d180de14a4c7 [modify] https://crrev.com/7ea771ab3f739c5c21bf84c88becf443b14bc547/drivers/gpu/drm/i915/intel_psr.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/d363f0c4286f889c036eb11586745eec62a68de4 commit d363f0c4286f889c036eb11586745eec62a68de4 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Dec 20 20:52:47 2017 UPSTREAM: drm/i915: Move the context descriptor to an inline helper The context descriptor is stored inside the per-engine context state, as we only need to compute it once and access it frequently. However, currently only intel_lrc.c has easy access, but i915_guc_submission.c would like to frequently read it as well, and more so only ever needs the lower 32bits. Make it an inline as the compiler should be able to retrieve the value in less instructions than it takes to do the function call: add/remove: 0/1 grow/shrink: 1/0 up/down: 8/-45 (-37) function old new delta i915_guc_submit 621 629 +8 intel_lr_context_descriptor 45 - -45 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20170912214905.21987-1-chris@chris-wilson.co.uk Reviewed-by: Oscar Mateo <oscar.mateo@intel.com> (cherry picked from commit 2013ddebd2f4b5ef90625c8b82da216df0123134 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I1dc83049fdbbc27f08c2d8eb5222019fd3762d86 [modify] https://crrev.com/d363f0c4286f889c036eb11586745eec62a68de4/drivers/gpu/drm/i915/intel_lrc.h [modify] https://crrev.com/d363f0c4286f889c036eb11586745eec62a68de4/drivers/gpu/drm/i915/intel_lrc.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/2296de0a8ca9952740c3704607d58b178cee7050 commit 2296de0a8ca9952740c3704607d58b178cee7050 Author: Oscar Mateo <oscar.mateo@intel.com> Date: Wed Dec 20 20:52:50 2017 UPSTREAM: drm/i915/guc: Name the default GuC scheduling policy The default values for the default scheduling policy come from the GuC firmware itself. Transform the magic numbers into defines. Suggested-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: Oscar Mateo <oscar.mateo@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/1505252197-27696-1-git-send-email-oscar.mateo@intel.com Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit e9eb8039ba0cb902817fafb5a0217dba0544f165 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I076e9d32dfca05934560e7bbf0d051157282473c [modify] https://crrev.com/2296de0a8ca9952740c3704607d58b178cee7050/drivers/gpu/drm/i915/intel_guc_fwif.h [modify] https://crrev.com/2296de0a8ca9952740c3704607d58b178cee7050/drivers/gpu/drm/i915/i915_guc_submission.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/4d0e26cfbae12e40730cc1777962034e7fa42e9f commit 4d0e26cfbae12e40730cc1777962034e7fa42e9f Author: Oscar Mateo <oscar.mateo@intel.com> Date: Wed Dec 20 20:52:54 2017 UPSTREAM: drm/i915/guc: Remove WQ_WORKLOAD_SHIFT define We never used it in i915 and it's going to be removed in newer GuC firmwares anyway. Signed-off-by: Oscar Mateo <oscar.mateo@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/1505252197-27696-2-git-send-email-oscar.mateo@intel.com Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit 048d2847d76df2a7e801d77d411216910b0643c4 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I71475e354b3da89cdd23b16f1a4e70477d47f2d7 [modify] https://crrev.com/4d0e26cfbae12e40730cc1777962034e7fa42e9f/drivers/gpu/drm/i915/intel_guc_fwif.h
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/42a34c3766d3e2b8ed895583cf0535258327f507 commit 42a34c3766d3e2b8ed895583cf0535258327f507 Author: Oscar Mateo <oscar.mateo@intel.com> Date: Wed Dec 20 20:52:57 2017 UPSTREAM: drm/i915/guc: Small improvements to guc_wq_item_append Spare some comments and other small style changes. Suggested-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: Oscar Mateo <oscar.mateo@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/1505252197-27696-3-git-send-email-oscar.mateo@intel.com Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit ada8c4139fbad766fdf9e63b31c49874299fd60c git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I819bdc944d31ad2703d4ddd8371d05d853fcd27b [modify] https://crrev.com/42a34c3766d3e2b8ed895583cf0535258327f507/drivers/gpu/drm/i915/i915_guc_submission.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/c6e764b65db6526f0054f457f70542662b97fbca commit c6e764b65db6526f0054f457f70542662b97fbca Author: Mika Kahola <mika.kahola@intel.com> Date: Wed Dec 20 20:53:01 2017 UPSTREAM: drm/i915/dsi: Replace MIPI command error message with debug message Error message indicating that the same MIPI command is sent consecutively is perhaps too strongly said. Let's replace that as a debug message instead. Signed-off-by: Mika Kahola <mika.kahola@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/1504252261-28964-3-git-send-email-mika.kahola@intel.com (cherry picked from commit 5b60fc09806a9db0fb46e6821bc1ed3203b6740e git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Iff2bcd4b413bd15a636b60a87d811e5113111100 [modify] https://crrev.com/c6e764b65db6526f0054f457f70542662b97fbca/drivers/gpu/drm/i915/intel_dsi.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/1ef5111cdab0c79e98891538fc93091afc470d48 commit 1ef5111cdab0c79e98891538fc93091afc470d48 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Dec 20 20:53:04 2017 UPSTREAM: drm/i915: Use mul_u32_u32() for 32b x 32b -> 64b result As realised by commit 9e3d6223d209 ("math64, timers: Fix 32bit mul_u64_u32_shr() and friends"), GCC does not always generate ideal code for performing a 32b x 32b multiply returning a 64b result (i.e. where we idiomatically use u64 result = (u64)x * (u32)x). This catches a couple of instances in the display code using (u64)x * (u32)y. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20170913105154.2910-1-chris@chris-wilson.co.uk Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> (cherry picked from commit 3123698f50fe4ac9ddb775dcd2b34a1d9cdd603f git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Idc4f8b13859afbaa4339b79525d3a6d584e88fb0 [modify] https://crrev.com/1ef5111cdab0c79e98891538fc93091afc470d48/drivers/gpu/drm/i915/intel_display.c [modify] https://crrev.com/1ef5111cdab0c79e98891538fc93091afc470d48/drivers/gpu/drm/i915/intel_tv.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/19e31aae8a4b400b9d1b426d98b0c6423df7044b commit 19e31aae8a4b400b9d1b426d98b0c6423df7044b Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Dec 20 20:53:08 2017 UPSTREAM: drm/i915/selftests: Use mul_u32_u32() for 32b x 32b -> 64b result As realised by commit 9e3d6223d209 ("math64, timers: Fix 32bit mul_u64_u32_shr() and friends"), GCC does not always generate ideal code for performing a 32b x 32b multiply returning a 64b result (i.e. where we idiomatically use u64 result = (u64)x * (u32)x). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20170913105154.2910-2-chris@chris-wilson.co.uk Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> (cherry picked from commit 7ce5b6850b47824a2b8d0a17b5fe75f9942e5cd1 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Idaae74c103f349f4da212f381ab151d7bbf5b032 [modify] https://crrev.com/19e31aae8a4b400b9d1b426d98b0c6423df7044b/drivers/gpu/drm/i915/selftests/i915_random.c [modify] https://crrev.com/19e31aae8a4b400b9d1b426d98b0c6423df7044b/drivers/gpu/drm/i915/selftests/i915_random.h [modify] https://crrev.com/19e31aae8a4b400b9d1b426d98b0c6423df7044b/drivers/gpu/drm/i915/selftests/i915_gem_timeline.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/4f61d7d3855d0acc9b9dc3394addc15f61299aa7 commit 4f61d7d3855d0acc9b9dc3394addc15f61299aa7 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Dec 20 20:53:12 2017 UPSTREAM: drm/i915: Squelch smatch warning for statement with no effect The sgt iterators cause an drivers/gpu/drm/i915/i915_gpu_error.c:846 i915_error_object_create() warn: statement has no effect 7 everywhere they are used. If we change the code slightly, we can achieve the same increment without altering the output or raising a warning. text data bss dec hex filename 1267906 20587 3168 1291661 13b58d before 1267906 20587 3168 1291661 13b58d after Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170913105754.4423-1-chris@chris-wilson.co.uk (cherry picked from commit e60b36f76c2ee0ba90b431daa534bc262798fb26 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Iba6144baf3bf29ff9aa6eebe09274f13ab388ff2 [modify] https://crrev.com/4f61d7d3855d0acc9b9dc3394addc15f61299aa7/drivers/gpu/drm/i915/i915_drv.h
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e252bf0293ac401debdb6fbee0f953b6a79f022f commit e252bf0293ac401debdb6fbee0f953b6a79f022f Author: Michel Thierry <michel.thierry@intel.com> Date: Wed Dec 20 20:53:16 2017 UPSTREAM: drm/i915/lrc: Clarify the format of the context image Not only the context image consist of two parts (the PPHWSP, and the logical context state), but we also allocate a header at the start of for sharing data with GuC. Thus every lrc looks like this: | [guc] | [hwsp] [logical state] | |<- our header ->|<- context image ->| So far, we have oversimplified whenever we use each of these parts of the context, just because the GuC header happens to be in page 0, and the (PP)HWSP is in page 1. But this had led to using the same define for more than one meaning (as a page index in the lrc and as 1 page). This patch adds defines for the GuC shared page, the PPHWSP page and the start of the logical state. It also updated the places where the old define was being used. Since we are not changing the size (or format) of the context, there are no functional changes. v2: Use PPHWSP index for hws again. Suggested-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Michel Thierry <michel.thierry@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Oscar Mateo <oscar.mateo@intel.com> Cc: intel-gvt-dev@lists.freedesktop.org Link: http://patchwork.freedesktop.org/patch/msgid/20170712193032.27080-1-michel.thierry@intel.com Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20170913085605.18299-1-chris@chris-wilson.co.uk (cherry picked from commit 0b29c75a01e5413d9c1f368b8357b589c7b5a922 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ifbefae8b463db25c02c0f0dfec97ba3076a6cf60 [modify] https://crrev.com/e252bf0293ac401debdb6fbee0f953b6a79f022f/drivers/gpu/drm/i915/intel_lrc.h [modify] https://crrev.com/e252bf0293ac401debdb6fbee0f953b6a79f022f/drivers/gpu/drm/i915/i915_guc_submission.c [modify] https://crrev.com/e252bf0293ac401debdb6fbee0f953b6a79f022f/drivers/gpu/drm/i915/gvt/scheduler.c [modify] https://crrev.com/e252bf0293ac401debdb6fbee0f953b6a79f022f/drivers/gpu/drm/i915/intel_lrc.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/cf1a808629aa871535c8aacaa650cdb6dc956f96 commit cf1a808629aa871535c8aacaa650cdb6dc956f96 Author: Michel Thierry <michel.thierry@intel.com> Date: Wed Dec 20 20:53:20 2017 UPSTREAM: drm/i915/guc: Don't make assumptions while getting the lrca offset Using the HWSP ggtt_offset to get the lrca offset is only correct if the HWSP happens to be before it (when we reuse the PPHWSP of the kernel context as the engine HWSP). Instead of making this assumption, get the lrca offset from the kernel_context engine state. And while looking at this part of the GuC interaction, it was also noticed that the firmware expects the size of only the engine context (context minus the execlist part, i.e. don't include the first 80 dwords), so pass the right size. v2: Use the new macros to prevent abusive overuse of the old ones (Chris). Reported-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Signed-off-by: Michel Thierry <michel.thierry@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Oscar Mateo <oscar.mateo@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170712193032.27080-2-michel.thierry@intel.com Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20170913085605.18299-2-chris@chris-wilson.co.uk (cherry picked from commit a922c0c7a6b7b84351c4051fc9defe1222185c16 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I18c1bea1f6c989d7978a415f90feadd53e941fd9 [modify] https://crrev.com/cf1a808629aa871535c8aacaa650cdb6dc956f96/drivers/gpu/drm/i915/i915_guc_submission.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/f070446a304bfdaf5d8aa44e5b2e3c867121a425 commit f070446a304bfdaf5d8aa44e5b2e3c867121a425 Author: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Date: Wed Dec 20 20:53:23 2017 UPSTREAM: drm/i915/lrc: allocate separate page for HWSP On gen8+ we're currently using the PPHWSP of the kernel ctx as the global HWSP. However, when the kernel ctx gets submitted (e.g. from __intel_autoenable_gt_powersave) the HW will use that page as both HWSP and PPHWSP. This causes a conflict in the register arena of the HWSP, i.e. dword indices below 0x30. We don't current utilize this arena, but in the following patches we will take advantage of the cached register state for handling execlist's context status interrupt. To avoid the conflict, instead of re-using the PPHWSP of the kernel ctx we can allocate a separate page for the HWSP like what happens for pre-execlists platform. v2: Add a use-case for the register arena of the HWSP. Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Michel Thierry <michel.thierry@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1499357440-34688-1-git-send-email-daniele.ceraolospurio@intel.com Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Michel Thierry <michel.thierry@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170913085605.18299-3-chris@chris-wilson.co.uk (cherry picked from commit 486e93f72abd41559b740f017717c7f6b3f8bb1f git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ia54fbec84e86c8939ca336cf8f1c7434bffc39e7 [modify] https://crrev.com/f070446a304bfdaf5d8aa44e5b2e3c867121a425/drivers/gpu/drm/i915/intel_engine_cs.c [modify] https://crrev.com/f070446a304bfdaf5d8aa44e5b2e3c867121a425/drivers/gpu/drm/i915/intel_ringbuffer.c [modify] https://crrev.com/f070446a304bfdaf5d8aa44e5b2e3c867121a425/drivers/gpu/drm/i915/intel_lrc.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/9ed75d7a1b783144258a398cbd2047f9afa874b7 commit 9ed75d7a1b783144258a398cbd2047f9afa874b7 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Dec 20 20:53:27 2017 UPSTREAM: drm/i915: Allow HW status page to be bound high At the time of commit 1f767e02d69f ("drm/i915: HWS must be in the mappable region for g33"), drm_mm insertion would often default to placing a new object high in the zone forcing us to specify that certain HWSP must be bound within the low mappable region. Since then, drm_mm has gained more finesse over its placement and exposes that to the caller, commit 4e64e5539d15 ("drm: Improve drm_mm search (and fix topdown allocation) with rbtrees"). As such where possible we want the HWSP to be outside of the mappable aperture and so need to specify that can be pinned high. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Michel Thierry <michel.thierry@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Mika Kuoppala <mika.kuoppala@intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170913085605.18299-4-chris@chris-wilson.co.uk (cherry picked from commit 34a04e5e46cb984a6bab336484fa856574db332f git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ifc23c23018dbf651b8a69915c28dd9cc4db570a6 [modify] https://crrev.com/9ed75d7a1b783144258a398cbd2047f9afa874b7/drivers/gpu/drm/i915/intel_engine_cs.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/6fd67b395c9d30f6bbe242470878abf9f5a88ed0 commit 6fd67b395c9d30f6bbe242470878abf9f5a88ed0 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Dec 20 20:53:31 2017 UPSTREAM: drm/i915/execlists: Read the context-status buffer from the HWSP The engine provides a mirror of the CSB in the HWSP. If we use the cacheable reads from the HWSP, we can shave off a few mmio reads per context-switch interrupt (which are quite frequent!). Just removing a couple of mmio is not enough to actually reduce any latency, but a small reduction in overall cpu usage. Much appreciation for Ben dropping the bombshell that the CSB was in the HWSP and for Michel in digging out the details. v2: Don't be lazy, add the defines for the indices. v3: Include the HWSP in debugfs/i915_engine_info v4: Check for GVT-g, it currently depends on intercepting CSB mmio v5: Fixup GVT-g mmio path v6: Disable HWSP if VT-d is active as the iommu adds unpredictable memory latency. (Mika) v7: Also markup the CSB read with READ_ONCE() as it may still be an mmio read and we want to stop the compiler from issuing a later (v.slow) reload. Suggested-by: Ben Widawsky <benjamin.widawsky@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Michel Thierry <michel.thierry@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Mika Kuoppala <mika.kuoppala@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Zhenyu Wang <zhenyuw@linux.intel.com> Cc: Zhi Wang <zhi.a.wang@intel.com> Acked-by: Michel Thierry <michel.thierry@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170913133534.26927-1-chris@chris-wilson.co.uk Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com> (cherry picked from commit 6d2cb5aa383bf020ee95e33d9d107975f340ae1c git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I2a529d6958daef6e97c96539b9ba4b165364d863 [modify] https://crrev.com/6fd67b395c9d30f6bbe242470878abf9f5a88ed0/drivers/gpu/drm/i915/intel_ringbuffer.h [modify] https://crrev.com/6fd67b395c9d30f6bbe242470878abf9f5a88ed0/drivers/gpu/drm/i915/i915_debugfs.c [modify] https://crrev.com/6fd67b395c9d30f6bbe242470878abf9f5a88ed0/drivers/gpu/drm/i915/intel_lrc.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/f58424b7c3a8d6d2cb0dddcd47aa7a05c9895c65 commit f58424b7c3a8d6d2cb0dddcd47aa7a05c9895c65 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Dec 20 20:53:35 2017 UPSTREAM: drm/i915/execlists: Read the context-status HEAD from the HWSP The engine also provides a mirror of the CSB write pointer in the HWSP, but not of our read pointer. To take advantage of this we need to remember where we read up to on the last interrupt and continue off from there. This poses a problem following a reset, as we don't know where the hw will start writing from, and due to the use of power contexts we cannot perform that query during the reset itself. So we continue the current modus operandi of delaying the first read of the context-status read/write pointers until after the first interrupt. With this we should now have eliminated all uncached mmio reads in handling the context-status interrupt, though we still have the uncached mmio writes for submitting new work, and many uncached mmio reads in the global interrupt handler itself. Still a step in the right direction towards reducing our resubmit latency, although it appears lost in the noise! v2: Cannonlake moved the CSB write index v3: Include the sw/hwsp state in debugfs/i915_engine_info v4: Also revert to using CSB mmio for GVT-g v5: Prevent the compiler reloading tail (Mika) Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Michel Thierry <michel.thierry@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Mika Kuoppala <mika.kuoppala@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Zhenyu Wang <zhenyuw@linux.intel.com> Cc: Zhi Wang <zhi.a.wang@intel.com> Acked-by: Michel Thierry <michel.thierry@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170913085605.18299-6-chris@chris-wilson.co.uk Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com> (cherry picked from commit 767a983ab25564e8fcc84fa203d1c51d2e50c6ef git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I70d486281a6253faa0dd0b9089f88f6bcbd419f6 [modify] https://crrev.com/f58424b7c3a8d6d2cb0dddcd47aa7a05c9895c65/drivers/gpu/drm/i915/intel_ringbuffer.h [modify] https://crrev.com/f58424b7c3a8d6d2cb0dddcd47aa7a05c9895c65/drivers/gpu/drm/i915/i915_debugfs.c [modify] https://crrev.com/f58424b7c3a8d6d2cb0dddcd47aa7a05c9895c65/drivers/gpu/drm/i915/i915_drv.h [modify] https://crrev.com/f58424b7c3a8d6d2cb0dddcd47aa7a05c9895c65/drivers/gpu/drm/i915/intel_lrc.c
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/dc130ead79fae10b59e4252861e4242cb42a2d1e commit dc130ead79fae10b59e4252861e4242cb42a2d1e Author: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Date: Wed Dec 20 20:53:39 2017 UPSTREAM: drm/i915: Introduce INTEL_GEN_MASK Split INTEL_GEN_MASK out of IS_GEN macro, and make it usable within static declarations (unlike compound statements). v2: - s/combound/compound/ (Tvrtko) - Fix whitespace (yes, we need automatic checkpatch.pl) Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Jani Nikula <jani.nikula@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170913115255.13851-1-joonas.lahtinen@linux.intel.com (cherry picked from commit fe52e597fdbfd1098d47bdf314a1974dac003227 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I9b54c7e3077bb89643f3df1c1f55acbc3d64c9a5 [modify] https://crrev.com/dc130ead79fae10b59e4252861e4242cb42a2d1e/drivers/gpu/drm/i915/i915_drv.h
,
Dec 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/0c848b4175bbb1ed6cf2785a0441b28d002e13f0 commit 0c848b4175bbb1ed6cf2785a0441b28d002e13f0 Author: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Date: Wed Dec 20 20:53:43 2017 UPSTREAM: drm/i915: Simplify i915_reg_read_ioctl Convert to use the freshly available made INTEL_GEN_MASK for easier grepping and improve function readability and clarify the UABI documentation. No functional changes. v2: - Lift GEM_BUG_ONs and use is_power_of_2 (Chris) - Retain -EINVAL on bad flags behavior (Chris) v3: - Extract flags with 'entry->size - 1' (Chris) v4: - Add GEM_BUG_ON on for flags vs entry offset (Chris) v5: - Use 'u16' to match 'dev_priv' (Ville) v6: - Fix checkpatch.pl errors Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20170913115255.13851-2-joonas.lahtinen@linux.intel.com (cherry picked from commit 3fd3a6ffe279827543cbf4063e307ed18bad6763 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I965f923f88a51d45e71f5b9d08f53e5895b5aafe [modify] https://crrev.com/0c848b4175bbb1ed6cf2785a0441b28d002e13f0/include/uapi/drm/i915_drm.h [modify] https://crrev.com/0c848b4175bbb1ed6cf2785a0441b28d002e13f0/drivers/gpu/drm/i915/intel_uncore.c
,
Dec 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/de8e55abdb5e530b76af4e47cd364ece3bf1bbfa commit de8e55abdb5e530b76af4e47cd364ece3bf1bbfa Author: Oscar Mateo <oscar.mateo@intel.com> Date: Thu Dec 21 06:58:37 2017 UPSTREAM: drm/i915/cnl: Add Gen10 LRC size The total size of the context has decreased with the removal of the URB_ATOMIC section. BSpec indicates 16750 DWORDs (17 pages), plus one page for PPHWSP, and I'm throwing an extra page for precaution. Signed-off-by: Oscar Mateo <oscar.mateo@intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Ben Widawsky <ben@bwidawsk.net> Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/1506035989-14295-1-git-send-email-oscar.mateo@intel.com (cherry picked from commit 7fd0b1a2593647aba4538196dd80314fd134877b git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Icb0e6a0141e76b3d8a20142ca4196fe882b48b5e [modify] https://crrev.com/de8e55abdb5e530b76af4e47cd364ece3bf1bbfa/drivers/gpu/drm/i915/intel_engine_cs.c
,
Dec 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b6ac6aa2fb18a210a8f8e0cae8f625a11a9403db commit b6ac6aa2fb18a210a8f8e0cae8f625a11a9403db Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Thu Dec 21 06:58:40 2017 UPSTREAM: drm/i915: Only wake the waiter from the interrupt if passed As we now check if the seqno is complete in order to signal the fence, we can also decide not to wake up the first_waiter until it is ready (since it is waiting on the same seqno). The only caveat is that if we need the engine->irq_seqno_barrier to enforce some coherency between an interrupt and the seqno read, we have to always wake the waiter in order to perform that heavyweight barrier. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170918162734.21294-1-chris@chris-wilson.co.uk Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> (cherry picked from commit 17b51ad8e5c051032d8e1d698e7dfd01d9133a92 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ieadcb52227f11d7e6ed0bee5b52e8716f2bb3ffa [modify] https://crrev.com/b6ac6aa2fb18a210a8f8e0cae8f625a11a9403db/drivers/gpu/drm/i915/i915_irq.c
,
Dec 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/3afbe1210f9b0b3f425317cf5e986a967e0b2ce9 commit 3afbe1210f9b0b3f425317cf5e986a967e0b2ce9 Author: Mika Kuoppala <mika.kuoppala@linux.intel.com> Date: Thu Dec 21 06:59:19 2017 UPSTREAM: drm/i915: Add execlist_port_complete When first execlist entry is processed, we move the port (contents). Introduce function for this as execlist and guc use this common operation. v2: rebase. s/GEM_DEBUG_BUG/GEM_BUG (Chris) v3: rebase Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20170922124307.10914-4-mika.kuoppala@intel.com (cherry picked from commit 7a62cc6107f31e119a0df6f79fa9fae566b1a22e git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I0f73948903db735186646131a36a7a3e9b01b67d [modify] https://crrev.com/3afbe1210f9b0b3f425317cf5e986a967e0b2ce9/drivers/gpu/drm/i915/intel_ringbuffer.h [modify] https://crrev.com/3afbe1210f9b0b3f425317cf5e986a967e0b2ce9/drivers/gpu/drm/i915/i915_guc_submission.c [modify] https://crrev.com/3afbe1210f9b0b3f425317cf5e986a967e0b2ce9/drivers/gpu/drm/i915/intel_lrc.c
,
Dec 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/f8bbd288fb8b9b22a77a2648adb310b6987059ce commit f8bbd288fb8b9b22a77a2648adb310b6987059ce Author: Mika Kuoppala <mika.kuoppala@linux.intel.com> Date: Thu Dec 21 06:59:23 2017 UPSTREAM: drm/i915: Make execlist port count variable As we emulate execlists on top of the GuC workqueue, it is not restricted to just 2 ports and we can increase that number arbitrarily to trade-off queue depth (i.e. scheduling latency) against pipeline bubbles. v2: rebase. better commit msg (Chris) v3: rebase Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20170922124307.10914-5-mika.kuoppala@intel.com (cherry picked from commit 76e70087d360fdbe97f24c205d585ada04126e5f git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I859e1ddb958327f13efbfb47303fc99762eae353 [modify] https://crrev.com/f8bbd288fb8b9b22a77a2648adb310b6987059ce/drivers/gpu/drm/i915/intel_ringbuffer.h [modify] https://crrev.com/f8bbd288fb8b9b22a77a2648adb310b6987059ce/drivers/gpu/drm/i915/i915_debugfs.c [modify] https://crrev.com/f8bbd288fb8b9b22a77a2648adb310b6987059ce/drivers/gpu/drm/i915/i915_drv.h [modify] https://crrev.com/f8bbd288fb8b9b22a77a2648adb310b6987059ce/drivers/gpu/drm/i915/intel_lrc.c [modify] https://crrev.com/f8bbd288fb8b9b22a77a2648adb310b6987059ce/drivers/gpu/drm/i915/i915_guc_submission.c [modify] https://crrev.com/f8bbd288fb8b9b22a77a2648adb310b6987059ce/drivers/gpu/drm/i915/i915_gpu_error.c [modify] https://crrev.com/f8bbd288fb8b9b22a77a2648adb310b6987059ce/drivers/gpu/drm/i915/intel_engine_cs.c
,
Dec 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/1467404a3420305bd89dd41ab49f237268615bb6 commit 1467404a3420305bd89dd41ab49f237268615bb6 Author: David Weinehall <david.weinehall@linux.intel.com> Date: Thu Dec 21 06:59:27 2017 UPSTREAM: drm/i915: Speed up DMC firmware loading Currently we're doing: 1. acquire lock 2. write word to hardware 3. release lock 4. repeat from 1 to load the DMC firmware. Due to the cost of acquiring/releasing a lock, and the size of the DMC firmware, this slows down DMC loading a lot. This patch simply acquires the lock, writes the entire firmware, then releases the lock. Testing shows resume speedups in the order of 10ms on platforms with DMC firmware (GEN9+). v2: Per feedback from Chris & Ville there's no need to do the whole forcewake dance, so lose that bit (Chris, Ville) v3: Actually send the new version of the patch... v4: Don't acquire the uncore lock. Disable preempt. (Chris) Signed-off-by: David Weinehall <david.weinehall@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170905131050.11655-1-david.weinehall@linux.intel.com Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit dff457d74e7eaf8c5280967467597ebfc3e2e44a git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I850ee4c821954165499aad61dc85a4ecaf80ca5f [modify] https://crrev.com/1467404a3420305bd89dd41ab49f237268615bb6/drivers/gpu/drm/i915/intel_csr.c
,
Dec 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/4f61eca85aa3e1f74772b6f093ebf7207b39e6bd commit 4f61eca85aa3e1f74772b6f093ebf7207b39e6bd Author: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Date: Fri Dec 22 09:37:55 2017 UPSTREAM: drm/i915: Disable lazy PPGTT page table optimization for vGPU When running under virtualization (vGPU active), we must disable the lazy PPGTT page table initialization optimization introduced by commit 14826673247e ("drm/i915: Only initialize partially filled pagetables"). We must do this because GVT-g makes unduly assumptions about guest behaviour, which this optimization breaks. This results in following looking errors in the host: ERROR gvt: guest page write error -22, gfn 0x7ada8, pa 0x7ada89a8, var 0x6, len 1 The real fix is to not to depend on i915 driver behaviour, but instead either rely on only the contracts that i915 has with the hardware, or add some paravirtualization. While the real fix is en route, it won't be finished in time for 4.15, so the best option is to disable the optimization for now when vGPU is active to avoid breaking 4.15 guests in existing VM environments. Fixes: 14826673247e ("drm/i915: Only initialize partially filled pagetables") Suggested-by: Xiaolin Zhang <xiaolin.zhang@intel.com> Signed-off-by: Xiaolin Zhang <xiaolin.zhang@intel.com> [Joonas: Rewrote the commit message and added tags.] Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Zhenyu Wang <zhenyuw@linux.intel.com> Cc: Zhi Wang <zhi.a.wang@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Matthew Auld <matthew.auld@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Acked-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Zhenyu Wang <zhenyuw@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171023153209.10527-1-joonas.lahtinen@linux.intel.com (cherry picked from commit 22a8a4fc93b14b5a8cfc785edbdc6f7bd98bffb6 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I039312b3ad1caf97a5006ba49857372826663551 [modify] https://crrev.com/4f61eca85aa3e1f74772b6f093ebf7207b39e6bd/drivers/gpu/drm/i915/i915_gem_gtt.c
,
Dec 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/12fba8b706e83e12d01a343f5d5ee5d5d1915ebe commit 12fba8b706e83e12d01a343f5d5ee5d5d1915ebe Author: Michał Winiarski <michal.winiarski@intel.com> Date: Fri Dec 22 09:37:59 2017 UPSTREAM: drm/i915/preempt: Default to disabled mid-command preemption levels Supporting fine-granularity preemption levels may require changes in userspace batch buffer programming. Therefore, we need to fallback to safe default values, rather that use hardware defaults. Userspace is still able to enable fine-granularity, since we're whitelisting the register controlling it in WaEnablePreemptionGranularityControlByUMD. v2: Extend w/a to cover Cannonlake v3: Fix commentary to include both fake w/a names. Signed-off-by: Michał Winiarski <michal.winiarski@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171003203453.15692-2-chris@chris-wilson.co.uk (cherry picked from commit 5152defe4a53ad15e6d96c422440152302c8abd7 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) from drm-intel-testing-2017-10-12 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I908e1ef0210d19a463b9c8ea372062a0f86ff3d6 [modify] https://crrev.com/12fba8b706e83e12d01a343f5d5ee5d5d1915ebe/drivers/gpu/drm/i915/intel_engine_cs.c [modify] https://crrev.com/12fba8b706e83e12d01a343f5d5ee5d5d1915ebe/drivers/gpu/drm/i915/i915_reg.h
,
Dec 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b2b1c4766ef02cc50cbcdad7850bb3665b29169c commit b2b1c4766ef02cc50cbcdad7850bb3665b29169c Author: Rafael Antognolli <rafael.antognolli@intel.com> Date: Fri Dec 22 09:38:19 2017 FROMGIT: drm/i915: Implement ReadHitWriteOnlyDisable. The workaround for this is described as: "if RenderSurfaceState.Num_Multisamples > 1, disable RCC clock gating if RenderSurfaceState.Num_Multisamples == 1, set 0x7010[14] = 1" Further documentation in the internal bug referenced by the bspec suggest that any of the above suggestions should suffice to fix the issue. We are going with disabling RCC clock gating. Unfortunately, what we are doing doesn't match the name of the workaround, but at least it matches its description. This change improves CNL stability by avoiding some of the hangs seen in the platform. v2: Only disable RCC clock gating. Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171103183027.5051-1-rafael.antognolli@intel.com (cherry picked from commit 0a60797a0efbc495f514304d83eb289bb55990a6 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: If173a331618996bb56f07189fa869cd2f08b25e7 [modify] https://crrev.com/b2b1c4766ef02cc50cbcdad7850bb3665b29169c/drivers/gpu/drm/i915/intel_engine_cs.c [modify] https://crrev.com/b2b1c4766ef02cc50cbcdad7850bb3665b29169c/drivers/gpu/drm/i915/i915_reg.h
,
Dec 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/1ea1ce4e12664c3030a4611f569310ede9934631 commit 1ea1ce4e12664c3030a4611f569310ede9934631 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Dec 22 09:38:23 2017 FROMGIT: drm/i915: Check that the breadcrumb wasn't disarmed automatically before parking We will disarm the breadcrumb interrupt if we see a user interrupt whilst no one is waiting. This may race with the call to intel_engine_disarm_breadcrumbs() triggering an assert that we aren't trying to do the same job twice. Prevent this by checking that the irq is still armed after flushing the interrupt (for the irq spinlock). Fixes: bcbd5c33a342 ("drm/i915/guc: Always enable the breadcrumbs irq") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Michał Winiarski <michal.winiarski@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171031122235.1395-1-chris@chris-wilson.co.uk Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> (cherry picked from commit e5330ac1f50b897d245753828e8887f297f69dd0 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I8ff0064ec3f7940fec972f507a4dfa852ab1ebc2 [modify] https://crrev.com/1ea1ce4e12664c3030a4611f569310ede9934631/drivers/gpu/drm/i915/intel_breadcrumbs.c
,
Dec 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/5d947f5ff42e93fd04cffbfcc17aaedbf3a402eb commit 5d947f5ff42e93fd04cffbfcc17aaedbf3a402eb Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Dec 22 09:38:27 2017 FROMGIT: drm/i915: Unify SLICE_UNIT_LEVEL_CLKGATE w/a for cnl gem_workarounds reports that the SLICE_UNIT_LEVEL_CLKGATE write isn't sticking. Commit 0a60797a0efb ("drm/i915: Implement ReadHitWriteOnlyDisable.") presumes that SLICE_UNIT_LEVEL_CLKGATE is a masked register in the context image, but commit 90007bca6162 ("drm/i915/cnl: Introduce initial Cannonlake Workarounds.") lists it as an ordering unmasked register. The masked write will be losing the default settings if we trust the original commit. That gem_workarounds reports the value is lost entirely is more worrying though -- but it clearly suggests that it is not a masked register in the context image, so unify both w/a to use the original rmw. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103705 Fixes: 0a60797a0efb ("drm/i915: Implement ReadHitWriteOnlyDisable.") References: 90007bca6162 ("drm/i915/cnl: Introduce initial Cannonlake Workarounds.") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Rafael Antognolli <rafael.antognolli@intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Oscar Mateo <oscar.mateo@intel.com> Cc: Mika Kuoppala <mika.kuoppala@intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171111100336.11020-1-chris@chris-wilson.co.uk Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com> (cherry picked from commit 34991bd48c927712678d0cea77628328f9046923 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I01f2a7285b3e309513ec4970dee7618793326fc3 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> [modify] https://crrev.com/5d947f5ff42e93fd04cffbfcc17aaedbf3a402eb/drivers/gpu/drm/i915/intel_pm.c [modify] https://crrev.com/5d947f5ff42e93fd04cffbfcc17aaedbf3a402eb/drivers/gpu/drm/i915/intel_engine_cs.c
,
Dec 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/137c67e22ae4ad97da3b87502d7c60e755684dd7 commit 137c67e22ae4ad97da3b87502d7c60e755684dd7 Author: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Date: Fri Dec 22 09:38:31 2017 UPSTREAM: drm/i915: move adjusted_x/y from crtc to cache. Move adjusted_x/y from crtc to fbc cache. Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/1508270891-22186-2-git-send-email-juhapekka.heikkila@gmail.com [vsyrjala: Add rudimentary commit message] Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> (cherry picked from commit bf0a5d4b223dfe523eb5191d0cb428f63cf04e2e) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I4eb80d3fa0fd5e041ad05641f2a8337b9cb3c813 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> [modify] https://crrev.com/137c67e22ae4ad97da3b87502d7c60e755684dd7/drivers/gpu/drm/i915/intel_display.c [modify] https://crrev.com/137c67e22ae4ad97da3b87502d7c60e755684dd7/drivers/gpu/drm/i915/i915_drv.h [modify] https://crrev.com/137c67e22ae4ad97da3b87502d7c60e755684dd7/drivers/gpu/drm/i915/intel_drv.h [modify] https://crrev.com/137c67e22ae4ad97da3b87502d7c60e755684dd7/drivers/gpu/drm/i915/intel_fbc.c
,
Dec 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/12c1bed66b758eda3f6ec2f45ea7444075dbb9a2 commit 12c1bed66b758eda3f6ec2f45ea7444075dbb9a2 Author: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Date: Fri Dec 22 09:38:36 2017 UPSTREAM: drm/i915: dspaddr_offset doesn't need to be more than local variable Move u32 dspaddr_offset from struct intel_crtc member into local variable in i9xx_update_primary_plane() Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/1508270891-22186-3-git-send-email-juhapekka.heikkila@gmail.com (cherry picked from commit e288881b08dc2627dda6f93ce1d406ba4dc0f143) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I7664f5f779fef882b0254aa8cacefdbbe47f9ff6 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> [modify] https://crrev.com/12c1bed66b758eda3f6ec2f45ea7444075dbb9a2/drivers/gpu/drm/i915/intel_display.c [modify] https://crrev.com/12c1bed66b758eda3f6ec2f45ea7444075dbb9a2/drivers/gpu/drm/i915/intel_drv.h
,
Dec 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/4862c012959c68ebd0cc972c13ca8297c6b0d702 commit 4862c012959c68ebd0cc972c13ca8297c6b0d702 Author: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Date: Fri Dec 22 09:38:39 2017 UPSTREAM: drm/i915: Unify skylake plane update Don't handle skylake primary plane separately as it is similar plane as the others. Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/1508270891-22186-4-git-send-email-juhapekka.heikkila@gmail.com (cherry picked from commit 9a8cc576002aa4ad18edac6a6d4c46ea6eab416b) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Id2be9e4978eefb18fe49f5f0a2c7988f134ddf24 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> [modify] https://crrev.com/4862c012959c68ebd0cc972c13ca8297c6b0d702/drivers/gpu/drm/i915/intel_display.c [modify] https://crrev.com/4862c012959c68ebd0cc972c13ca8297c6b0d702/drivers/gpu/drm/i915/intel_sprite.c [modify] https://crrev.com/4862c012959c68ebd0cc972c13ca8297c6b0d702/drivers/gpu/drm/i915/intel_drv.h
,
Dec 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e7a2e20858028c9cbae1d0752b6633bc75c77de4 commit e7a2e20858028c9cbae1d0752b6633bc75c77de4 Author: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Date: Fri Dec 22 09:38:44 2017 UPSTREAM: drm/i915: Unify skylake plane disable Don't handle skylake primary plane separately as it is similar plane as the others. Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/1508270891-22186-5-git-send-email-juhapekka.heikkila@gmail.com (cherry picked from commit 779d4d8f083e46364cc9b2c784cf8ad6ab3d3aa5) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Icf043fbc3d045def22b7416bf3de0125f33c3ce5 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> [modify] https://crrev.com/e7a2e20858028c9cbae1d0752b6633bc75c77de4/drivers/gpu/drm/i915/intel_display.c [modify] https://crrev.com/e7a2e20858028c9cbae1d0752b6633bc75c77de4/drivers/gpu/drm/i915/intel_sprite.c [modify] https://crrev.com/e7a2e20858028c9cbae1d0752b6633bc75c77de4/drivers/gpu/drm/i915/intel_drv.h
,
Dec 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/8d680686d2ca546f8ac339c737576d421c5e2384 commit 8d680686d2ca546f8ac339c737576d421c5e2384 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Dec 22 09:39:48 2017 UPSTREAM: drm/i915/execlists: Distinguish the incomplete context notifies Let the listener know that the context we just scheduled out was not complete, and will be scheduled back in at a later point. v2: Handle CONTEXT_STATUS_PREEMPTED in gvt by aliasing it to CONTEXT_STATUS_OUT for the moment, gvt can expand upon the difference later. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: "Zhenyu Wang" <zhenyuw@linux.intel.com> Cc: "Wang, Zhi A" <zhi.a.wang@intel.com> Cc: Michał Winiarski <michal.winiarski@intel.com> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171003203453.15692-3-chris@chris-wilson.co.uk (cherry picked from commit d6c0511300dcff19969844495ba293c4efb50b42) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I08208ae38ab4275a66651148144e00d977052d0b Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> [modify] https://crrev.com/8d680686d2ca546f8ac339c737576d421c5e2384/drivers/gpu/drm/i915/intel_lrc.h [modify] https://crrev.com/8d680686d2ca546f8ac339c737576d421c5e2384/drivers/gpu/drm/i915/gvt/scheduler.c [modify] https://crrev.com/8d680686d2ca546f8ac339c737576d421c5e2384/drivers/gpu/drm/i915/intel_lrc.c
,
Dec 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/8d42a9bebf70d932bdf4bb0393e79377009137ed commit 8d42a9bebf70d932bdf4bb0393e79377009137ed Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Dec 22 09:39:51 2017 UPSTREAM: drm/i915: Filter out spurious execlists context-switch interrupts Back in commit a4b2b01523a8 ("drm/i915: Don't mark an execlists context-switch when idle") we noticed the presence of late context-switch interrupts. We were able to filter those out by looking at whether the ELSP remained active, but in commit beecec901790 ("drm/i915/execlists: Preemption!") that became problematic as we now anticipate receiving a context-switch event for preemption while ELSP may be empty. To restore the spurious interrupt suppression, add a counter for the expected number of pending context-switches and skip if we do not need to handle this interrupt to make forward progress. v2: Don't forget to switch on for preempt. v3: Reduce the counter to a on/off boolean tracker. Declare the HW as active when we first submit, and idle after the final completion event (with which we confirm the HW says it is idle), and track each source of activity separately. With a finite number of sources, it should aide us in debugging which gets stuck. Fixes: beecec901790 ("drm/i915/execlists: Preemption!") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Michal Winiarski <michal.winiarski@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Cc: Mika Kuoppala <mika.kuoppala@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171023213237.26536-3-chris@chris-wilson.co.uk Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> (cherry picked from commit 4a118ecbe99c93cf9f9582e83a88d03f18d6cb84) Signed-off-by: Jani Nikula <jani.nikula@intel.com> (cherry picked from commit 5d266692372dfb412150006df420185b666658f9) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Icb5747d59111b8039a44a0b195168baa18a479fb Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> [modify] https://crrev.com/8d42a9bebf70d932bdf4bb0393e79377009137ed/drivers/gpu/drm/i915/intel_ringbuffer.h [modify] https://crrev.com/8d42a9bebf70d932bdf4bb0393e79377009137ed/drivers/gpu/drm/i915/intel_lrc.c [modify] https://crrev.com/8d42a9bebf70d932bdf4bb0393e79377009137ed/drivers/gpu/drm/i915/intel_engine_cs.c [modify] https://crrev.com/8d42a9bebf70d932bdf4bb0393e79377009137ed/drivers/gpu/drm/i915/i915_guc_submission.c [modify] https://crrev.com/8d42a9bebf70d932bdf4bb0393e79377009137ed/drivers/gpu/drm/i915/i915_irq.c
,
Dec 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/720b21a8d8a71d250c085e6f4962f79204f0ca3d commit 720b21a8d8a71d250c085e6f4962f79204f0ca3d Author: Michał Winiarski <michal.winiarski@intel.com> Date: Fri Dec 22 09:39:55 2017 FROMGIT: drm/i915: Rename helpers used for unwinding, use macro for can_preempt We would also like to make use of execlist_cancel_port_requests and unwind_incomplete_requests in GuC preemption backend. Let's rename the functions to use the correct prefixes, so that we can simply add the declarations in the following patch. Similar thing for applies for can_preempt, except we're introducing HAS_LOGICAL_RING_PREEMPTION macro instad, converting other users that were previously touching device info directly. v2: s/intel_engine/execlists and pass execlists to unwind (Chris) v3: use locked version for exporting, drop const qual (Chris) Signed-off-by: Michał Winiarski <michal.winiarski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20171025200020.16636-11-michal.winiarski@intel.com (cherry picked from commit a4598d17551ab5ce5c9fd2ac7a7803e89b63260e git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ib755c4d17042798af71a586142af76a5c62f4828 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> [modify] https://crrev.com/720b21a8d8a71d250c085e6f4962f79204f0ca3d/drivers/gpu/drm/i915/i915_drv.c [modify] https://crrev.com/720b21a8d8a71d250c085e6f4962f79204f0ca3d/drivers/gpu/drm/i915/i915_drv.h [modify] https://crrev.com/720b21a8d8a71d250c085e6f4962f79204f0ca3d/drivers/gpu/drm/i915/intel_engine_cs.c [modify] https://crrev.com/720b21a8d8a71d250c085e6f4962f79204f0ca3d/drivers/gpu/drm/i915/intel_lrc.c
,
Dec 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/71fde169041bd84165a3ab64e92fe7decf080e54 commit 71fde169041bd84165a3ab64e92fe7decf080e54 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Dec 22 09:39:59 2017 FROMGIT: drm/i915/execlists: Listen to COMPLETE context event not ACTIVE_IDLE Since commit e1fee72c2ea2e9c0c6e6743d32a6832f21337d6c Author: Oscar Mateo <oscar.mateo@intel.com> Date: Thu Jul 24 17:04:40 2014 +0100 drm/i915/bdw: Avoid non-lite-restore preemptions execlists has listened to (ACTIVE_IDLE | ELEMENT_SWITCH) for detecting when one context completed and it either continued onto the next (in port 1) or idled. We would always see COMPLETE | ACTIVE_IDLE on the final context-switch event, but on recent gen it appears that we now get separate ACTIVE_IDLE and COMPLETE events. In particular, the ACTIVE_IDLE events may not be coupled to a context (since it is a general state rather than a specific context completion event). v2: Update the history, execlists did originally start out by listening to the COMPLETE event not ACTIVE_IDLE. v3: Update preempt completion test to also use COMPLETE not ACTIVE_IDLE. References: bspec/12255 References: https://bugs.freedesktop.org/show_bug.cgi?id=103800 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Oscar Mateo <oscar.mateo@intel.com> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Michal Winiarski <michal.winiarski@intel.com> Cc: Michel Thierry <michel.thierry@intel.com> Acked-by: Michel Thierry <michel.thierry@intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171120123458.23242-1-chris@chris-wilson.co.uk (cherry picked from commit e40dd226246d2a0fb463a04bd4c6f1b9e0a650ed\ git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I5447a3c27d2ca01caf31fd100c3e2c6e8736c970 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> [modify] https://crrev.com/71fde169041bd84165a3ab64e92fe7decf080e54/drivers/gpu/drm/i915/intel_lrc.c
,
Dec 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e8223518a965a41522008c98c1463aec8e9e7c62 commit e8223518a965a41522008c98c1463aec8e9e7c62 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Dec 22 09:40:03 2017 FROMGIT: drm/i915: Use trace_printk to provide a death rattle for GEM Trying to enable printk debugging for GEM is fraught with the issue of spam; interactions with HW are very frequent and often boring. However, one instance where they are not so boring is just before a BUG; here ftrace provides a facility to dump its ringbuffer on an oops. So for CI let's enable trace_printk() to capture the last exchanges with HW as a death rattle. For example, [ 79.234110] ------------[ cut here ]------------ [ 79.234137] kernel BUG at drivers/gpu/drm/i915/intel_lrc.c:907! [ 79.234145] invalid opcode: 0000 [#1] SMP [ 79.234153] Dumping ftrace buffer: [ 79.234158] --------------------------------- ... [ 79.314044] gem_conc-1059 1..s1 79203443us : intel_lrc_irq_handler: bcs0 out[0]: ctx=5.2, seqno=145 [ 79.314089] gem_conc-1059 1..s. 79220800us : intel_lrc_irq_handler: bcs0 csb[1/1]: status=0x00000018:0x00000005 [ 79.314133] gem_conc-1059 1..s. 79220803us : intel_lrc_irq_handler: bcs0 out[0]: ctx=5.1, seqno=145 [ 79.314177] gem_conc-1062 2..s1 79230458us : intel_lrc_irq_handler: bcs0 in[0]: ctx=8.1, seqno=146 [ 79.314220] gem_conc-1062 2..s1 79230515us : intel_lrc_irq_handler: bcs0 in[0]: ctx=8.2, seqno=147 [ 79.314265] gem_conc-1059 1..s1 79230951us : intel_lrc_irq_handler: bcs0 csb[2/3]: status=0x00000012:0x00000008 [ 79.314309] gem_conc-1059 1..s1 79230954us : intel_lrc_irq_handler: bcs0 out[0]: ctx=8.2, seqno=147 [ 79.314353] gem_conc-1059 1..s1 79230954us : intel_lrc_irq_handler: bcs0 csb[3/3]: status=0x00008002:0x00000008 [ 79.314396] gem_conc-1059 1..s1 79230955us : intel_lrc_irq_handler: bcs0 out[0]: ctx=8.1, seqno=147 [ 79.314402] --------------------------------- v2: Tweak the formatting to be more consistent between in/out. v3: do {} while (0) stub macro protection Suggested-by: Michał Winiarski <michal.winiarski@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171109143019.16568-1-chris@chris-wilson.co.uk (cherry picked from commit bccd3b831185e75c4138bc3fd5201f3214dfeb3d git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ibddc4768dc108d0441f159bd5963be7eb938256c Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> [modify] https://crrev.com/e8223518a965a41522008c98c1463aec8e9e7c62/drivers/gpu/drm/i915/i915_gem.h [modify] https://crrev.com/e8223518a965a41522008c98c1463aec8e9e7c62/drivers/gpu/drm/i915/Kconfig.debug [modify] https://crrev.com/e8223518a965a41522008c98c1463aec8e9e7c62/drivers/gpu/drm/i915/intel_lrc.c
,
Dec 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/91fc30ba8fa258f87975a8052a5f99c40fa0ef02 commit 91fc30ba8fa258f87975a8052a5f99c40fa0ef02 Author: Michel Thierry <michel.thierry@intel.com> Date: Fri Dec 22 09:40:07 2017 FROMGIT: drm/i915/execlists: Delay writing to ELSP until HW has processed the previous write The hardware needs some time to process the information received in the ExecList Submission Port, and expects us to not write anything more until it has 'acknowledged' this new submission by sending an IDLE_ACTIVE or PREEMPTED CSB event. If we do not follow this, the driver could write new data into the ELSP before HW had finishing fetching the previous one, putting us in 'undefined behaviour' space. This seems to be the problem causing the spurious PREEMPTED & COMPLETE events after a COMPLETE like the one below: [] vcs0: sw rd pointer = 2, hw wr pointer = 0, current 'head' = 3. [] vcs0: Execlist CSB[0]: 0x00000018 _ 0x00000007 [] vcs0: Execlist CSB[1]: 0x00000001 _ 0x00000000 [] vcs0: Execlist CSB[2]: 0x00000018 _ 0x00000007 <<< COMPLETE [] vcs0: Execlist CSB[3]: 0x00000012 _ 0x00000007 <<< PREEMPTED & COMPLETE [] vcs0: Execlist CSB[4]: 0x00008002 _ 0x00000006 [] vcs0: Execlist CSB[5]: 0x00000014 _ 0x00000006 The ELSP writes that lead to this CSB sequence show that the HW hadn't started executing the previous execlist (the one with only ctx 0x6) by the time the new one was submitted; this is a bit more clear in the data show in the EXECLIST_STATUS register at the time of the ELSP write. [] vcs0: ELSP[0] = 0x0_0 [execlist1] - status_reg = 0x0_302 [] vcs0: ELSP[1] = 0x6_fedb2119 [execlist0] - status_reg = 0x0_8302 [] vcs0: ELSP[2] = 0x7_fedaf119 [execlist1] - status_reg = 0x0_8308 [] vcs0: ELSP[3] = 0x6_fedb2119 [execlist0] - status_reg = 0x7_8308 Note that having to wait for this ack does not disable lite-restores, although it may reduce their numbers. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102035 Signed-off-by: Michel Thierry <michel.thierry@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/<20171118003038.7935-1-michel.thierry@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171120123458.23242-4-chris@chris-wilson.co.uk Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Tested-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit ba74cb10c775c839f6e1d0fabd1e772eabd9c43f git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I0143dab9f7bcdd700332f86a83be8d6c2978a067 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> [modify] https://crrev.com/91fc30ba8fa258f87975a8052a5f99c40fa0ef02/drivers/gpu/drm/i915/intel_ringbuffer.h [modify] https://crrev.com/91fc30ba8fa258f87975a8052a5f99c40fa0ef02/drivers/gpu/drm/i915/intel_lrc.c
,
Jan 12 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/9c379e931127bfed3d086968828e32f3b399627a commit 9c379e931127bfed3d086968828e32f3b399627a Author: James Ausmus <james.ausmus@intel.com> Date: Fri Jan 12 06:22:26 2018 FROMGIT: drm/i915/cnl: Mask previous DDI - PLL mapping Without masking out the old value, we can end up pointing the DDI to a disabled PLL, which makes the system fall over. Mask out the previous value before setting the PLL to DDI mapping. This can be observed by running igt/testdisplay with both an eDP and HDMI/DP output active. v2: Add the Bugzilla link Fixes: 555e38d273172 ("drm/i915/cnl: DDI - PLL mapping") Testcase: igt/testdisplay Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103997 Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Matt Atwood <matthew.s.atwood@intel.com> Signed-off-by: James Ausmus <james.ausmus@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Tested-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171201021700.13504-1-james.ausmus@intel.com (cherry picked from commit 23a7068ec581fcc6fb61039448632d25987b1fae git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) BUG=chromium:791664, chromium:783394 TEST=CNL boots to graphics Change-Id: I30dfcec133088ac45d79e07b56d64bbc83fc9647 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/806446 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/9c379e931127bfed3d086968828e32f3b399627a/drivers/gpu/drm/i915/intel_ddi.c
,
Jan 12 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/0d9589dc94fb24d22a872ff73cc21990bc8376f4 commit 0d9589dc94fb24d22a872ff73cc21990bc8376f4 Author: Radhakrishna Sripada <radhakrishna.sripada@intel.com> Date: Fri Jan 12 06:22:13 2018 FROMGIT: Revert "drm/i915: Display WA #1133 WaFbcSkipSegments:cnl, glk" This reverts commit 8f067837c4b713ce2e69be95af7b2a5eb3bd7de8. HSD says "WA withdrawn. It was causing corruption with some images. WA is not strictly necessary since this bug just causes loss of FBC compression with some sizes and images, but doesn't break anything." Fixes: 8f067837c4b7 ("drm/i915: Display WA #1133 WaFbcSkipSegments:cnl, glk") Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171117010825.23118-1-radhakrishna.sripada@intel.com (cherry picked from commit 0cfecb7c4b9b45ed1776162e132b43f92564f3f4 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I82ebee9b7754782fa423394c63ab80749c114c43 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/807387 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/0d9589dc94fb24d22a872ff73cc21990bc8376f4/drivers/gpu/drm/i915/intel_pm.c [modify] https://crrev.com/0d9589dc94fb24d22a872ff73cc21990bc8376f4/drivers/gpu/drm/i915/i915_reg.h
,
Jan 12 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/61fd05e77c6fa113e76b3c575e86dfd12c2fb51c commit 61fd05e77c6fa113e76b3c575e86dfd12c2fb51c Author: Ville Syrjälä <ville.syrjala@linux.intel.com> Date: Fri Jan 12 06:22:15 2018 UPSTREAM: drm/i915: Pass encoder type to cnl_ddi_vswing_sequence() explicitly encoder->type is unreliable for DP/HDMI, so pass it in explicity into cnl_ddi_vswing_sequence(). This matches what we do for BXT. v2: Pass intel_encoder down to cnl_ddi_vswing_program(), and clean up the argument types while at it Signed-off-by: Ville Syrjl <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171016145705.11780-7-ville.syrjala@linux.intel.com Reviewed-by: James Ausmus <james.ausmus@intel.com> (cherry picked from commit f3cf4ba45e13bef6287b03b72ba43db1dab60e29) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I6a716328f8038fa9bf6b103c3f24f34c271790eb Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/807388 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/61fd05e77c6fa113e76b3c575e86dfd12c2fb51c/drivers/gpu/drm/i915/intel_ddi.c
,
Jan 12 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/db68e5c0dd494c5382ef3184836e201b7c9d6293 commit db68e5c0dd494c5382ef3184836e201b7c9d6293 Author: Jani Nikula <jani.nikula@intel.com> Date: Fri Jan 12 06:22:17 2018 UPSTREAM: drm/i915/bios: refactor parse general definitions Early return on failures. Rename the variable for later merging with parse_device_mappings(). Reviewed-by: Ville Syrjl <ville.syrjala@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/785abb904a572752fec68d90d34efeb67774dc1f.1506586821.git.jani.nikula@intel.com (cherry picked from commit a87145ca56d14fc4b0bce68c18a5fecb01a09540) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I2cf3f3b54c4e4716d45c2871de0e6acc1d334a3b Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/807389 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/db68e5c0dd494c5382ef3184836e201b7c9d6293/drivers/gpu/drm/i915/intel_bios.c
,
Jan 12 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/91624d56591903495ad3241287feafa678740187 commit 91624d56591903495ad3241287feafa678740187 Author: Jani Nikula <jani.nikula@intel.com> Date: Fri Jan 12 06:22:18 2018 UPSTREAM: drm/i915/bios: merge parse_device_mapping() into parse_general_definitions() They're both parsing the same block, and there's no need for them to be split. The former also benefits from the range checks in the latter. Reviewed-by: Ville Syrjl <ville.syrjala@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/64a292606ecbb0b8602e6c5523c5746573ec3944.1506586821.git.jani.nikula@intel.com (cherry picked from commit b3ca1f43b285dd74daa8ef87cce41bc50434a865) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Iab84b15eed82400e93c234e1dc345f50da56eb39 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/807390 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/91624d56591903495ad3241287feafa678740187/drivers/gpu/drm/i915/intel_bios.c
,
Jan 12 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/d02d144c1f5ace19beec559c4abad7f174c91334 commit d02d144c1f5ace19beec559c4abad7f174c91334 Author: Jani Nikula <jani.nikula@intel.com> Date: Fri Jan 12 06:22:20 2018 UPSTREAM: drm/i915/bios: parse SDVO device mapping from pre-parsed child devices We parse and store the child devices in parse_general_definitions(). There is no need to parse the VBT block again for SDVO device mapping. Do the same as we do in parse_ddi_ports(). We no longer have access to child device size at this stage, but we also don't need to worry about reading past the child device anymore. Instead of a child device size check, do a mild optimization by limiting the parsing to gens 3 through 7. Reviewed-by: Ville Syrjl <ville.syrjala@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/c918d4173dd38a165295f1270cb16c2c01bd8cd1.1506586821.git.jani.nikula@intel.com (cherry picked from commit 0ebdabe6126498f06cd1885dfbf658c46317041f) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I63ef0f33c8f4f9947d0f541e61675ecf50171114 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/807391 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/d02d144c1f5ace19beec559c4abad7f174c91334/drivers/gpu/drm/i915/intel_bios.c
,
Jan 12 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/1a03b34cc06486aa7276e294a298865afe8d0457 commit 1a03b34cc06486aa7276e294a298865afe8d0457 Author: Jani Nikula <jani.nikula@intel.com> Date: Fri Jan 12 06:22:21 2018 UPSTREAM: drm/i915/bios: don't pass bdb to parsers that don't parse VBT directly Hint that you're not supposed to look at VBT in these functions. Reviewed-by: Ville Syrjl <ville.syrjala@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/b82c326be8c796a70bdc2bd1c479bbb6159f5cb0.1506586821.git.jani.nikula@intel.com (cherry picked from commit 0ead5f81d4200b63cf92be867bfbd6708056e4a8) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I621fa1f96a3d622fad0698f5f16cbabc845d87f5 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/807392 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/1a03b34cc06486aa7276e294a298865afe8d0457/drivers/gpu/drm/i915/intel_bios.c
,
Jan 12 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/f53d54c6cfbeec7f39e0ab1e21d9c597339c54b2 commit f53d54c6cfbeec7f39e0ab1e21d9c597339c54b2 Author: Ville Syrjälä <ville.syrjala@linux.intel.com> Date: Fri Jan 12 06:22:23 2018 UPSTREAM: drm/i915: Parse max HDMI TMDS clock from VBT Starting from version 204 VBT can specify the max TMDS clock we are allowed to use with HDMI ports. Parse that information and take it into account when filtering modes and computing a crtc state. Also take the opportunity to sort the platform check if ladder from new to old. v2: Add defines for the values into intel_vbt_defs.h (Jani) Don't fall back to 0 silently for unknown values (Jani) Skip the debug print for the 0 case (Jani) Cc: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Ville Syrjl <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171030145702.23662-1-ville.syrjala@linux.intel.com (cherry picked from commit d6038611aa3d7d8080a8ae7f3122779fb4779a13) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ibd34026cf33f1c464f86326ddf73a61c4556732e Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/807393 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/f53d54c6cfbeec7f39e0ab1e21d9c597339c54b2/drivers/gpu/drm/i915/intel_bios.c [modify] https://crrev.com/f53d54c6cfbeec7f39e0ab1e21d9c597339c54b2/drivers/gpu/drm/i915/i915_drv.h [modify] https://crrev.com/f53d54c6cfbeec7f39e0ab1e21d9c597339c54b2/drivers/gpu/drm/i915/intel_hdmi.c [modify] https://crrev.com/f53d54c6cfbeec7f39e0ab1e21d9c597339c54b2/drivers/gpu/drm/i915/intel_vbt_defs.h
,
Jan 12 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/dd6b8ff825bf1cc8b336c93b79719a2ceef20e9c commit dd6b8ff825bf1cc8b336c93b79719a2ceef20e9c Author: Rodrigo Vivi <rodrigo.vivi@intel.com> Date: Fri Jan 12 06:22:25 2018 FROMGIT: drm/i915/cnl: Extend HDMI 2.0 support to CNL. Starting on GLK we support HDMI 2.0. So this patch only extend the work Shashank has made to GLK to CNL. v2: The version that compiles :/ v3: Invert order to newer || older platforms check. (Ville). Cc: Ville Syrjl <ville.syrjala@linux.intel.com> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> Cc: Shashank Sharma <shashank.sharma@intel.com> Cc: Manasi Navare <manasi.d.navare@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Ville Syrjl <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171115184205.8104-1-rodrigo.vivi@intel.com (cherry picked from commit 9672a69c761468ec920a8bc2442b8397b20578f8 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I039e0515bbd00067e44130856ce47f884070e04c Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/807394 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/dd6b8ff825bf1cc8b336c93b79719a2ceef20e9c/drivers/gpu/drm/i915/intel_hdmi.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/1b7d3472051c13d77f0bf6e64b72f120422b495c commit 1b7d3472051c13d77f0bf6e64b72f120422b495c Author: Sagar Arun Kamble <sagar.a.kamble@intel.com> Date: Wed Feb 07 19:54:22 2018 UPSTREAM: drm/i915: Separate RPS and RC6 handling for gen6+ This patch separates enable/disable of RC6 and RPS for gen6+ platforms prior to VLV. v2: Fixed checkpatch issue. (Sagar) Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com> Cc: Imre Deak <imre.deak@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> #1 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/1507360055-19948-2-git-send-email-sagar.a.kamble@intel.com Acked-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20171010213010.7415-1-chris@chris-wilson.co.uk (cherry picked from commit 960e54652ceed1c0f49969c5d951688eab1d49cb) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I2a7d155d9121b1bd77a67b36e98d6332383a988b Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843421 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/1b7d3472051c13d77f0bf6e64b72f120422b495c/drivers/gpu/drm/i915/i915_debugfs.c [modify] https://crrev.com/1b7d3472051c13d77f0bf6e64b72f120422b495c/drivers/gpu/drm/i915/intel_pm.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/354ef841e8413c1af13b8ebf2bd9e0bde6c30f09 commit 354ef841e8413c1af13b8ebf2bd9e0bde6c30f09 Author: Sagar Arun Kamble <sagar.a.kamble@intel.com> Date: Wed Feb 07 19:54:25 2018 UPSTREAM: drm/i915: Remove superfluous IS_BDW checks and non-BDW changes from gen8_enable_rps This patch removes all IS_BROADWELL checks and non-BDW changes from gen8_enable_rps as it is called only for BROADWELL. Suggested-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com> Cc: Imre Deak <imre.deak@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/1507360055-19948-3-git-send-email-sagar.a.kamble@intel.com Acked-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20171010213010.7415-2-chris@chris-wilson.co.uk (cherry picked from commit 415544d5a89fb2be3b12dc7c4682806323aabdbf) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I20262595d14492bf303083f9d6444391b3382a95 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843422 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/354ef841e8413c1af13b8ebf2bd9e0bde6c30f09/drivers/gpu/drm/i915/intel_pm.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/0b25ceb3325d8959ee7b7b6f821fbc82ac531452 commit 0b25ceb3325d8959ee7b7b6f821fbc82ac531452 Author: Sagar Arun Kamble <sagar.a.kamble@intel.com> Date: Wed Feb 07 19:54:28 2018 UPSTREAM: drm/i915: Separate RPS and RC6 handling for BDW This patch separates RC6 and RPS enabling for BDW. RC6/RPS Disabling are handled through gen6 functions. PM Programming guide recommends a sequence within forcewakes to configure RC6, RPS and ring frequencies in sequence. With this patch the order is still maintained. v2: Update sequence numbers in RC6 programming and comment about intent of reset_rps during gen8_enable_rps. (Radoslaw) v3: Rebase. Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com> Cc: Imre Deak <imre.deak@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/1507360055-19948-4-git-send-email-sagar.a.kamble@intel.com Acked-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20171010213010.7415-3-chris@chris-wilson.co.uk (cherry picked from commit 3a85392c0ea0689d8d3ba1f9c9df5d3e32bfa517) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ic1a704788e5d64ac2232d3bb10470bb58ecb2fea Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843423 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/0b25ceb3325d8959ee7b7b6f821fbc82ac531452/drivers/gpu/drm/i915/intel_pm.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/2431dd2fb348810d7ab82291cb77714eef043320 commit 2431dd2fb348810d7ab82291cb77714eef043320 Author: Sagar Arun Kamble <sagar.a.kamble@intel.com> Date: Wed Feb 07 19:54:30 2018 UPSTREAM: drm/i915: Separate RPS and RC6 handling for VLV This patch separates enable/disable of RC6 and RPS for VLV. v2: Removed unnecessary comments about forcewakes while enabling RC6/RPS. Added changes to output turbo control status for VLV in i915_frequency_info. Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com> Cc: Imre Deak <imre.deak@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/1507360055-19948-5-git-send-email-sagar.a.kamble@intel.com Acked-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20171010213010.7415-4-chris@chris-wilson.co.uk (cherry picked from commit 0d6fc92a73e0c4dd8635268ef0ffb852986bba89) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ie93b6858dd3b0f1ae52362a3c929d420215c5e86 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843424 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/2431dd2fb348810d7ab82291cb77714eef043320/drivers/gpu/drm/i915/i915_debugfs.c [modify] https://crrev.com/2431dd2fb348810d7ab82291cb77714eef043320/drivers/gpu/drm/i915/intel_pm.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e1170c527f8f03f98cf4dbb5ddb7785dafe9916f commit e1170c527f8f03f98cf4dbb5ddb7785dafe9916f Author: Sagar Arun Kamble <sagar.a.kamble@intel.com> Date: Wed Feb 07 19:54:33 2018 UPSTREAM: drm/i915: Separate RPS and RC6 handling for CHV This patch separates enable/disable of RC6 and RPS for CHV. v2: Fixed comment. Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com> Cc: Imre Deak <imre.deak@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/1507360055-19948-6-git-send-email-sagar.a.kamble@intel.com Acked-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20171010213010.7415-5-chris@chris-wilson.co.uk (cherry picked from commit d46b00dc38c8aea80357a0dd04f57c097dbfa5b9) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Iea528df570a6f5a93d788668c84f2654490bdb97 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843425 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/e1170c527f8f03f98cf4dbb5ddb7785dafe9916f/drivers/gpu/drm/i915/intel_pm.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/a9148916d7ac230056ec6bcba289295c0ac19035 commit a9148916d7ac230056ec6bcba289295c0ac19035 Author: Sagar Arun Kamble <sagar.a.kamble@intel.com> Date: Wed Feb 07 19:54:36 2018 UPSTREAM: drm/i915: Name i915_runtime_pm structure in dev_priv as "runtime_pm" We were using dev_priv->pm for runtime power management related state. This patch renames it to "runtime_pm" which looks more apt. v2: s/rpm/runtime_pm (Chris) Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com> Cc: Imre Deak <imre.deak@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> #1 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/1507360055-19948-7-git-send-email-sagar.a.kamble@intel.com Acked-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20171010213010.7415-6-chris@chris-wilson.co.uk (cherry picked from commit ad1443f0f3dd1b2434af897af8b8f942e47cf8c3) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I297c978fd9236ea7ebc29b62ba7cb81a3b685d70 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843426 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/a9148916d7ac230056ec6bcba289295c0ac19035/drivers/gpu/drm/i915/i915_drv.c [modify] https://crrev.com/a9148916d7ac230056ec6bcba289295c0ac19035/drivers/gpu/drm/i915/intel_runtime_pm.c [modify] https://crrev.com/a9148916d7ac230056ec6bcba289295c0ac19035/drivers/gpu/drm/i915/i915_drv.h [modify] https://crrev.com/a9148916d7ac230056ec6bcba289295c0ac19035/drivers/gpu/drm/i915/intel_drv.h [modify] https://crrev.com/a9148916d7ac230056ec6bcba289295c0ac19035/drivers/gpu/drm/i915/i915_irq.c [modify] https://crrev.com/a9148916d7ac230056ec6bcba289295c0ac19035/drivers/gpu/drm/i915/intel_pm.c [modify] https://crrev.com/a9148916d7ac230056ec6bcba289295c0ac19035/drivers/gpu/drm/i915/i915_gpu_error.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/8a27e5711cbc7511d029ea532f45651bfd0e4aa6 commit 8a27e5711cbc7511d029ea532f45651bfd0e4aa6 Author: Sagar Arun Kamble <sagar.a.kamble@intel.com> Date: Wed Feb 07 19:54:38 2018 BACKPORT: drm/i915: Move rps.hw_lock to dev_priv and s/hw_lock/pcu_lock In order to separate GT PM related functionality into new structure we are updating rps structure. hw_lock in it is used for display related PCU communication too hence move it to dev_priv. Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com> Cc: Imre Deak <imre.deak@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/1507360055-19948-8-git-send-email-sagar.a.kamble@intel.com Acked-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20171010213010.7415-7-chris@chris-wilson.co.uk (cherry picked from commit 9f817501bd7facfe2bffacd637f4332e5991e57a) Conflicts: Nathan: context delta drivers/gpu/drm/i915/intel_cdclk.c BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I9aa37c527422e7df7f09f64b436c83dcac605a90 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843427 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/8a27e5711cbc7511d029ea532f45651bfd0e4aa6/drivers/gpu/drm/i915/intel_runtime_pm.c [modify] https://crrev.com/8a27e5711cbc7511d029ea532f45651bfd0e4aa6/drivers/gpu/drm/i915/i915_debugfs.c [modify] https://crrev.com/8a27e5711cbc7511d029ea532f45651bfd0e4aa6/drivers/gpu/drm/i915/i915_drv.h [modify] https://crrev.com/8a27e5711cbc7511d029ea532f45651bfd0e4aa6/drivers/gpu/drm/i915/intel_sideband.c [modify] https://crrev.com/8a27e5711cbc7511d029ea532f45651bfd0e4aa6/drivers/gpu/drm/i915/intel_display.c [modify] https://crrev.com/8a27e5711cbc7511d029ea532f45651bfd0e4aa6/drivers/gpu/drm/i915/intel_cdclk.c [modify] https://crrev.com/8a27e5711cbc7511d029ea532f45651bfd0e4aa6/drivers/gpu/drm/i915/i915_sysfs.c [modify] https://crrev.com/8a27e5711cbc7511d029ea532f45651bfd0e4aa6/drivers/gpu/drm/i915/i915_irq.c [modify] https://crrev.com/8a27e5711cbc7511d029ea532f45651bfd0e4aa6/drivers/gpu/drm/i915/intel_pm.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/c6f86f1fec908785d28ed4509cb2163a3759b178 commit c6f86f1fec908785d28ed4509cb2163a3759b178 Author: Sagar Arun Kamble <sagar.a.kamble@intel.com> Date: Wed Feb 07 19:54:41 2018 UPSTREAM: drm/i915: Name structure in dev_priv that contains RPS/RC6 state as "gt_pm" Prepared substructure rps for RPS related state. autoenable_work is used for RC6 too hence it is defined outside rps structure. As we do this lot many functions are refactored to use intel_rps *rps to access rps related members. Hence renamed intel_rps_client pointer variables to rps_client in various functions. v2: Rebase. v3: s/pm/gt_pm (Chris) Refactored access to rps structure by declaring struct intel_rps * in many functions. Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Imre Deak <imre.deak@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> #1 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/1507360055-19948-9-git-send-email-sagar.a.kamble@intel.com Acked-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20171010213010.7415-8-chris@chris-wilson.co.uk (cherry picked from commit 562d9bae08a10335368bf54ea5cc7e4f6185bccc) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Id5648c655df6cadbd07ffe90220223e6c40d32e1 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843428 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/c6f86f1fec908785d28ed4509cb2163a3759b178/drivers/gpu/drm/i915/i915_gem.c [modify] https://crrev.com/c6f86f1fec908785d28ed4509cb2163a3759b178/drivers/gpu/drm/i915/i915_drv.c [modify] https://crrev.com/c6f86f1fec908785d28ed4509cb2163a3759b178/drivers/gpu/drm/i915/i915_debugfs.c [modify] https://crrev.com/c6f86f1fec908785d28ed4509cb2163a3759b178/drivers/gpu/drm/i915/i915_drv.h [modify] https://crrev.com/c6f86f1fec908785d28ed4509cb2163a3759b178/drivers/gpu/drm/i915/intel_drv.h [modify] https://crrev.com/c6f86f1fec908785d28ed4509cb2163a3759b178/drivers/gpu/drm/i915/i915_gem_request.c [modify] https://crrev.com/c6f86f1fec908785d28ed4509cb2163a3759b178/drivers/gpu/drm/i915/i915_guc_submission.c [modify] https://crrev.com/c6f86f1fec908785d28ed4509cb2163a3759b178/drivers/gpu/drm/i915/i915_sysfs.c [modify] https://crrev.com/c6f86f1fec908785d28ed4509cb2163a3759b178/drivers/gpu/drm/i915/i915_irq.c [modify] https://crrev.com/c6f86f1fec908785d28ed4509cb2163a3759b178/drivers/gpu/drm/i915/intel_pm.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b57a60865b5453b8bd40d00e760d7400d91c4388 commit b57a60865b5453b8bd40d00e760d7400d91c4388 Author: David Weinehall <david.weinehall@linux.intel.com> Date: Wed Feb 07 19:54:57 2018 UPSTREAM: drm/i915: Don't use GEN6_RC_VIDEO_FREQ on gen10+ GEN6_RC_VIDEO_FREQ is deprecated for >= gen10; don't try to program it. v2: Use IS_GEN9() instead of INTEL_GEN() and remove comment (Rodrigo) Signed-off-by: David Weinehall <david.weinehall@linux.intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171117080146.20150-1-david.weinehall@linux.intel.com (cherry picked from commit 36fe778a489e0461126fc657ff333522c24d5391) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Iee513f37ca76b8e406fda2148aeaa8ccd037b18f Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843429 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/b57a60865b5453b8bd40d00e760d7400d91c4388/drivers/gpu/drm/i915/intel_pm.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/f883bc79202947799440b58d0c940a59550a153d commit f883bc79202947799440b58d0c940a59550a153d Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Feb 07 19:54:14 2018 UPSTREAM: drm/i915: Pin fence for iomap Acquire the fence register for the iomap in i915_vma_pin_iomap() on behalf of the caller. We probably want for the caller to specify whether the fence should be pinned for their usage, but at the moment all callers do want the associated fence, or none, so take it on their behalf. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171009084401.29090-1-chris@chris-wilson.co.uk (cherry picked from commit b4563f595ed44514467cfb3566b8b6519f328354) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Id91ea4b1fd35cf4356439e06d1aae5245c319749 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843430 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/f883bc79202947799440b58d0c940a59550a153d/drivers/gpu/drm/i915/i915_vma.c [modify] https://crrev.com/f883bc79202947799440b58d0c940a59550a153d/drivers/gpu/drm/i915/i915_vma.h [modify] https://crrev.com/f883bc79202947799440b58d0c940a59550a153d/drivers/gpu/drm/i915/selftests/i915_gem_object.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/c7649730df65f55b03cd22b9117ee68a809f2a4e commit c7649730df65f55b03cd22b9117ee68a809f2a4e Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Feb 07 19:54:17 2018 UPSTREAM: drm/i915: Consolidate get_fence with pin_fence Following the pattern now used for obj->mm.pages, use just pin_fence and unpin_fence to control access to the fence registers. I.e. instead of calling get_fence(); pin_fence(), we now just need to call pin_fence(). This will make it easier to reduce the locking requirements around fence registers. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20171009084401.29090-2-chris@chris-wilson.co.uk Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> (cherry picked from commit 3bd4073524fa1586435725ad45ff971a6c2b2537) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ib19a9bc31afed2a3454e37886975bbdc1afefa8d Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843431 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/c7649730df65f55b03cd22b9117ee68a809f2a4e/drivers/gpu/drm/i915/i915_gem.c [modify] https://crrev.com/c7649730df65f55b03cd22b9117ee68a809f2a4e/drivers/gpu/drm/i915/i915_vma.c [modify] https://crrev.com/c7649730df65f55b03cd22b9117ee68a809f2a4e/drivers/gpu/drm/i915/i915_drv.h [modify] https://crrev.com/c7649730df65f55b03cd22b9117ee68a809f2a4e/drivers/gpu/drm/i915/i915_vma.h [modify] https://crrev.com/c7649730df65f55b03cd22b9117ee68a809f2a4e/drivers/gpu/drm/i915/i915_gem_execbuffer.c [modify] https://crrev.com/c7649730df65f55b03cd22b9117ee68a809f2a4e/drivers/gpu/drm/i915/intel_display.c [modify] https://crrev.com/c7649730df65f55b03cd22b9117ee68a809f2a4e/drivers/gpu/drm/i915/i915_gem_fence_reg.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/40b3d40d943c0f7ad62fd8ad4f54a459e6f1659c commit 40b3d40d943c0f7ad62fd8ad4f54a459e6f1659c Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Feb 07 19:54:20 2018 UPSTREAM: drm/i915: Track user GTT faulting per-vma We don't wish to refault the entire object (other vma) when unbinding one partial vma. To do this track which vma have been faulted into the user's address space. v2: Use a local vma_offset to tidy up a multiline unmap_mapping_range(). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20171009084401.29090-3-chris@chris-wilson.co.uk Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> (cherry picked from commit a65adaf8a834504a4acdc0deca7fa790771add8a) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Iac1468a08d8d4a339322a1a1547d4bd72f7b95f2 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843432 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/40b3d40d943c0f7ad62fd8ad4f54a459e6f1659c/drivers/gpu/drm/i915/i915_gem.c [modify] https://crrev.com/40b3d40d943c0f7ad62fd8ad4f54a459e6f1659c/drivers/gpu/drm/i915/i915_gem_evict.c [modify] https://crrev.com/40b3d40d943c0f7ad62fd8ad4f54a459e6f1659c/drivers/gpu/drm/i915/i915_vma.c [modify] https://crrev.com/40b3d40d943c0f7ad62fd8ad4f54a459e6f1659c/drivers/gpu/drm/i915/i915_debugfs.c [modify] https://crrev.com/40b3d40d943c0f7ad62fd8ad4f54a459e6f1659c/drivers/gpu/drm/i915/i915_vma.h [modify] https://crrev.com/40b3d40d943c0f7ad62fd8ad4f54a459e6f1659c/drivers/gpu/drm/i915/i915_gem_object.h [modify] https://crrev.com/40b3d40d943c0f7ad62fd8ad4f54a459e6f1659c/drivers/gpu/drm/i915/i915_gem_fence_reg.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/8a1a0317d2034d79b0434d96bfde484e71185bcf commit 8a1a0317d2034d79b0434d96bfde484e71185bcf Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Feb 07 19:55:03 2018 UPSTREAM: drm/i915: Track GGTT writes on the vma As writes through the GTT and GGTT PTE updates do not share the same path, they are not strictly ordered and so we must explicitly flush the indirect writes prior to modifying the PTE. We do track outstanding GGTT writes on the object itself, but since the object may have multiple GGTT vma, that is overly coarse as we can track and flush individual vma as required. Whilst here, update the GGTT flushing behaviour for Cannonlake. v2: Hard-code ring offset to allow use during unload (after RCS may have been freed, or never existed!) References: https://bugs.freedesktop.org/show_bug.cgi?id=104002 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171206124914.19960-2-chris@chris-wilson.co.uk (cherry picked from commit 7125397b82460d74ae0584bdcdc006deec5e895d) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: If412e76d829d17168ba303bdd55b705f597dff48 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843433 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/8a1a0317d2034d79b0434d96bfde484e71185bcf/drivers/gpu/drm/i915/i915_gem.c [modify] https://crrev.com/8a1a0317d2034d79b0434d96bfde484e71185bcf/drivers/gpu/drm/i915/i915_drv.h [modify] https://crrev.com/8a1a0317d2034d79b0434d96bfde484e71185bcf/drivers/gpu/drm/i915/i915_vma.c [modify] https://crrev.com/8a1a0317d2034d79b0434d96bfde484e71185bcf/drivers/gpu/drm/i915/i915_vma.h
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/34c6abdf267555e784d74a8afe984748809b817e commit 34c6abdf267555e784d74a8afe984748809b817e Author: Ville Syrjälä <ville.syrjala@linux.intel.com> Date: Wed Feb 07 19:54:44 2018 UPSTREAM: drm/i915: Use cdclk_state->voltage on BXT/GLK Track the system agent voltage we request from pcode in the cdclk state on BXT/GLK. Annoyingly we can't actually read out the current value since there's no pcode command to do that, so we'll have to just assume that it worked. v2: s/voltage/voltage_level/ (Rodrigo) Cc: Mika Kahola <mika.kahola@intel.com> Cc: Manasi Navare <manasi.d.navare@intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Ville Syrjl <ville.syrjala@linux.intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171024095216.1638-7-ville.syrjala@linux.intel.com (cherry picked from commit 2123f442ca42e9dce2fcb51e8d4fd8180339b4f0) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I60168a9488188c2d6e160779f4205df94de2215f Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843434 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/34c6abdf267555e784d74a8afe984748809b817e/drivers/gpu/drm/i915/intel_cdclk.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/a08a0f6edc95402fb292ee3cd14c000db56c8d19 commit a08a0f6edc95402fb292ee3cd14c000db56c8d19 Author: Colin Ian King <colin.king@canonical.com> Date: Wed Feb 07 19:54:09 2018 UPSTREAM: drm/i915/gvt: ensure -ve return value is handled correctly An earlier fix changed the return type from find_bb_size however the integer return is being assigned to a unsigned int so the -ve error check will never be detected. Make bb_size an int to fix this. Detected by CoverityScan CID#1456886 ("Unsigned compared against 0") Fixes: 1e3197d6ad73 ("drm/i915/gvt: Refine error handling for perform_bb_shadow") Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> (cherry picked from commit 24f8a29af4afe7c53e08f4afa0c3fa9eb3791b89) Signed-off-by: Jani Nikula <jani.nikula@intel.com> (cherry picked from commit dcd1d8302a06b0a0e5d6f9b6851fa4a5579e79b0) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ia34276f8b716e1193d552ed3692c72d262ca434a Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843435 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/a08a0f6edc95402fb292ee3cd14c000db56c8d19/drivers/gpu/drm/i915/gvt/cmd_parser.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e3d91bfdf444ca8beb03dd5913fc3de93542b0c8 commit e3d91bfdf444ca8beb03dd5913fc3de93542b0c8 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Feb 07 19:54:55 2018 UPSTREAM: drm/i915: Mark the userptr invalidate workqueue as WQ_MEM_RECLAIM Commit 21cc6431e0c2 ("drm/i915: Mark the userptr invalidate workqueue as WQ_MEM_RECLAIM") tried to fixup the check_flush_dependency warning for hitting i915_gem_userptr_mn_invalidate_range_start from within the shrinker, but I failed to notice userptr has 2 similarly named workqueues. I marked up i915-userptr-acquire as WQ_MEM_RECLAIM whereas we only wait upon i915-userptr-release from inside the reclaim paths. [62530.869510] workqueue: PF_MEMALLOC task 7983(gem_shrink) is flushing !WQ_MEM_RECLAIM i915-userptr-release: (null) [62530.869515] ------------[ cut here ]------------ [62530.869519] WARNING: CPU: 1 PID: 7983 at kernel/workqueue.c:2434 check_flush_dependency+0x7f/0x110 [62530.869519] Modules linked in: pegasus mii ip6table_filter ip6_tables bnep iptable_filter snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic binfmt_misc nls_iso8859_1 intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp snd_hda_intel snd_hda_codec kvm_intel snd_hda_core snd_hwdep kvm snd_pcm irqbypass snd_seq_midi snd_seq_midi_event snd_rawmidi crct10dif_pclmul crc32_pclmul 8250_dw ghash_clmulni_intel snd_seq pcbc snd_seq_device snd_timer btusb aesni_intel btrtl btbcm aes_x86_64 iwlwifi btintel crypto_simd glue_helper cryptd bluetooth snd intel_cstate input_leds idma64 intel_rapl_perf ecdh_generic serio_raw soundcore cfg80211 wmi_bmof virt_dma intel_lpss_pci intel_lpss acpi_als kfifo_buf industrialio winbond_cir soc_button_array rc_core spidev tpm_crb intel_hid acpi_pad mac_hid sparse_keymap [62530.869546] parport_pc ppdev lp parport ip_tables x_tables autofs4 hid_generic usbhid i915 i2c_algo_bit prime_numbers drm_kms_helper syscopyarea e1000e sysfillrect sysimgblt fb_sys_fops ahci ptp pps_core libahci drm wmi video i2c_hid hid [62530.869557] CPU: 1 PID: 7983 Comm: gem_shrink Tainted: G U W L 4.14.0-rc8-drm-tip-ww45-commit-1342299+ #1 [62530.869558] Hardware name: Intel Corporation CoffeeLake Client Platform/CoffeeLake H DDR4 RVP, BIOS CNLSFWR1.R00.X098.A00.1707301945 07/30/2017 [62530.869559] task: ffffa1049dbeec80 task.stack: ffffae7d05c44000 [62530.869560] RIP: 0010:check_flush_dependency+0x7f/0x110 [62530.869561] RSP: 0018:ffffae7d05c473a0 EFLAGS: 00010286 [62530.869562] RAX: 000000000000006e RBX: ffffa1049540f400 RCX: ffffffffa3e55788 [62530.869562] RDX: 0000000000000000 RSI: 0000000000000092 RDI: 0000000000000202 [62530.869563] RBP: ffffae7d05c473c0 R08: 000000000000006e R09: 000000000038bb0e [62530.869563] R10: 0000000000000000 R11: 000000000000006e R12: ffffa1049dbeec80 [62530.869564] R13: 0000000000000000 R14: 0000000000000000 R15: ffffae7d05c473e0 [62530.869565] FS: 00007f621b129880(0000) GS:ffffa1050b240000(0000) knlGS:0000000000000000 [62530.869566] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [62530.869566] CR2: 00007f6214400000 CR3: 0000000353a17003 CR4: 00000000003606e0 [62530.869567] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [62530.869567] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [62530.869568] Call Trace: [62530.869570] flush_workqueue+0x115/0x3d0 [62530.869573] ? wake_up_process+0x15/0x20 [62530.869596] i915_gem_userptr_mn_invalidate_range_start+0x12f/0x160 [i915] [62530.869614] ? i915_gem_userptr_mn_invalidate_range_start+0x12f/0x160 [i915] [62530.869616] __mmu_notifier_invalidate_range_start+0x55/0x80 [62530.869618] try_to_unmap_one+0x791/0x8b0 [62530.869620] ? call_rwsem_down_read_failed+0x18/0x30 [62530.869622] rmap_walk_anon+0x10b/0x260 [62530.869624] rmap_walk+0x48/0x60 [62530.869625] try_to_unmap+0x93/0xf0 [62530.869626] ? page_remove_rmap+0x2a0/0x2a0 [62530.869627] ? page_not_mapped+0x20/0x20 [62530.869629] ? page_get_anon_vma+0x90/0x90 [62530.869630] ? invalid_mkclean_vma+0x20/0x20 [62530.869631] migrate_pages+0x946/0xaa0 [62530.869633] ? __ClearPageMovable+0x10/0x10 [62530.869635] ? isolate_freepages_block+0x3c0/0x3c0 [62530.869636] compact_zone+0x22f/0x970 [62530.869638] compact_zone_order+0xa3/0xd0 [62530.869640] try_to_compact_pages+0x1a5/0x2a0 [62530.869641] ? try_to_compact_pages+0x1a5/0x2a0 [62530.869643] __alloc_pages_direct_compact+0x50/0x110 [62530.869644] __alloc_pages_slowpath+0x4da/0xf30 [62530.869646] __alloc_pages_nodemask+0x262/0x280 [62530.869648] alloc_pages_vma+0x165/0x1e0 [62530.869649] shmem_alloc_hugepage+0xd0/0x130 [62530.869651] ? __radix_tree_insert+0x45/0x230 [62530.869652] ? __vm_enough_memory+0x29/0x130 [62530.869654] shmem_alloc_and_acct_page+0x10d/0x1e0 [62530.869655] shmem_getpage_gfp+0x426/0xc00 [62530.869657] shmem_fault+0xa0/0x1e0 [62530.869659] ? file_update_time+0x60/0x110 [62530.869660] __do_fault+0x1e/0xc0 [62530.869661] __handle_mm_fault+0xa35/0x1170 [62530.869662] handle_mm_fault+0xcc/0x1c0 [62530.869664] __do_page_fault+0x262/0x4f0 [62530.869666] do_page_fault+0x2e/0xe0 [62530.869667] page_fault+0x22/0x30 [62530.869668] RIP: 0033:0x404335 [62530.869669] RSP: 002b:00007fff7829e420 EFLAGS: 00010216 [62530.869670] RAX: 00007f6210400000 RBX: 0000000000000004 RCX: 0000000000b80000 [62530.869670] RDX: 0000000000002e01 RSI: 0000000000008000 RDI: 0000000000000004 [62530.869671] RBP: 0000000000000019 R08: 0000000000000002 R09: 0000000000000000 [62530.869671] R10: 0000000000000559 R11: 0000000000000246 R12: 0000000008000000 [62530.869672] R13: 00000000004042f0 R14: 0000000000000004 R15: 000000000000007e [62530.869673] Code: 00 8b b0 18 05 00 00 48 8d 8b b0 00 00 00 48 8d 90 c0 06 00 00 4d 89 f0 48 c7 c7 40 c0 c8 a3 c6 05 68 c5 e8 00 01 e8 c2 68 04 00 <0f> ff 4d 85 ed 74 18 49 8b 45 20 48 8b 70 08 8b 86 00 01 00 00 [62530.869691] ---[ end trace 01e01ad0ff5781f8 ]--- Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103739 Fixes: 21cc6431e0c2 ("drm/i915: Mark the userptr invalidate workqueue as WQ_MEM_RECLAIM") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Micha Winiarski <michal.winiarski@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171114173520.8829-1-chris@chris-wilson.co.uk Reviewed-by: Matthew Auld <matthew.auld@intel.com> (cherry picked from commit 41729bf2248bc8593e5103d43974079cc269524c) Signed-off-by: Jani Nikula <jani.nikula@intel.com> (cherry picked from commit 457db89b538ea4eb2a188c75f8f3a83469395ee0) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ie590689527586a53aa6586cd04ca6f53f4a3ce74 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843436 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/e3d91bfdf444ca8beb03dd5913fc3de93542b0c8/drivers/gpu/drm/i915/i915_gem_userptr.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/059c9d0a2c0b25fd06ff89124a6adf752516ba67 commit 059c9d0a2c0b25fd06ff89124a6adf752516ba67 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Feb 07 19:55:05 2018 UPSTREAM: drm/i915/fence: Use rcu to defer freeing of irq_work It is illegal to perform an immediate free of the struct irq_work from inside the irq_work callback (as irq_work_run_list modifies work->flags after execution of the work->func()). As we use the irq_work to coordinate the freeing of the callback from two different softirq paths, we need to defer the kfree from inside our irq_work callback, for which we can use kfree_rcu. Fixes: 81c0ed21aa91 ("drm/i915/fence: Avoid del_timer_sync() from inside a timer") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171213094802.28243-1-chris@chris-wilson.co.uk (cherry picked from commit 7d622351c94172a42bfe9b13bdb0fdc2be90ed3b) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I8724ce6a27fcf97267f9e9768eb0c61c7a1ede47 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843437 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/059c9d0a2c0b25fd06ff89124a6adf752516ba67/drivers/gpu/drm/i915/i915_sw_fence.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/89f82eec476516f51164f980806c3f4f6cc8c9af commit 89f82eec476516f51164f980806c3f4f6cc8c9af Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Feb 07 19:54:12 2018 UPSTREAM: drm/i915/selftests: Remember to create the fake preempt context For the fake device we have our own set of mock contexts that need to match the real contexts we normally create. Currently this requires us to manually instantiate them for the selftests, which I forgot. Reported-by: Matthew Auld <matthew.william.auld@gmail.com> Fixes: e7af3116836f ("drm/i915: Introduce a preempt context") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Micha Winiarski <michal.winiarski@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Matthew Auld <matthew.william.auld@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171005105927.22991-1-chris@chris-wilson.co.uk Reviewed-by: Matthew Auld <matthew.william.auld@gmail.com> (cherry picked from commit e91ef99b95439fc634e9c9753887d363a848f452) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I40f11f6b66cf0f94bffaa56523b1e61100bcfa42 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843439 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/89f82eec476516f51164f980806c3f4f6cc8c9af/drivers/gpu/drm/i915/selftests/mock_gem_device.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/ddd27534d9eb07938cc2f86bdba83a20fafc36d7 commit ddd27534d9eb07938cc2f86bdba83a20fafc36d7 Author: Xiong Zhang <xiong.y.zhang@intel.com> Date: Wed Feb 07 19:54:49 2018 UPSTREAM: drm/i915/gvt: Limit read hw reg to active vgpu mmio_read_from_hw() let vgpu could read hw reg, if vgpu's workload is running on hw, things is good. Otherwise vgpu will get other vgpu's reg val, it is unsafe. This patch limit such hw access to active vgpu. If vgpu isn't running on hw, the reg read of this vgpu will get the last active val which saved at schedule_out. v2: ring timestamp is walking continuously even if the ring is idle. so read hw directly. (Zhenyu) Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> (cherry picked from commit 295764cd2ff41e2c1bc8af4050de77cec5e7a1c0) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Iefc1bbe45cbca0aeefac97dd36b0029b2160c7c0 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843440 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/ddd27534d9eb07938cc2f86bdba83a20fafc36d7/drivers/gpu/drm/i915/gvt/scheduler.c [modify] https://crrev.com/ddd27534d9eb07938cc2f86bdba83a20fafc36d7/drivers/gpu/drm/i915/gvt/handlers.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/d36d011c046a475216b61aba4df246c210ba96e7 commit d36d011c046a475216b61aba4df246c210ba96e7 Author: Zhenyu Wang <zhenyuw@linux.intel.com> Date: Wed Feb 07 19:55:00 2018 UPSTREAM: drm/i915/gvt: Don't mark vgpu context as inactive when preempted We shouldn't mark inactive for vGPU context if preempted, which would still be re-scheduled later. So keep active state. Fixes: d6c0511300dc ("drm/i915/execlists: Distinguish the incomplete context notifies") Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> (cherry picked from commit da5f99eaccc10e30bf82eb02b1be74703b878720) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Iba72ca3f29f0f57d5c2e8c5f3cc0fda520ce8c44 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843441 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/d36d011c046a475216b61aba4df246c210ba96e7/drivers/gpu/drm/i915/gvt/scheduler.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/3dfbcb31a77de665b247d9b312e8c39e6893f02d commit 3dfbcb31a77de665b247d9b312e8c39e6893f02d Author: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Date: Wed Feb 07 19:55:08 2018 UPSTREAM: drm/i915/cnl: Add support for horizontal plane flipping CNL supports horizontal plane flipping on non-linear plane formats. v2: - Avoid BUG unlike elsewhere in the code (Ville) - Hoist the rotation-tiling restriction check (Ville) v3 (Rodrigo): - Rebased after a while. - Fix small indentation issues. Bspec: 7656 Suggested-by: Anusha Srivatsa <anusha.srivatsa@intel.com> Cc: Ville Syrjala <ville.syrjala@linux.intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Anusha Srivatsa <anusha.srivatsa@intel.com> Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Ville Syrjl <ville.syrjala@linux.intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171215213800.7896-1-rodrigo.vivi@intel.com (cherry picked from commit 5f8e3f57acf9f28bda1b91545fb204c29f39cc6d) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Icc41efdcf7a009b47d57078dd197cbf084b1b4a5 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843442 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/3dfbcb31a77de665b247d9b312e8c39e6893f02d/drivers/gpu/drm/i915/intel_display.c [modify] https://crrev.com/3dfbcb31a77de665b247d9b312e8c39e6893f02d/drivers/gpu/drm/i915/i915_reg.h
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/76352bb55886cca3cddff5cabb75627bc8fe6166 commit 76352bb55886cca3cddff5cabb75627bc8fe6166 Author: Rodrigo Vivi <rodrigo.vivi@intel.com> Date: Wed Feb 07 19:55:11 2018 UPSTREAM: drm/i915: Protect DDI port to DPLL map from theoretical race. In case we have multiple modesets for different connectors happening in parallel we could have a race on the RMW on these shared registers. This possibility was initially raised by Paulo when reviewing commit '555e38d27317 ("drm/i915/cnl: DDI - PLL mapping")' but the original possibility comes from commit '5416d871136d ("drm/i915/skl: Set the eDP link rate on DPLL0")'. Or maybe later when atomic commits entered into picture. Apparently the discussion around this topic showed that the right solution would be on serializing the atomic commits in a way that we don't have the possibility of races here since if that parallel modeset happenings apparently many other things will be on fire. Code is there since SKL and there was no report of issue, but since we never looked back to that serialization possibility, and also we don't have an igt case for that it is better to at least protect this corner. Suggested-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Fixes: 555e38d27317 ("drm/i915/cnl: DDI - PLL mapping") Fixes: 5416d871136d ("drm/i915/skl: Set the eDP link rate on DPLL0") Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> Cc: Ville Syrjl <ville.syrjala@linux.intel.com> Cc: Maarten Lankhorst maarten.lankhorst@linux.intel.com Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Maarten Lankhorst maarten.lankhorst@linux.intel.com Link: https://patchwork.freedesktop.org/patch/msgid/20171215224310.19103-1-rodrigo.vivi@intel.com (cherry picked from commit 8edcda1266f93816fde77c9754f388ae0ae343fc) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I7027097de9ad284f9c5974b54dea15f5f9815d1c Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843443 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/76352bb55886cca3cddff5cabb75627bc8fe6166/drivers/gpu/drm/i915/intel_ddi.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/eb554711ce35ce25741928b93c9c121388bcfaa2 commit eb554711ce35ce25741928b93c9c121388bcfaa2 Author: Rafael Antognolli <rafael.antognolli@intel.com> Date: Wed Feb 07 19:55:13 2018 UPSTREAM: drm/i915: Implement WaDisableVFclkgate. This workaround supposedly fixes some hangs in the VF unit. Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171216001117.14232-1-rafael.antognolli@intel.com (cherry picked from commit 01ab0f9216070f3337b3da8953a259072f5bd4f7) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I5be1159c95696b1a38ee5e1ef96dd8fccfca8810 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843444 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/eb554711ce35ce25741928b93c9c121388bcfaa2/drivers/gpu/drm/i915/intel_pm.c [modify] https://crrev.com/eb554711ce35ce25741928b93c9c121388bcfaa2/drivers/gpu/drm/i915/i915_reg.h
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/dc5cfdd24a301ef943f04a4bd3a7d80716131a61 commit dc5cfdd24a301ef943f04a4bd3a7d80716131a61 Author: Rafael Antognolli <rafael.antognolli@intel.com> Date: Wed Feb 07 19:55:16 2018 UPSTREAM: drm/i915: Implement WaDisableEarlyEOT. There seems to be another clock gating issue which the workaround is described as: "WA: Set 0xE4F0[1] = 1 to disable Early EOT of thread." Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171216001117.14232-2-rafael.antognolli@intel.com (cherry picked from commit a2b16588578f8edd0e39c7a6554b047b13e8ca79) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I68953a827360da67b441b506c9bc8f3e46c58641 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/843445 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/dc5cfdd24a301ef943f04a4bd3a7d80716131a61/drivers/gpu/drm/i915/intel_engine_cs.c [modify] https://crrev.com/dc5cfdd24a301ef943f04a4bd3a7d80716131a61/drivers/gpu/drm/i915/i915_reg.h
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/fa8cce6e18fd88cc3a4a37a777c9652f5ffa2b23 commit fa8cce6e18fd88cc3a4a37a777c9652f5ffa2b23 Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Date: Wed Feb 07 19:54:06 2018 UPSTREAM: drm/i915: Always wait for flip_done, v2. The next commit removes the wait for flip_done in in drm_atomic_helper_commit_cleanup_done, but we need it for the tests to pass. Instead of using complicated vblank tracking which ends up being ignored anyway, call the correct atomic helper. :) Changes since v1: - Always call drm_atomic_helper_wait_for_flip_done, even for legacy cursor updates. (danvet) Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170904104838.23822-2-maarten.lankhorst@linux.intel.com Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit b44d5c0c105aa84b46caff9fdd606dc9a7b86419) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I329259e1e485cde121f796ed9e5f491377a68d1c Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/900084 Tested-by: Abhijeet Kumar <abhijeet.kumar@intel.corp-partner.google.com> Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/fa8cce6e18fd88cc3a4a37a777c9652f5ffa2b23/drivers/gpu/drm/i915/intel_display.c [modify] https://crrev.com/fa8cce6e18fd88cc3a4a37a777c9652f5ffa2b23/drivers/gpu/drm/i915/i915_drv.h
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/3357750613279e022c7601e696dd4974dc02fbb7 commit 3357750613279e022c7601e696dd4974dc02fbb7 Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Date: Wed Feb 07 19:54:47 2018 UPSTREAM: drm/atomic: Try to preserve the crtc enabled state in drm_atomic_remove_fb, v2. This introduces a slight behavioral change to rmfb. Instead of disabling a crtc when the primary plane is disabled, we try to preserve it. Apart from old versions of the vmwgfx xorg driver, there is nothing depending on rmfb disabling a crtc. Vmwgfx' and simple kms helper atomic implementation rejects CRTC enabled without plane, so we can do this safely. If the atomic commit is rejected by the driver then we will still fall back to the old behavior and turn off the crtc. Changes since v1: - Restart completely when rmfb with crtc on fails (Sean Paul). Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Sean Paul <seanpaul@chromium.org> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171101150433.10777-1-maarten.lankhorst@linux.intel.com Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 846c7dfc1193eb2f9866fe2fa0ae7d45c72f95b9) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: Ib5a4a8fa1cc0d8c5097fa7ca3e0b34c07d470d8f Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/900085 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/3357750613279e022c7601e696dd4974dc02fbb7/drivers/gpu/drm/drm_framebuffer.c
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/1ce12c965f89cfba51760a503983280d01ab00d1 commit 1ce12c965f89cfba51760a503983280d01ab00d1 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Wed Feb 07 19:54:52 2018 UPSTREAM: drm/atomic-helper: always track connector commits, too It's useful for syncing async connector work like link retraining. v2: Make it work (Manasi&Ville) Cc: Manasi Navare <manasi.d.navare@intel.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Ville Syrjl <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171110105313.16718-1-daniel.vetter@ffwll.ch (cherry picked from commit 1f2d9bdc9085a4477a997344b17c40ba2a28d4e4) BUG=chromium:783394 TEST=CNL boots to graphics Change-Id: I9f7dab95dcd41d919f09319be340bca49ab05d2d Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/900086 Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/1ce12c965f89cfba51760a503983280d01ab00d1/drivers/gpu/drm/drm_atomic_helper.c
,
Feb 9 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b9014010a4ab69e5bff6d09f1b60bac2ec164828 commit b9014010a4ab69e5bff6d09f1b60bac2ec164828 Author: Zhi Wang <zhi.a.wang@intel.com> Date: Fri Feb 09 10:19:56 2018 UPSTREAM: drm/i915/gvt: Export intel_gvt_render_mmio_to_ring_id() Since many emulation logic needs to convert the offset of ring registers into ring id, we export it for other caller which might need it. Signed-off-by: Zhi Wang <zhi.a.wang@intel.com> (cherry picked from commit 62a6a53786fc4b4e7543cc63b704dbb3f7df4c0f) (cherry picked from commit 365ad5df9caa1a7ebc73b8d70ab94bbf6a74268a) Fixes: Change-Id:Iefc1bbe45cb "UPSTREAM: drm/i915/gvt: Limit read hw reg to active vgpu" BUG=chromium:783394, chromium:810530 TEST='make allmodconfig' successful and device boots to graphics Change-Id: I906a02bb7c33c7f5066536309b4ac90450834416 Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Reviewed-on: https://chromium-review.googlesource.com/909991 Commit-Ready: Guenter Roeck <groeck@chromium.org> Tested-by: Guenter Roeck <groeck@chromium.org> Reviewed-by: Guenter Roeck <groeck@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/b9014010a4ab69e5bff6d09f1b60bac2ec164828/drivers/gpu/drm/i915/gvt/mmio.h [modify] https://crrev.com/b9014010a4ab69e5bff6d09f1b60bac2ec164828/drivers/gpu/drm/i915/gvt/handlers.c
,
Aug 3
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/31b907e75e2a67f19803f73958a1ff5112d526ca commit 31b907e75e2a67f19803f73958a1ff5112d526ca Author: Mahesh Kumar <mahesh1.kumar@intel.com> Date: Fri Aug 03 00:58:28 2018 BACKPORT: drm/i915/gen9+: Add has_ipc flag in device info structure New Isochronous Priority Control (IPC) capability is introduced in newer GEN platforms. This patch adds a device info flag to indicate if platform supports IPC. Patch also sets this flag in supported platforms. Signed-off-by: Mahesh Kumar <mahesh1.kumar@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170817134529.2839-7-mahesh1.kumar@intel.com (cherry picked from commit e57f1c02155f4f108b9d3ba2bed687e8e9f95e18 git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Original-Change-Id: Iddd41feae4618468a68b8ffec378d01d7eb25bc0 Reviewed-on: https://chromium-review.googlesource.com/782914 Commit-Ready: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stphane Marchesin <marcheu@chromium.org> (cherry picked from commit 0b79608f971336931a33f6593bc35baa0c2cebba) Backport: i915 driver is refactored in between 4.4 and 4.14 Change it back to 4.4 format BUG=b:68012237, b:65096022 TEST=Pass psr2 test in go/eve-psr2-repro 1. no flicker when run this script on right half of the screen for i in {1..999}; do echo $(cat /dev/urandom | tr -cd [:alnum:] | head -c $(($i * 31 % 13 + 15))) $i sleep 0.205 done 2. test_that IP cheets_CTS_N.x86.CtsMonkeyTestCases Change-Id: Ib5dc56890d962a63960411ab1a1b7b7322de3d03 Signed-off-by: Puthikorn Voravootivat <puthik@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1006160 Reviewed-by: Todd Broch <tbroch@chromium.org> [modify] https://crrev.com/31b907e75e2a67f19803f73958a1ff5112d526ca/drivers/gpu/drm/i915/i915_drv.h [modify] https://crrev.com/31b907e75e2a67f19803f73958a1ff5112d526ca/drivers/gpu/drm/i915/i915_pci.c
,
Aug 3
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/ea00a56b6ad71704bbd19919ea00f2f50f13b8f3 commit ea00a56b6ad71704bbd19919ea00f2f50f13b8f3 Author: Kumar, Mahesh <mahesh1.kumar@intel.com> Date: Fri Aug 03 00:58:30 2018 UPSTREAM: drm/i915/bxt+: Enable IPC support This patch adds IPC support. This patch also enables IPC in all supported platforms based on has_ipc flag. IPC (Isochronous Priority Control) is the hardware feature, which dynamically controls the memory read priority of Display. When IPC is enabled, plane read requests are sent at high priority until filling above the transition watermark, then the requests are sent at lower priority until dropping below the level 0 watermark. The lower priority requests allow other memory clients to have better memory access. When IPC is disabled, all plane read requests are sent at high priority. Changes since V1: - Remove commandline parameter to disable ipc - Address Paulo's comments Changes since V2: - Address review comments - Set ipc_enabled flag Changes since V3: - move ipc_enabled flag assignment inside intel_ipc_enable function Changes since V4: - Re-enable IPC after suspend/resume Changes since V5: - Enable IPC for all gen >=9 except SKL Changes since V6: - fix commit msg - after resume program IPC based on SW state. Changes since V7: - Modify IPC support check based on HAS_IPC macro (suggested by Chris) Signed-off-by: Mahesh Kumar <mahesh1.kumar@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170817134529.2839-8-mahesh1.kumar@intel.com (cherry picked from commit 2503a0fef214ddadfdf5844d62453591de35586f git://anongit.freedesktop.org/drm-intel drm-intel-next-queued) Signed-off-by: Nathan Ciobanu <nathan.d.ciobanu@intel.com> BUG=chromium:783394 TEST=CNL boots to graphics Original-Change-Id: Iacc0a85c7e2c89232d2709955bdc678b86a702c7 Reviewed-on: https://chromium-review.googlesource.com/782915 Commit-Ready: Nathan Ciobanu <nathan.d.ciobanu@intel.com> Tested-by: Casey G Bowman <casey.g.bowman@intel.com> Reviewed-by: Stphane Marchesin <marcheu@chromium.org> (cherry picked from commit 482393ebc83d1bb0779e5ed4e1c76758ece1b369) BUG=b:68012237, b:65096022 TEST=Pass psr2 test in go/eve-psr2-repro 1. no flicker when run this script on right half of the screen for i in {1..999}; do echo $(cat /dev/urandom | tr -cd [:alnum:] | head -c $(($i * 31 % 13 + 15))) $i sleep 0.205 done 2. test_that IP cheets_CTS_N.x86.CtsMonkeyTestCases Change-Id: If85e12d714747a3d73e6344594a03226ffa4acb8 Signed-off-by: Puthikorn Voravootivat <puthik@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1006161 [modify] https://crrev.com/ea00a56b6ad71704bbd19919ea00f2f50f13b8f3/drivers/gpu/drm/i915/intel_display.c [modify] https://crrev.com/ea00a56b6ad71704bbd19919ea00f2f50f13b8f3/drivers/gpu/drm/i915/i915_drv.c [modify] https://crrev.com/ea00a56b6ad71704bbd19919ea00f2f50f13b8f3/drivers/gpu/drm/i915/intel_pm.c [modify] https://crrev.com/ea00a56b6ad71704bbd19919ea00f2f50f13b8f3/drivers/gpu/drm/i915/i915_reg.h [modify] https://crrev.com/ea00a56b6ad71704bbd19919ea00f2f50f13b8f3/drivers/gpu/drm/i915/intel_drv.h
Showing comments 62 - 161
of 161
Older ›
|
||
►
Sign in to add a comment |
||