Lines Matching refs:rc
133 static unsigned int plpar_busy_delay_time(long rc) in plpar_busy_delay_time() argument
137 if (H_IS_LONG_BUSY(rc)) { in plpar_busy_delay_time()
138 ms = get_longbusy_msecs(rc); in plpar_busy_delay_time()
139 } else if (rc == H_BUSY) { in plpar_busy_delay_time()
146 static unsigned int plpar_busy_delay(int rc) in plpar_busy_delay() argument
150 ms = plpar_busy_delay_time(rc); in plpar_busy_delay()
164 long rc; in plpar_int_reset() local
167 rc = plpar_hcall_norets(H_INT_RESET, flags); in plpar_int_reset()
168 } while (plpar_busy_delay(rc)); in plpar_int_reset()
170 if (rc) in plpar_int_reset()
171 pr_err("H_INT_RESET failed %ld\n", rc); in plpar_int_reset()
173 return rc; in plpar_int_reset()
184 long rc; in plpar_int_get_source_info() local
187 rc = plpar_hcall(H_INT_GET_SOURCE_INFO, retbuf, flags, lisn); in plpar_int_get_source_info()
188 } while (plpar_busy_delay(rc)); in plpar_int_get_source_info()
190 if (rc) { in plpar_int_get_source_info()
191 pr_err("H_INT_GET_SOURCE_INFO lisn=0x%lx failed %ld\n", lisn, rc); in plpar_int_get_source_info()
192 return rc; in plpar_int_get_source_info()
215 long rc; in plpar_int_set_source_config() local
223 rc = plpar_hcall_norets(H_INT_SET_SOURCE_CONFIG, flags, lisn, in plpar_int_set_source_config()
225 } while (plpar_busy_delay(rc)); in plpar_int_set_source_config()
227 if (rc) { in plpar_int_set_source_config()
229 lisn, target, prio, rc); in plpar_int_set_source_config()
230 return rc; in plpar_int_set_source_config()
243 long rc; in plpar_int_get_source_config() local
248 rc = plpar_hcall(H_INT_GET_SOURCE_CONFIG, retbuf, flags, lisn, in plpar_int_get_source_config()
250 } while (plpar_busy_delay(rc)); in plpar_int_get_source_config()
252 if (rc) { in plpar_int_get_source_config()
254 lisn, rc); in plpar_int_get_source_config()
255 return rc; in plpar_int_get_source_config()
275 long rc; in plpar_int_get_queue_info() local
278 rc = plpar_hcall(H_INT_GET_QUEUE_INFO, retbuf, flags, target, in plpar_int_get_queue_info()
280 } while (plpar_busy_delay(rc)); in plpar_int_get_queue_info()
282 if (rc) { in plpar_int_get_queue_info()
284 target, priority, rc); in plpar_int_get_queue_info()
285 return rc; in plpar_int_get_queue_info()
305 long rc; in plpar_int_set_queue_config() local
311 rc = plpar_hcall_norets(H_INT_SET_QUEUE_CONFIG, flags, target, in plpar_int_set_queue_config()
313 } while (plpar_busy_delay(rc)); in plpar_int_set_queue_config()
315 if (rc) { in plpar_int_set_queue_config()
317 target, priority, qpage, rc); in plpar_int_set_queue_config()
318 return rc; in plpar_int_set_queue_config()
326 long rc; in plpar_int_sync() local
329 rc = plpar_hcall_norets(H_INT_SYNC, flags, lisn); in plpar_int_sync()
330 } while (plpar_busy_delay(rc)); in plpar_int_sync()
332 if (rc) { in plpar_int_sync()
333 pr_err("H_INT_SYNC lisn=0x%lx returned %ld\n", lisn, rc); in plpar_int_sync()
334 return rc; in plpar_int_sync()
349 long rc; in plpar_int_esb() local
355 rc = plpar_hcall(H_INT_ESB, retbuf, flags, lisn, offset, in plpar_int_esb()
357 } while (plpar_busy_delay(rc)); in plpar_int_esb()
359 if (rc) { in plpar_int_esb()
361 lisn, offset, rc); in plpar_int_esb()
362 return rc; in plpar_int_esb()
373 long rc; in xive_spapr_esb_rw() local
375 rc = plpar_int_esb(write ? XIVE_ESB_FLAG_STORE : 0, in xive_spapr_esb_rw()
377 if (rc) in xive_spapr_esb_rw()
390 long rc; in xive_spapr_populate_irq_data() local
398 rc = plpar_int_get_source_info(0, hw_irq, &flags, &eoi_page, &trig_page, in xive_spapr_populate_irq_data()
400 if (rc) in xive_spapr_populate_irq_data()
452 long rc; in xive_spapr_configure_irq() local
454 rc = plpar_int_set_source_config(XIVE_SRC_SET_EISN, hw_irq, target, in xive_spapr_configure_irq()
457 return rc == 0 ? 0 : -ENXIO; in xive_spapr_configure_irq()
463 long rc; in xive_spapr_get_irq_config() local
468 rc = plpar_int_get_source_config(0, hw_irq, &h_target, &h_prio, in xive_spapr_get_irq_config()
475 return rc == 0 ? 0 : -ENXIO; in xive_spapr_get_irq_config()
482 s64 rc = 0; in xive_spapr_configure_queue() local
501 rc = plpar_int_get_queue_info(0, target, prio, &esn_page, &esn_size); in xive_spapr_configure_queue()
502 if (rc) { in xive_spapr_configure_queue()
503 pr_err("Error %lld getting queue info CPU %d prio %d\n", rc, in xive_spapr_configure_queue()
505 rc = -EIO; in xive_spapr_configure_queue()
516 rc = plpar_int_set_queue_config(flags, target, prio, qpage_phys, order); in xive_spapr_configure_queue()
517 if (rc) { in xive_spapr_configure_queue()
518 pr_err("Error %lld setting queue for CPU %d prio %d\n", rc, in xive_spapr_configure_queue()
520 rc = -EIO; in xive_spapr_configure_queue()
528 return rc; in xive_spapr_configure_queue()
550 long rc; in xive_spapr_cleanup_queue() local
553 rc = plpar_int_set_queue_config(0, hw_cpu, prio, 0, 0); in xive_spapr_cleanup_queue()
554 if (rc) in xive_spapr_cleanup_queue()
555 pr_err("Error %ld setting queue for CPU %d prio %d\n", rc, in xive_spapr_cleanup_queue()