[Skiboot] [PATCH V5 3/3] skiboot: Update IMC PMU node names for power10
Reza Arbab
arbab at linux.ibm.com
Thu Aug 10 07:58:13 AEST 2023
On Mon, Jul 17, 2023 at 08:54:31AM +0530, Athira Rajeev wrote:
>@@ -408,14 +469,129 @@ static void disable_unavailable_units(struct dt_node *dev)
> avl_vec = (0xffULL) << 56;
> }
>
>- for (i = 0; i < ARRAY_SIZE(nest_pmus); i++) {
>- if (!(PPC_BITMASK(i, i) & avl_vec)) {
>- /* Check if the device node exists */
>- target = dt_find_by_name_before_addr(dev, nest_pmus[i]);
>- if (!target)
>- continue;
>- /* Remove the device node */
>- dt_free(target);
>+ if (proc_gen == proc_gen_p9) {
>+ for (i = 0; i < ARRAY_SIZE(nest_pmus_p9); i++) {
>+ if (!(PPC_BITMASK(i, i) & avl_vec)) {
I think all these PPC_BITMASK(i, i) can be changed to PPC_BIT(i).
>+ /* Check if the device node exists */
>+ target = dt_find_by_name_before_addr(dev, nest_pmus_p9[i]);
>+ if (!target)
>+ continue;
>+ /* Remove the device node */
>+ dt_free(target);
>+ }
>+ }
>+ } else if (proc_gen == proc_gen_p10) {
>+ int val;
>+ char name[8];
>+
>+ for (i = 0; i < 11; i++) {
>+ if (!(PPC_BITMASK(i, i) & avl_vec)) {
>+ /* Check if the device node exists */
>+ target = dt_find_by_name_before_addr(dev, nest_pmus_p10[i]);
>+ if (!target)
>+ continue;
>+ /* Remove the device node */
>+ dt_free(target);
>+ }
>+ }
>+
>+ for (i = 35; i < 41; i++) {
>+ if (!(PPC_BITMASK(i, i) & avl_vec)) {
>+ /* Check if the device node exists for phb */
>+ for (j = 0; j < 3; j++) {
>+ snprintf(name, sizeof(name), "phb%d_%d", (i-35), j);
>+ target = dt_find_by_name_before_addr(dev, name);
>+ if (!target)
>+ continue;
>+ /* Remove the device node */
>+ dt_free(target);
>+ }
>+ }
>+ }
>+
>+ for (i = 41; i < 58; i++) {
>+ if (!(PPC_BITMASK(i, i) & avl_vec)) {
>+ /* Check if the device node exists */
>+ target = dt_find_by_name_before_addr(dev, nest_pmus_p10[i]);
>+ if (!target)
>+ continue;
>+ /* Remove the device node */
>+ dt_free(target);
>+ }
>+ }
--
Reza Arbab
More information about the Skiboot
mailing list