Arnd Bergmann wrote:
> On Tuesday 04 September 2007, Geoff Levand wrote:
>> 
>> From: Masato Noguchi <[EMAIL PROTECTED]>
>> 
>> Add platform specific SPU run control routines.
>> 
>> The current spufs_run_spu() implementation uses the SPU master
>> run control bit (MFC_SR1[S]) to control SPE execution, but the
>> PS3 hypervisor does not support the use of this feature.  This
>> change adds run control wrapper routines.  The  bare metal
>> routines use the master run control bit, and the PS3 specific
>> routines use the priv2 run control register.
>> 
>> Signed-off-by: Masato Noguchi <[EMAIL PROTECTED]>
>> Signed-off-by: Geoff Levand <[EMAIL PROTECTED]>
> 
> Hmm, ok. Since I don't think we'll get to do the right solution
> (unmapping the ps registers on the ps3) that soon, doing this
> patch is at least better than the current situation where we
> end up with an oops every time we leave spu_run.
> 
> It would probably be good to mention the remaining problem
> with the current approach in the changelog and as a comment
> in the ps3 specific functions.

Ok, I did that.

>> @@ -178,6 +179,8 @@ struct spu_management_ops {
>>      int (*enumerate_spus)(int (*fn)(void *data));
>>      int (*create_spu)(struct spu *spu, void *data);
>>      int (*destroy_spu)(struct spu *spu);
>> +    int (*enable_spu)(struct spu_context *ctx);
>> +    int (*disable_spu)(struct spu_context *ctx);
>>      int (*init_affinity)(void);
>>  };
> 
> Also, I think you should make the return type of the callback
> 'void' since the result is not used anywhere.

Noguchi-san was hesitant to do this.  I also thought lets leave it
as is until we consider the unmapping support, as maybe a return
value might make sense.  Jeremy, if you think it better to return
void, please make the update.

-Geoff
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to