15 #include <linux/kernel.h>
17 #include <linux/export.h>
22 #if defined(CONFIG_PPC_SPLPAR)
28 unsigned int lock_value, holder_cpu, yield_count;
30 lock_value = lock->
slock;
33 holder_cpu = lock_value & 0xffff;
35 yield_count = lppaca_of(holder_cpu).yield_count;
36 if ((yield_count & 1) == 0)
39 if (lock->
slock != lock_value)
41 plpar_hcall_norets(H_CONFER,
42 get_hard_smp_processor_id(holder_cpu), yield_count);
53 unsigned int holder_cpu, yield_count;
55 lock_value = rw->
lock;
58 holder_cpu = lock_value & 0xffff;
60 yield_count = lppaca_of(holder_cpu).yield_count;
61 if ((yield_count & 1) == 0)
64 if (rw->
lock != lock_value)
66 plpar_hcall_norets(H_CONFER,
67 get_hard_smp_processor_id(holder_cpu), yield_count);