** Description changed: - CNL-Y SDP machine hangs soon after the system has booted up, and needs - this from drm-intel-next-queued to fix it: + CNL-Y SDP machine hangs soon after logging in, and needs this from + intel-gfx list: - commit 61bf9719fa170cd73b1937770d08cb062e070958 - Author: Mika Kuoppala <mika.kuopp...@linux.intel.com> - Date: Thu Apr 12 17:58:02 2018 +0300 + Author: Chris Wilson <ch...@chris-wilson.co.uk> + Date: Tue May 8 13:15:00 2018 +0300 - drm/i915/cnl: Use mmio access to context status buffer + drm/i915/execlists: Use rmb() to order CSB reads - Evidence indicates that Cannonlake HWSP is not coherent - as it should. Revert to using mmio access for now. + We assume that the CSB is written using the normal ringbuffer + coherency protocols, as outlined in kernel/events/ring_buffer.c: - Testcase: igt/gem_ctx_switch + * (HW) (DRIVER) + * + * if (LOAD ->data_tail) { LOAD ->data_head + * (A) smp_rmb() (C) + * STORE $data LOAD $data + * smp_wmb() (B) smp_mb() (D) + * STORE ->data_head STORE ->data_tail + * } + + So we assume that the HW fulfils it's ordering requirements, and so we + should use a complimentary rmb() to ensure that our read of its WRITE + pointer is completed before we start accessing the data. + + The final mb() is implied by the uncached mmio we perform to inform the + HW of our READ pointer. + + References: https://bugs.freedesktop.org/show_bug.cgi?id=105064 References: https://bugs.freedesktop.org/show_bug.cgi?id=105888 - Cc: Chris Wilson <ch...@chris-wilson.co.uk> + References: https://bugs.freedesktop.org/show_bug.cgi?id=106185 + References: 61bf9719fa17 ("drm/i915/cnl: Use mmio access to context status buffer") + Suggested-by: Mika Kuoppala <mika.kuopp...@linux.intel.com> + Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> + Cc: Mika Kuoppala <mika.kuopp...@linux.intel.com> + Cc: Joonas Lahtinen <joonas.lahti...@linux.intel.com> + Cc: Tvrtko Ursulin <tvrtko.ursu...@intel.com> + Cc: Michał Winiarski <michal.winiar...@intel.com> Cc: Rafael Antognolli <rafael.antogno...@intel.com> - Cc: Rodrigo Vivi <rodrigo.v...@intel.com> - Signed-off-by: Mika Kuoppala <mika.kuopp...@linux.intel.com> - Acked-by: Chris Wilson <ch...@chris-wilson.co.uk> - Link: https://patchwork.freedesktop.org/patch/msgid/20180412145802.23313-1-mika.kuopp...@linux.intel.com + Cc: Michel Thierry <michel.thie...@intel.com> + Cc: Timo Aaltonen <tjaal...@ubuntu.com> + Signed-off-by: Timo Aaltonen <timo.aalto...@canonical.com>
-- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux-oem in Ubuntu. https://bugs.launchpad.net/bugs/1769843 Title: [i915 CNL-Y] system hangs soon after bootup Status in linux-oem package in Ubuntu: Invalid Status in linux-oem source package in Bionic: In Progress Bug description: CNL-Y SDP machine hangs soon after logging in, and needs this from intel-gfx list: Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Tue May 8 13:15:00 2018 +0300 drm/i915/execlists: Use rmb() to order CSB reads We assume that the CSB is written using the normal ringbuffer coherency protocols, as outlined in kernel/events/ring_buffer.c: * (HW) (DRIVER) * * if (LOAD ->data_tail) { LOAD ->data_head * (A) smp_rmb() (C) * STORE $data LOAD $data * smp_wmb() (B) smp_mb() (D) * STORE ->data_head STORE ->data_tail * } So we assume that the HW fulfils it's ordering requirements, and so we should use a complimentary rmb() to ensure that our read of its WRITE pointer is completed before we start accessing the data. The final mb() is implied by the uncached mmio we perform to inform the HW of our READ pointer. References: https://bugs.freedesktop.org/show_bug.cgi?id=105064 References: https://bugs.freedesktop.org/show_bug.cgi?id=105888 References: https://bugs.freedesktop.org/show_bug.cgi?id=106185 References: 61bf9719fa17 ("drm/i915/cnl: Use mmio access to context status buffer") Suggested-by: Mika Kuoppala <mika.kuopp...@linux.intel.com> Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> Cc: Mika Kuoppala <mika.kuopp...@linux.intel.com> Cc: Joonas Lahtinen <joonas.lahti...@linux.intel.com> Cc: Tvrtko Ursulin <tvrtko.ursu...@intel.com> Cc: Michał Winiarski <michal.winiar...@intel.com> Cc: Rafael Antognolli <rafael.antogno...@intel.com> Cc: Michel Thierry <michel.thie...@intel.com> Cc: Timo Aaltonen <tjaal...@ubuntu.com> Signed-off-by: Timo Aaltonen <timo.aalto...@canonical.com> To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux-oem/+bug/1769843/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp