** 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 <[email protected]> - Date: Thu Apr 12 17:58:02 2018 +0300 + Author: Chris Wilson <[email protected]> + 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 <[email protected]> + 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 <[email protected]> + Signed-off-by: Chris Wilson <[email protected]> + Cc: Mika Kuoppala <[email protected]> + Cc: Joonas Lahtinen <[email protected]> + Cc: Tvrtko Ursulin <[email protected]> + Cc: Michał Winiarski <[email protected]> Cc: Rafael Antognolli <[email protected]> - Cc: Rodrigo Vivi <[email protected]> - Signed-off-by: Mika Kuoppala <[email protected]> - Acked-by: Chris Wilson <[email protected]> - Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] + Cc: Michel Thierry <[email protected]> + Cc: Timo Aaltonen <[email protected]> + Signed-off-by: Timo Aaltonen <[email protected]>
-- 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 <[email protected]> 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 <[email protected]> Signed-off-by: Chris Wilson <[email protected]> Cc: Mika Kuoppala <[email protected]> Cc: Joonas Lahtinen <[email protected]> Cc: Tvrtko Ursulin <[email protected]> Cc: Michał Winiarski <[email protected]> Cc: Rafael Antognolli <[email protected]> Cc: Michel Thierry <[email protected]> Cc: Timo Aaltonen <[email protected]> Signed-off-by: Timo Aaltonen <[email protected]> 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 : [email protected] Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp

