RE: [PATCH 15/15] Do not rely on the initial state of TC/VPEbindings when doing cross VPE writes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 

> -----Original Message-----
> From: Ralf Baechle [mailto:ralf@xxxxxxxxxxxxxx] 
> Sent: Monday, October 12, 2009 9:18 AM
> To: Gandham, Raghu
> Cc: Kevin D. Kissell; linux-mips@xxxxxxxxxxxxxx; Dearman, Chris
> Subject: Re: [PATCH 15/15] Do not rely on the initial state 
> of TC/VPEbindings when doing cross VPE writes
> 
> On Thu, Jul 02, 2009 at 02:46:33PM -0700, Gandham, Raghu wrote:
> 
> > > From: Kevin D. Kissell [mailto:kevink@xxxxxxxxxxxxx]
> > > Sent: Wednesday, July 01, 2009 9:02 PM
> > > To: Gandham, Raghu
> > > Cc: linux-mips@xxxxxxxxxxxxxx; Dearman, Chris
> > > Subject: Re: [PATCH 15/15] Do not rely on the initial state of 
> > > TC/VPE bindings when doing cross VPE writes
> > > 
> > > 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.
> > 
> > 
> > I will resend this patch with your suggestion.
> 
> Ping?  Don't think I ever received that, if you sent it.
I resent the patch and it got checked-in. It is not appended to this
mail thread though. 
http://www.linux-mips.org/git?p=linux.git;a=commitdiff;h=d8e5f9fe5dab0e0
7985f2456cb6cc57788f53131

Thanks,
Raghu

> 
>   Ralf
> 


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux