.. | .. |
---|
205 | 205 | ppp_data.active_system_procs); |
---|
206 | 206 | |
---|
207 | 207 | /* pool related entries are appropriate for shared configs */ |
---|
208 | | - if (lppaca_shared_proc(get_lppaca())) { |
---|
| 208 | + if (lppaca_shared_proc()) { |
---|
209 | 209 | unsigned long pool_idle_time, pool_procs; |
---|
210 | 210 | |
---|
211 | 211 | seq_printf(m, "pool=%d\n", ppp_data.pool_num); |
---|
.. | .. |
---|
322 | 322 | */ |
---|
323 | 323 | static void parse_system_parameter_string(struct seq_file *m) |
---|
324 | 324 | { |
---|
| 325 | + const s32 token = rtas_token("ibm,get-system-parameter"); |
---|
325 | 326 | int call_status; |
---|
326 | 327 | |
---|
327 | 328 | unsigned char *local_buffer = kmalloc(SPLPAR_MAXLENGTH, GFP_KERNEL); |
---|
.. | .. |
---|
331 | 332 | return; |
---|
332 | 333 | } |
---|
333 | 334 | |
---|
334 | | - spin_lock(&rtas_data_buf_lock); |
---|
335 | | - memset(rtas_data_buf, 0, SPLPAR_MAXLENGTH); |
---|
336 | | - call_status = rtas_call(rtas_token("ibm,get-system-parameter"), 3, 1, |
---|
337 | | - NULL, |
---|
338 | | - SPLPAR_CHARACTERISTICS_TOKEN, |
---|
339 | | - __pa(rtas_data_buf), |
---|
340 | | - RTAS_DATA_BUF_SIZE); |
---|
341 | | - memcpy(local_buffer, rtas_data_buf, SPLPAR_MAXLENGTH); |
---|
342 | | - local_buffer[SPLPAR_MAXLENGTH - 1] = '\0'; |
---|
343 | | - spin_unlock(&rtas_data_buf_lock); |
---|
| 335 | + do { |
---|
| 336 | + spin_lock(&rtas_data_buf_lock); |
---|
| 337 | + memset(rtas_data_buf, 0, SPLPAR_MAXLENGTH); |
---|
| 338 | + call_status = rtas_call(token, 3, 1, NULL, SPLPAR_CHARACTERISTICS_TOKEN, |
---|
| 339 | + __pa(rtas_data_buf), RTAS_DATA_BUF_SIZE); |
---|
| 340 | + memcpy(local_buffer, rtas_data_buf, SPLPAR_MAXLENGTH); |
---|
| 341 | + local_buffer[SPLPAR_MAXLENGTH - 1] = '\0'; |
---|
| 342 | + spin_unlock(&rtas_data_buf_lock); |
---|
| 343 | + } while (rtas_busy_delay(call_status)); |
---|
344 | 344 | |
---|
345 | 345 | if (call_status != 0) { |
---|
346 | 346 | printk(KERN_INFO |
---|
.. | .. |
---|
529 | 529 | partition_potential_processors); |
---|
530 | 530 | |
---|
531 | 531 | seq_printf(m, "shared_processor_mode=%d\n", |
---|
532 | | - lppaca_shared_proc(get_lppaca())); |
---|
| 532 | + lppaca_shared_proc()); |
---|
533 | 533 | |
---|
534 | 534 | #ifdef CONFIG_PPC_BOOK3S_64 |
---|
535 | 535 | seq_printf(m, "slb_size=%d\n", mmu_slb_size); |
---|