Print this page
5255 uts shouldn't open-code ISP2

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/sun4v/io/ds_pri.c
          +++ new/usr/src/uts/sun4v/io/ds_pri.c
↓ open down ↓ 902 lines elided ↑ open up ↑
 903  903                  return (1);
 904  904          } else {
 905  905                  DS_PRI_DBG("ds_get_hv_pri: hv_mach_pri pri size: 0x%lx\n",
 906  906                      pri_size);
 907  907          }
 908  908  
 909  909          /*
 910  910           * contig_mem_alloc requires size to be a power of 2.
 911  911           * Increase size to next power of 2 if necessary.
 912  912           */
 913      -        if ((pri_size & (pri_size - 1)) != 0)
      913 +        if (!ISP2(pri_size))
 914  914                  buf_size = 1 << highbit(pri_size);
 915  915          DS_PRI_DBG("ds_get_hv_pri: buf_size = 0x%lx\n", buf_size);
 916  916  
 917  917          buf_va = contig_mem_alloc(buf_size);
 918  918          if (buf_va == NULL)
 919  919                  return (1);
 920  920  
 921  921          buf_pa = va_to_pa(buf_va);
 922  922          DS_PRI_DBG("ds_get_hv_pri: buf_pa 0x%lx\n", buf_pa);
 923  923          status = hv_mach_pri(buf_pa, &pri_size);
↓ open down ↓ 15 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX