From: tip-bot for Andrew Banman <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, tglx@linutronix.de,
peterz@infradead.org, abanman@sgi.com, sivanich@sgi.com,
hpa@zytor.com, mingo@kernel.org, travis@sgi.com,
torvalds@linux-foundation.org
Subject: [tip:x86/platform] x86/platform/uv/BAU: Fix payload queue setup on UV4 hardware
Date: Thu, 22 Sep 2016 03:32:29 -0700 [thread overview]
Message-ID: <tip-6d78059bbc0ace5461938aaea8cda95eb6719898@git.kernel.org> (raw)
In-Reply-To: <1474474161-265604-10-git-send-email-abanman@sgi.com>
Commit-ID: 6d78059bbc0ace5461938aaea8cda95eb6719898
Gitweb: http://git.kernel.org/tip/6d78059bbc0ace5461938aaea8cda95eb6719898
Author: Andrew Banman <abanman@sgi.com>
AuthorDate: Wed, 21 Sep 2016 11:09:20 -0500
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Thu, 22 Sep 2016 11:16:15 +0200
x86/platform/uv/BAU: Fix payload queue setup on UV4 hardware
The BAU on UV4 does not need to maintain the payload queue tail pointer. Do
not initialize the tail pointer MMR on UV4.
Note that write_payload_tail is not an abstracted BAU function since it is
an operation specific to pre-UV4 versions. Then we must switch on the UV
version to control its usage, for which we use uvhub_version rather than
is_uv*_hub because it is quicker/more concise.
Signed-off-by: Andrew Banman <abanman@sgi.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Mike Travis <travis@sgi.com>
Acked-by: Dimitri Sivanich <sivanich@sgi.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: akpm@linux-foundation.org
Cc: rja@sgi.com
Link: http://lkml.kernel.org/r/1474474161-265604-10-git-send-email-abanman@sgi.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
arch/x86/platform/uv/tlb_uv.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/arch/x86/platform/uv/tlb_uv.c b/arch/x86/platform/uv/tlb_uv.c
index 72a5de7..7ca0e5c 100644
--- a/arch/x86/platform/uv/tlb_uv.c
+++ b/arch/x86/platform/uv/tlb_uv.c
@@ -1826,11 +1826,19 @@ static void pq_init(int node, int pnode)
first = ops.bau_gpa_to_offset(uv_gpa(pqp));
last = ops.bau_gpa_to_offset(uv_gpa(pqp + (DEST_Q_SIZE - 1)));
- tail = first;
- gnode = uv_gpa_to_gnode(uv_gpa(pqp));
- first = (gnode << UV_PAYLOADQ_GNODE_SHIFT) | tail;
- write_mmr_payload_tail(pnode, tail);
+ /*
+ * Pre UV4, the gnode is required to locate the payload queue
+ * and the payload queue tail must be maintained by the kernel.
+ */
+ bcp = &per_cpu(bau_control, smp_processor_id());
+ if (bcp->uvhub_version <= 3) {
+ tail = first;
+ gnode = uv_gpa_to_gnode(uv_gpa(pqp));
+ first = (gnode << UV_PAYLOADQ_GNODE_SHIFT) | tail;
+ write_mmr_payload_tail(pnode, tail);
+ }
+
ops.write_payload_first(pnode, first);
ops.write_payload_last(pnode, last);
ops.write_g_sw_ack(pnode, 0xffffUL);
next prev parent reply other threads:[~2016-09-22 10:33 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-20 22:31 [PATCH 0/9] arch/x86/platform/uv: add UV4 support to BAU Andrew Banman
2016-09-20 22:31 ` [PATCH 1/9] arch/x86/platform/uv: BAU cleanup: update printks Andrew Banman
2016-09-20 22:31 ` [PATCH 2/9] arch/x86/platform/uv: BAU cleanup: pq_init Andrew Banman
2016-09-20 22:31 ` [PATCH 3/9] arch/x86/platform/uv: BAU replace uv_physnodeaddr Andrew Banman
2016-09-20 22:31 ` [PATCH 4/9] arch/x86/platform/uv: BAU add generic function pointers Andrew Banman
2016-09-20 22:31 ` [PATCH 5/9] arch/x86/platform/uv: BAU use " Andrew Banman
2016-09-20 22:31 ` [PATCH 6/9] arch/x86/platform/uv: BAU UV4 populate uvhub_version Andrew Banman
2016-09-20 22:31 ` [PATCH 7/9] arch/x86/platform/uv: BAU UV4 disable software timeout Andrew Banman
2016-09-20 22:31 ` [PATCH 8/9] arch/x86/platform/uv: BAU UV4 fix payload queue setup Andrew Banman
2016-09-20 22:32 ` [PATCH 9/9] arch/x86/platform/uv: BAU UV4 add version-specific functions Andrew Banman
2016-09-21 12:55 ` Ingo Molnar
2016-09-21 15:53 ` andrew banman
2016-09-21 14:55 ` [PATCH 0/9] arch/x86/platform/uv: add UV4 support to BAU Thomas Gleixner
2016-09-21 16:09 ` [PATCHv2 0/10] " Andrew Banman
2016-09-21 16:09 ` [PATCH 01/10] arch/x86/platform/uv: BAU cleanup: vertical alignment Andrew Banman
2016-09-22 10:28 ` [tip:x86/platform] x86/platform/uv/BAU: Clean up " tip-bot for Andrew Banman
2016-09-21 16:09 ` [PATCH 02/10] arch/x86/platform/uv: BAU cleanup: update printks Andrew Banman
2016-09-22 10:29 ` [tip:x86/platform] x86/platform/uv/BAU: Clean up and " tip-bot for Andrew Banman
2016-09-21 16:09 ` [PATCH 03/10] arch/x86/platform/uv: BAU cleanup: pq_init Andrew Banman
2016-09-22 10:29 ` [tip:x86/platform] x86/platform/uv/BAU: Clean up pq_init() tip-bot for Andrew Banman
2016-09-21 16:09 ` [PATCH 04/10] arch/x86/platform/uv: BAU replace uv_physnodeaddr Andrew Banman
2016-09-22 10:30 ` [tip:x86/platform] x86/platform/uv/BAU: Convert uv_physnodeaddr() use to uv_gpa_to_offset() tip-bot for Andrew Banman
2016-09-21 16:09 ` [PATCH 05/10] arch/x86/platform/uv: BAU add generic function pointers Andrew Banman
2016-09-22 10:30 ` [tip:x86/platform] x86/platform/uv/BAU: Add " tip-bot for Andrew Banman
2016-09-21 16:09 ` [PATCH 06/10] arch/x86/platform/uv: BAU use " Andrew Banman
2016-09-22 10:31 ` [tip:x86/platform] x86/platform/uv/BAU: Use " tip-bot for Andrew Banman
2016-09-21 16:09 ` [PATCH 07/10] arch/x86/platform/uv: BAU UV4 populate uvhub_version Andrew Banman
2016-09-22 10:31 ` [tip:x86/platform] x86/platform/uv/BAU: Populate ->uvhub_version with UV4 version information tip-bot for Andrew Banman
2016-09-21 16:09 ` [PATCH 08/10] arch/x86/platform/uv: BAU UV4 disable software timeout Andrew Banman
2016-09-22 10:32 ` [tip:x86/platform] x86/platform/uv/BAU: Disable software timeout on UV4 hardware tip-bot for Andrew Banman
2016-09-21 16:09 ` [PATCH 09/10] arch/x86/platform/uv: BAU UV4 fix payload queue setup Andrew Banman
2016-09-22 10:32 ` tip-bot for Andrew Banman [this message]
2016-09-21 16:09 ` [PATCH 10/10] arch/x86/platform/uv: BAU UV4 add version-specific functions Andrew Banman
2016-09-22 10:33 ` [tip:x86/platform] x86/platform/uv/BAU: Add UV4-specific functions tip-bot for Andrew Banman
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=tip-6d78059bbc0ace5461938aaea8cda95eb6719898@git.kernel.org \
--to=tipbot@zytor.com \
--cc=abanman@sgi.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=sivanich@sgi.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=travis@sgi.com \
/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