Lines Matching refs:drc_index

388 static bool dlpar_cpu_exists(struct device_node *parent, u32 drc_index)  in dlpar_cpu_exists()  argument
404 if (my_drc_index == drc_index) { in dlpar_cpu_exists()
414 static bool valid_cpu_drc_index(struct device_node *parent, u32 drc_index) in valid_cpu_drc_index() argument
428 if (drc == drc_index) in valid_cpu_drc_index()
435 static ssize_t dlpar_cpu_add(u32 drc_index) in dlpar_cpu_add() argument
440 pr_debug("Attempting to add CPU, drc index: %x\n", drc_index); in dlpar_cpu_add()
448 if (dlpar_cpu_exists(parent, drc_index)) { in dlpar_cpu_add()
450 pr_warn("CPU with drc index %x already exists\n", drc_index); in dlpar_cpu_add()
454 if (!valid_cpu_drc_index(parent, drc_index)) { in dlpar_cpu_add()
456 pr_warn("Cannot find CPU (drc index %x) to add.\n", drc_index); in dlpar_cpu_add()
460 rc = dlpar_acquire_drc(drc_index); in dlpar_cpu_add()
463 rc, drc_index); in dlpar_cpu_add()
468 dn = dlpar_configure_connector(cpu_to_be32(drc_index), parent); in dlpar_cpu_add()
471 drc_index); in dlpar_cpu_add()
472 dlpar_release_drc(drc_index); in dlpar_cpu_add()
485 dn->name, rc, drc_index); in dlpar_cpu_add()
487 rc = dlpar_release_drc(drc_index); in dlpar_cpu_add()
498 dn->name, rc, drc_index); in dlpar_cpu_add()
502 dlpar_release_drc(drc_index); in dlpar_cpu_add()
508 drc_index); in dlpar_cpu_add()
569 static ssize_t dlpar_cpu_remove(struct device_node *dn, u32 drc_index) in dlpar_cpu_remove() argument
574 dn->name, drc_index); in dlpar_cpu_remove()
582 rc = dlpar_release_drc(drc_index); in dlpar_cpu_remove()
585 drc_index, dn->name, rc); in dlpar_cpu_remove()
596 rc = dlpar_acquire_drc(drc_index); in dlpar_cpu_remove()
603 pr_debug("Successfully removed CPU, drc index: %x\n", drc_index); in dlpar_cpu_remove()
607 static struct device_node *cpu_drc_index_to_dn(u32 drc_index) in cpu_drc_index_to_dn() argument
618 if (my_index == drc_index) in cpu_drc_index_to_dn()
625 static int dlpar_cpu_remove_by_index(u32 drc_index) in dlpar_cpu_remove_by_index() argument
630 dn = cpu_drc_index_to_dn(drc_index); in dlpar_cpu_remove_by_index()
633 drc_index); in dlpar_cpu_remove_by_index()
637 rc = dlpar_cpu_remove(dn, drc_index); in dlpar_cpu_remove_by_index()
807 u32 count, drc_index; in dlpar_cpu() local
811 drc_index = hp_elog->_drc_u.drc_index; in dlpar_cpu()
820 rc = dlpar_cpu_remove_by_index(drc_index); in dlpar_cpu()
828 rc = dlpar_cpu_add(drc_index); in dlpar_cpu()
846 u32 drc_index; in dlpar_cpu_probe() local
849 rc = kstrtou32(buf, 0, &drc_index); in dlpar_cpu_probe()
853 rc = dlpar_cpu_add(drc_index); in dlpar_cpu_probe()
861 u32 drc_index; in dlpar_cpu_release() local
868 rc = of_property_read_u32(dn, "ibm,my-drc-index", &drc_index); in dlpar_cpu_release()
874 rc = dlpar_cpu_remove(dn, drc_index); in dlpar_cpu_release()