stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kamal Mostafa <kamal@canonical.com>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	kernel-team@lists.ubuntu.com
Cc: Francisco Jerez <currojerez@riseup.net>,
	Daniel Vetter <daniel@ffwll.ch>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	Kamal Mostafa <kamal@canonical.com>
Subject: [PATCH 3.8 05/81] drm/i915/hsw: Disable L3 caching of atomic memory operations.
Date: Tue, 29 Oct 2013 11:03:26 -0700	[thread overview]
Message-ID: <1383069882-11437-6-git-send-email-kamal@canonical.com> (raw)
In-Reply-To: <1383069882-11437-1-git-send-email-kamal@canonical.com>

3.8.13.12 -stable review patch.  If anyone has any objections, please let me know.

------------------

From: Francisco Jerez <currojerez@riseup.net>

commit f3fc4884ebe6ae649d3723be14b219230d3b7fd2 upstream.

Otherwise using any atomic memory operation will lock up the GPU due
to a Haswell hardware bug.

v2: Use the _MASKED_BIT_ENABLE macro.  Drop drm parameter definition.

Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Cc: Daniel Vetter <daniel@ffwll.ch>
[danvet: Fix checkpatch fail.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
[ kamal: backport to 3.8 (context) ]
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 drivers/gpu/drm/i915/i915_reg.h | 6 ++++++
 drivers/gpu/drm/i915/intel_pm.c | 5 +++++
 2 files changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 7924166..854f215 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -3485,6 +3485,9 @@
 #define GEN7_SQ_CHICKEN_MBCUNIT_CONFIG		0x9030
 #define  GEN7_SQ_CHICKEN_MBCUNIT_SQINTMOB	(1<<11)
 
+#define HSW_SCRATCH1				0xb038
+#define  HSW_SCRATCH1_L3_DATA_ATOMICS_DISABLE	(1<<27)
+
 #define HSW_FUSE_STRAP		0x42014
 #define  HSW_CDCLK_LIMIT	(1 << 24)
 
@@ -4321,6 +4324,9 @@
 #define GEN7_ROW_CHICKEN2_GT2		0xf4f4
 #define   DOP_CLOCK_GATING_DISABLE	(1<<0)
 
+#define HSW_ROW_CHICKEN3		0xe49c
+#define  HSW_ROW_CHICKEN3_L3_GLOBAL_ATOMICS_DISABLE    (1 << 6)
+
 #define G4X_AUD_VID_DID			0x62020
 #define INTEL_AUDIO_DEVCL		0x808629FB
 #define INTEL_AUDIO_DEVBLC		0x80862801
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index b035d41..0d9a852 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -3730,6 +3730,11 @@ static void haswell_init_clock_gating(struct drm_device *dev)
 	I915_WRITE(GEN7_L3_CHICKEN_MODE_REGISTER,
 			GEN7_WA_L3_CHICKEN_MODE);
 
+	/* L3 caching of data atomics doesn't work -- disable it. */
+	I915_WRITE(HSW_SCRATCH1, HSW_SCRATCH1_L3_DATA_ATOMICS_DISABLE);
+	I915_WRITE(HSW_ROW_CHICKEN3,
+		   _MASKED_BIT_ENABLE(HSW_ROW_CHICKEN3_L3_GLOBAL_ATOMICS_DISABLE));
+
 	/* This is required by WaCatErrorRejectionIssue */
 	I915_WRITE(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG,
 			I915_READ(GEN7_SQ_CHICKEN_MBCUNIT_CONFIG) |
-- 
1.8.1.2


  parent reply	other threads:[~2013-10-29 18:03 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-29 18:03 [3.8.y.z extended stable] Linux 3.8.13.12 stable review Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 01/81] ipvs: add backup_only flag to avoid loops Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 02/81] random: run random_int_secret_init() run after all late_initcalls Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 03/81] tile: use a more conservative __my_cpu_offset in CONFIG_PREEMPT Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 04/81] ALSA: snd-usb-usx2y: remove bogus frame checks Kamal Mostafa
2013-10-29 18:03 ` Kamal Mostafa [this message]
2013-10-29 18:03 ` [PATCH 3.8 06/81] drm/i915: Only apply DPMS to the encoder if enabled Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 07/81] ALSA: hda - hdmi: Fix channel map switch not taking effect Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 08/81] ALSA: hda - Add fixup for ASUS N56VZ Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 09/81] hwmon: (applesmc) Always read until end of data Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 10/81] drm/radeon: fix typo in CP DMA register headers Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 11/81] drm/radeon: fix hw contexts for SUMO2 asics Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 12/81] drm/radeon: forever loop on error in radeon_do_test_moves() Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 13/81] i2c: omap: Clear ARDY bit twice Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 14/81] KVM: PPC: Book3S HV: Fix typo in saving DSCR Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 15/81] random: allow architectures to optionally define random_get_entropy() Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 16/81] Btrfs: use right root when checking for hash collision Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 17/81] compiler-gcc4.h: Reorder macros based upon gcc ver Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 18/81] compiler-gcc.h: Add gcc-recommended GCC_VERSION macro Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 19/81] compiler/gcc4: Add quirk for 'asm goto' miscompilation bug Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 20/81] ALSA: hda - Fix microphone for Sony VAIO Pro 13 (Haswell model) Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 21/81] ext4: fix memory leak in xattr Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 22/81] vfs: allow O_PATH file descriptors for fstatfs() Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 23/81] parisc: fix interruption handler to respect pagefault_disable() Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 24/81] tuntap: correctly handle error in tun_set_iff() Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 25/81] xen-blkfront: use a different scatterlist for each request Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 26/81] can: flexcan: fix flexcan_chip_start() on imx6 Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 27/81] can: flexcan: flexcan_chip_start: fix regression, mark one MB for TX and abort pending TX Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 28/81] caif: Add missing braces to multiline if in cfctrl_linkup_request Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 29/81] tcp: Add missing braces to do_tcp_setsockopt Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 30/81] ipv6/exthdrs: accept tlv which includes only padding Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 31/81] net: fib: fib6_add: fix potential NULL pointer dereference Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 32/81] net: sctp: fix smatch warning in sctp_send_asconf_del_ip Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 33/81] net: flow_dissector: fix thoff for IPPROTO_AH Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 34/81] net_sched: htb: fix a typo in htb_change_class() Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 35/81] r8169: enforce RX_MULTI_EN for the 8168f Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 36/81] netpoll: fix NULL pointer dereference in netpoll_cleanup Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 37/81] net: sctp: fix ipv6 ipsec encryption bug in sctp_v6_xmit Kamal Mostafa
2013-10-29 18:03 ` [PATCH 3.8 38/81] xen-netback: count number required slots for an skb more carefully Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 39/81] resubmit bridge: fix message_age_timer calculation Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 40/81] bridge: Clamp forward_delay when enabling STP Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 41/81] bridge: use br_port_get_rtnl within rtnl lock Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 42/81] bridge: fix NULL pointer deref of br_port_get_rcu Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 43/81] ip6_tunnels: raddr and laddr are inverted in nl msg Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 44/81] net: sctp: rfc4443: do not report ICMP redirects to user space Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 45/81] net:dccp: " Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 46/81] ip: use ip_hdr() in __ip_make_skb() to retrieve IP header Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 47/81] ip: generate unique IP identificator if local fragmentation is allowed Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 48/81] ipv6: udp packets following an UFO enqueued packet need also be handled by UFO Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 49/81] via-rhine: fix VLAN priority field (PCP, IEEE 802.1p) Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 50/81] dm9601: fix IFF_ALLMULTI handling Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 51/81] bonding: Fix broken promiscuity reference counting issue Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 52/81] ipv6: gre: correct calculation of max_headroom Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 53/81] ipv4 igmp: use in_dev_put in timer handlers instead of __in_dev_put Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 54/81] ipv6 mcast: use in6_dev_put in timer handlers instead of __in6_dev_put Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 55/81] ll_temac: Reset dma descriptors indexes on ndo_open Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 56/81] sit: allow to use rtnl ops on fb tunnel Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 57/81] ip6tnl: " Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 58/81] esp_scsi: Fix tag state corruption when autosensing Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 59/81] sparc64: Fix ITLB handler of null page Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 60/81] sparc64: Remove RWSEM export leftovers Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 61/81] sparc64: Fix off by one in trampoline TLB mapping installation loop Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 62/81] sparc64: Fix not SRA'ed %o5 in 32-bit traced syscall Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 63/81] sparc32: Fix exit flag passed from traced sys_sigreturn Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 64/81] cifs: Fix inability to write files >2GB to SMB2/3 shares Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 65/81] xhci: quirk for extra long delay for S4 Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 66/81] xhci: Fix spurious wakeups after S5 on Haswell Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 67/81] USB: support new huawei devices in option.c Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 68/81] USB: serial: ti_usb_3410_5052: add Abbott strip port ID to combined table as well Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 69/81] USB: serial: option: add support for Inovia SEW858 device Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 70/81] ARM: 7851/1: check for number of arguments in syscall_get/set_arguments() Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 71/81] USB: quirks.c: add one device that cannot deal with suspension Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 72/81] ALSA: us122l: Fix pcm_usb_stream mmapping regression Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 73/81] dm snapshot: fix data corruption Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 74/81] USB: quirks: add touchscreen that is dazzeled by remote wakeup Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 75/81] serial: vt8500: Fix range-checking on vt8500_uart_ports Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 76/81] serial: vt8500: add missing braces Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 77/81] usb: serial: option: blacklist Olivetti Olicard200 Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 78/81] usb-storage: add quirk for mandatory READ_CAPACITY_16 Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 79/81] fs: buffer: move allocation failure loop into the allocator Kamal Mostafa
2013-10-31 14:01   ` Johannes Weiner
2013-10-31 16:40     ` Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 80/81] writeback: fix negative bdi max pause Kamal Mostafa
2013-10-29 18:04 ` [PATCH 3.8 81/81] mm: fix BUG in __split_huge_page_pmd Kamal Mostafa

Reply instructions:

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

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

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

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

  git send-email \
    --in-reply-to=1383069882-11437-6-git-send-email-kamal@canonical.com \
    --to=kamal@canonical.com \
    --cc=currojerez@riseup.net \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel@ffwll.ch \
    --cc=kernel-team@lists.ubuntu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

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

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