From: "Kevin D. Kissell" <kevink@paralogos.com>
To: Raghu Gandham <raghu@mips.com>
Cc: linux-mips@linux-mips.org, chris@mips.com
Subject: Re: [PATCH 15/15] Do not rely on the initial state of TC/VPE bindings when doing cross VPE writes
Date: Wed, 01 Jul 2009 21:02:19 -0700 [thread overview]
Message-ID: <4A4C314B.2070907@paralogos.com> (raw)
In-Reply-To: <20090702024331.23268.98671.stgit@linux-raghu>
Note that, regardless of the reset state, smtc_configure_tlb() should
have at least temporarily bound TC 1 to VPE1, which may be why this
never seemed to be a problem on the 34K. If one wants to support
designs with more than 2 VPEs, then this is probably one of the things
that needs to be fixed. That having been said, rather than adding a
usually-redundant write_vpe_c0_vpeconf0() in that clause, wouldn't it be
cleaner to just move the MVP setting from the top of the loop to the
point in the loop just after the TCs have been bound to the VPE in
question, i.e.,
454 if (slop) {
455 if (tc != 0) {
456 smtc_tc_setup(vpe,tc, cpu);
457 cpu++;
458 }
459 printk(" %d", tc);
460 tc++;
461 slop--;
462 }
write_vpe_c0_vpeconf0(read_vpe_c0_vpeconf0() |
VPECONF0_MVP);
463 if (vpe != 0) {
464 /*
465 * Clear any stale software interrupts from
VPE's Cause
466 */
This should definitely be OK for a 34K, because it's being executed by
TC0 in VPE0 and the reset state of VPE0 has MVP set. If it weren't,
smtc_configure_tlb() would have failed.
Regards,
Kevin K.
Raghu Gandham wrote:
> From: Kurt Martin <kurt@mips.com>
>
> Signed-off-by: Jaidev Patwardhan <jaidev@mips.com>
> Signed-off-by: Chris Dearman <chris@mips.com>
> ---
>
> arch/mips/kernel/smtc.c | 12 ++++++++++++
> 1 files changed, 12 insertions(+), 0 deletions(-)
>
> diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c
> index 69240c4..3498b82 100644
> --- a/arch/mips/kernel/smtc.c
> +++ b/arch/mips/kernel/smtc.c
> @@ -481,6 +481,18 @@ void smtc_prepare_cpus(int cpus)
> */
> if (tc != 0) {
> smtc_tc_setup(vpe, tc, cpu);
> + if (vpe != 0) {
> + /*
> + * Set MVP bit (possibly again). Do it
> + * here to catch CPUs that have no TCs
> + * bound to the VPE at reset. In that
> + * case, a TC must be bound to the VPE
> + * before we can set VPEControl[MVP]
> + */
> + write_vpe_c0_vpeconf0(
> + read_vpe_c0_vpeconf0() |
> + VPECONF0_MVP);
> + }
> cpu++;
> }
> printk(" %d", tc);
>
>
>
next prev parent reply other threads:[~2009-07-02 4:08 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-02 2:39 [PATCH 00/15] Port changes from linux-mti Raghu Gandham
2009-07-02 2:39 ` [PATCH 01/15] Due to some broken bitfiles, we can't trust IntCtl Raghu Gandham
2009-07-02 2:40 ` [PATCH 02/15] Fix absd emulation Raghu Gandham
2009-07-02 2:40 ` [PATCH 03/15] [MTI] Clean up SPRAM support a little Raghu Gandham
2009-07-02 2:40 ` [PATCH 04/15] Fix accesses to device registers on MIPS boards Raghu Gandham
2009-07-02 2:40 ` [PATCH 05/15] [MTI] MIPS secondary cache supports 64 byte line size Raghu Gandham
2009-07-02 2:41 ` [PATCH 06/15] [MTI] Enable PIIX4 PCI2.1 compliancy on Malta Raghu Gandham
2009-07-02 2:41 ` [PATCH 07/15] APRP Patch04: Propagate final value of max_low_pfn to max_pfn Raghu Gandham
2009-07-02 2:41 ` [PATCH 08/15] Fix compiler warning in vpe.c Raghu Gandham
2009-07-02 2:41 ` [PATCH 09/15] Add debug prints during CPU intialization Raghu Gandham
2009-07-02 2:42 ` [PATCH 10/15] Port of GIC related changes from MTI branch Raghu Gandham
2009-07-02 2:42 ` [PATCH 11/15] Add missing memory barriers for correct operation of amon_cpu_start Raghu Gandham
2009-07-02 2:42 ` [PATCH 12/15] Added coherentio command line option for DMA_NONCOHERENT kernel Raghu Gandham
2009-07-02 2:43 ` [PATCH 13/15] Avoid accessing GCMP registers when they are not present Raghu Gandham
2009-07-02 2:43 ` [PATCH 14/15] Avoid queing multiple reschedule IPI's in SMTC Raghu Gandham
2009-07-02 2:43 ` [PATCH 15/15] Do not rely on the initial state of TC/VPE bindings when doing cross VPE writes Raghu Gandham
2009-07-02 4:02 ` Kevin D. Kissell [this message]
2009-07-02 21:46 ` Gandham, Raghu
2009-07-02 21:46 ` Gandham, Raghu
2009-07-02 22:08 ` Kevin D. Kissell
2009-10-12 16:17 ` Ralf Baechle
2009-10-12 20:20 ` [PATCH 15/15] Do not rely on the initial state of TC/VPEbindings " Gandham, Raghu
2009-10-12 20:20 ` Gandham, Raghu
2009-10-12 20:25 ` Ralf Baechle
2009-07-10 8:47 ` [PATCH 00/15] Port changes from linux-mti Gandham, Raghu
2009-07-10 8:47 ` Gandham, Raghu
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=4A4C314B.2070907@paralogos.com \
--to=kevink@paralogos.com \
--cc=chris@mips.com \
--cc=linux-mips@linux-mips.org \
--cc=raghu@mips.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;
as well as URLs for NNTP newsgroup(s).