Lines Matching refs:dn

325 static int dlpar_offline_cpu(struct device_node *dn)  in dlpar_offline_cpu()  argument
333 intserv = of_get_property(dn, "ibm,ppc-interrupt-server#s", &len); in dlpar_offline_cpu()
357 pr_warn("Unable to remove last online CPU %pOFn\n", dn); in dlpar_offline_cpu()
381 static int dlpar_online_cpu(struct device_node *dn) in dlpar_online_cpu() argument
389 intserv = of_get_property(dn, "ibm,ppc-interrupt-server#s", &len); in dlpar_online_cpu()
413 dlpar_offline_cpu(dn); in dlpar_online_cpu()
528 static int pseries_cpuhp_attach_nodes(struct device_node *dn) in pseries_cpuhp_attach_nodes() argument
537 for (of_changeset_init(&cs); dn != NULL; dn = dn->sibling) { in pseries_cpuhp_attach_nodes()
538 ret = of_changeset_attach_node(&cs, dn); in pseries_cpuhp_attach_nodes()
551 struct device_node *dn, *parent; in dlpar_cpu_add() local
582 dn = dlpar_configure_connector(cpu_to_be32(drc_index), parent); in dlpar_cpu_add()
583 if (!dn) { in dlpar_cpu_add()
591 rc = pseries_cpuhp_attach_nodes(dn); in dlpar_cpu_add()
599 dn, rc, drc_index); in dlpar_cpu_add()
603 dlpar_free_cc_nodes(dn); in dlpar_cpu_add()
608 update_numa_distance(dn); in dlpar_cpu_add()
610 rc = dlpar_online_cpu(dn); in dlpar_cpu_add()
614 dn, rc, drc_index); in dlpar_cpu_add()
616 rc = dlpar_detach_node(dn); in dlpar_cpu_add()
623 pr_debug("Successfully added CPU %pOFn, drc index: %x\n", dn, in dlpar_cpu_add()
631 struct device_node *dn, *tn; in pseries_cpuhp_cache_use_count() local
635 for_each_of_cpu_node(dn) { in pseries_cpuhp_cache_use_count()
636 tn = of_find_next_cache_node(dn); in pseries_cpuhp_cache_use_count()
642 for_each_node_by_type(dn, "cache") { in pseries_cpuhp_cache_use_count()
643 tn = of_find_next_cache_node(dn); in pseries_cpuhp_cache_use_count()
654 struct device_node *dn; in pseries_cpuhp_detach_nodes() local
663 dn = cpudn; in pseries_cpuhp_detach_nodes()
664 while ((dn = of_find_next_cache_node(dn))) { in pseries_cpuhp_detach_nodes()
665 if (pseries_cpuhp_cache_use_count(dn) > 1) { in pseries_cpuhp_detach_nodes()
666 of_node_put(dn); in pseries_cpuhp_detach_nodes()
670 ret = of_changeset_detach_node(&cs, dn); in pseries_cpuhp_detach_nodes()
671 of_node_put(dn); in pseries_cpuhp_detach_nodes()
682 static ssize_t dlpar_cpu_remove(struct device_node *dn, u32 drc_index) in dlpar_cpu_remove() argument
687 dn, drc_index); in dlpar_cpu_remove()
689 rc = dlpar_offline_cpu(dn); in dlpar_cpu_remove()
691 pr_warn("Failed to offline CPU %pOFn, rc: %d\n", dn, rc); in dlpar_cpu_remove()
698 drc_index, dn, rc); in dlpar_cpu_remove()
699 dlpar_online_cpu(dn); in dlpar_cpu_remove()
703 rc = pseries_cpuhp_detach_nodes(dn); in dlpar_cpu_remove()
707 pr_warn("Failed to detach CPU %pOFn, rc: %d", dn, rc); in dlpar_cpu_remove()
711 dlpar_online_cpu(dn); in dlpar_cpu_remove()
722 struct device_node *dn; in cpu_drc_index_to_dn() local
726 for_each_node_by_type(dn, "cpu") { in cpu_drc_index_to_dn()
727 rc = of_property_read_u32(dn, "ibm,my-drc-index", &my_index); in cpu_drc_index_to_dn()
735 return dn; in cpu_drc_index_to_dn()
740 struct device_node *dn; in dlpar_cpu_remove_by_index() local
743 dn = cpu_drc_index_to_dn(drc_index); in dlpar_cpu_remove_by_index()
744 if (!dn) { in dlpar_cpu_remove_by_index()
750 rc = dlpar_cpu_remove(dn, drc_index); in dlpar_cpu_remove_by_index()
751 of_node_put(dn); in dlpar_cpu_remove_by_index()
813 struct device_node *dn; in dlpar_cpu_release() local
817 dn = of_find_node_by_path(buf); in dlpar_cpu_release()
818 if (!dn) in dlpar_cpu_release()
821 rc = of_property_read_u32(dn, "ibm,my-drc-index", &drc_index); in dlpar_cpu_release()
823 of_node_put(dn); in dlpar_cpu_release()
827 rc = dlpar_cpu_remove(dn, drc_index); in dlpar_cpu_release()
828 of_node_put(dn); in dlpar_cpu_release()
843 err = pseries_add_processor(rd->dn); in pseries_smp_notifier()
846 pseries_remove_processor(rd->dn); in pseries_smp_notifier()