Print this page
NEX-8705 Drivers for ATTO Celerity FC-162E Gen 5 and Celerity FC-162P Gen 6 16GB FC cards support
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
NEX-1878 update emlxs from source provided by Emulex

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
          +++ new/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c
↓ open down ↓ 1246 lines elided ↑ open up ↑
1247 1247                      fcio->fcio_olen <
1248 1248                      sizeof (fc_hba_adapter_attributes32_t)) {
1249 1249                          rval = EINVAL;
1250 1250                          goto done;
1251 1251                  }
1252 1252  
1253 1253                  hba_attrs =
1254 1254                      (fc_hba_adapter_attributes32_t *)fcio->fcio_obuf;
1255 1255  
1256 1256                  hba_attrs->version = FC_HBA_ADAPTER_ATTRIBUTES_VERSION;
1257      -                (void) strncpy(hba_attrs->Manufacturer, "Emulex",
     1257 +                (void) strncpy(hba_attrs->Manufacturer,
     1258 +                    hba->model_info.manufacturer,
1258 1259                      (sizeof (hba_attrs->Manufacturer)-1));
1259 1260                  (void) strncpy(hba_attrs->SerialNumber, vpd->serial_num,
1260 1261                      (sizeof (hba_attrs->SerialNumber)-1));
1261 1262                  (void) strncpy(hba_attrs->Model, hba->model_info.model,
1262 1263                      (sizeof (hba_attrs->Model)-1));
1263 1264                  (void) strncpy(hba_attrs->ModelDescription,
1264 1265                      hba->model_info.model_desc,
1265 1266                      (sizeof (hba_attrs->ModelDescription)-1));
1266 1267                  bcopy((caddr_t)&port->wwnn,
1267 1268                      (caddr_t)&hba_attrs->NodeWWN, 8);
↓ open down ↓ 25 lines elided ↑ open up ↑
1293 1294                      fcio->fcio_olen <
1294 1295                      sizeof (fc_hba_adapter_attributes_t)) {
1295 1296                          rval = EINVAL;
1296 1297                          goto done;
1297 1298                  }
1298 1299  
1299 1300                  hba_attrs =
1300 1301                      (fc_hba_adapter_attributes_t *)fcio->fcio_obuf;
1301 1302  
1302 1303                  hba_attrs->version = FC_HBA_ADAPTER_ATTRIBUTES_VERSION;
1303      -                (void) strncpy(hba_attrs->Manufacturer, "Emulex",
     1304 +                (void) strncpy(hba_attrs->Manufacturer,
     1305 +                    hba->model_info.manufacturer,
1304 1306                      (sizeof (hba_attrs->Manufacturer)-1));
1305 1307                  (void) strncpy(hba_attrs->SerialNumber, vpd->serial_num,
1306 1308                      (sizeof (hba_attrs->SerialNumber)-1));
1307 1309                  (void) strncpy(hba_attrs->Model, hba->model_info.model,
1308 1310                      (sizeof (hba_attrs->Model)-1));
1309 1311                  (void) strncpy(hba_attrs->ModelDescription,
1310 1312                      hba->model_info.model_desc,
1311 1313                      (sizeof (hba_attrs->ModelDescription)-1));
1312 1314                  bcopy((caddr_t)&port->wwnn,
1313 1315                      (caddr_t)&hba_attrs->NodeWWN, 8);
↓ open down ↓ 126 lines elided ↑ open up ↑
1440 1442                                      HBA_PORTSPEED_8GBIT;
1441 1443                                  break;
1442 1444                          case LA_10GHZ_LINK:
1443 1445                                  port_attrs->PortSpeed =
1444 1446                                      HBA_PORTSPEED_10GBIT;
1445 1447                                  break;
1446 1448                          case LA_16GHZ_LINK:
1447 1449                                  port_attrs->PortSpeed =
1448 1450                                      HBA_PORTSPEED_16GBIT;
1449 1451                                  break;
     1452 +                        case LA_32GHZ_LINK:
     1453 +                                port_attrs->PortSpeed =
     1454 +                                    HBA_PORTSPEED_32GBIT;
     1455 +                                break;
1450 1456                          default:
1451 1457                                  port_attrs->PortSpeed =
1452 1458                                      HBA_PORTSPEED_UNKNOWN;
1453 1459                          }
1454 1460  
1455 1461                          port_attrs->NumberofDiscoveredPorts =
1456 1462                              emlxs_nport_count(port);
1457 1463                  }
1458 1464  
1459 1465                  port_attrs->PortSupportedClassofService =
↓ open down ↓ 126 lines elided ↑ open up ↑
1586 1592                                      HBA_PORTSPEED_8GBIT;
1587 1593                                  break;
1588 1594                          case LA_10GHZ_LINK:
1589 1595                                  port_attrs->PortSpeed =
1590 1596                                      HBA_PORTSPEED_10GBIT;
1591 1597                                  break;
1592 1598                          case LA_16GHZ_LINK:
1593 1599                                  port_attrs->PortSpeed =
1594 1600                                      HBA_PORTSPEED_16GBIT;
1595 1601                                  break;
     1602 +                        case LA_32GHZ_LINK:
     1603 +                                port_attrs->PortSpeed =
     1604 +                                    HBA_PORTSPEED_32GBIT;
     1605 +                                break;
1596 1606                          default:
1597 1607                                  port_attrs->PortSpeed =
1598 1608                                      HBA_PORTSPEED_UNKNOWN;
1599 1609                          }
1600 1610  
1601 1611                          port_attrs->NumberofDiscoveredPorts =
1602 1612                              emlxs_nport_count(port);
1603 1613                  }
1604 1614  
1605 1615                  port_attrs->PortSupportedClassofService =
↓ open down ↓ 613 lines elided ↑ open up ↑
2219 2229                                              HBA_PORTSPEED_8GBIT;
2220 2230                                          break;
2221 2231                                  case LA_10GHZ_LINK:
2222 2232                                          port_attrs->PortSpeed =
2223 2233                                              HBA_PORTSPEED_10GBIT;
2224 2234                                          break;
2225 2235                                  case LA_16GHZ_LINK:
2226 2236                                          port_attrs->PortSpeed =
2227 2237                                              HBA_PORTSPEED_16GBIT;
2228 2238                                          break;
     2239 +                                case LA_32GHZ_LINK:
     2240 +                                        port_attrs->PortSpeed =
     2241 +                                            HBA_PORTSPEED_32GBIT;
     2242 +                                        break;
2229 2243                                  }
2230 2244                          }
2231 2245                          /* public loop */
2232 2246                          else if (hba->topology == TOPOLOGY_LOOP) {
2233 2247                                  /* Check for common area and domain */
2234 2248                                  if ((ndlp->nlp_DID & 0xFFFF00) ==
2235 2249                                      (port->did & 0xFFFF00)) {
2236 2250                                          port_attrs->PortType =
2237 2251                                              FC_HBA_PORTTYPE_NLPORT;
2238 2252  
↓ open down ↓ 20 lines elided ↑ open up ↑
2259 2273                                                      HBA_PORTSPEED_8GBIT;
2260 2274                                                  break;
2261 2275                                          case LA_10GHZ_LINK:
2262 2276                                                  port_attrs->PortSpeed =
2263 2277                                                      HBA_PORTSPEED_10GBIT;
2264 2278                                                  break;
2265 2279                                          case LA_16GHZ_LINK:
2266 2280                                                  port_attrs->PortSpeed =
2267 2281                                                      HBA_PORTSPEED_16GBIT;
2268 2282                                                  break;
     2283 +                                        case LA_32GHZ_LINK:
     2284 +                                                port_attrs->PortSpeed =
     2285 +                                                    HBA_PORTSPEED_32GBIT;
     2286 +                                                break;
2269 2287                                          }
2270 2288                                  }
2271 2289                          }
2272 2290                  }
2273 2291  
2274 2292                  port_attrs->PortSupportedClassofService =
2275 2293                      LE_SWAP32(FC_NS_CLASS3);
2276 2294                  /* port_attrs->PortSymbolicName         */
2277 2295                  /* port_attrs->PortSupportedSpeed       */
2278 2296                  /* port_attrs->PortSupportedFc4Types    */
↓ open down ↓ 72 lines elided ↑ open up ↑
2351 2369                                              HBA_PORTSPEED_8GBIT;
2352 2370                                          break;
2353 2371                                  case LA_10GHZ_LINK:
2354 2372                                          port_attrs->PortSpeed =
2355 2373                                              HBA_PORTSPEED_10GBIT;
2356 2374                                          break;
2357 2375                                  case LA_16GHZ_LINK:
2358 2376                                          port_attrs->PortSpeed =
2359 2377                                              HBA_PORTSPEED_16GBIT;
2360 2378                                          break;
     2379 +                                case LA_32GHZ_LINK:
     2380 +                                        port_attrs->PortSpeed =
     2381 +                                            HBA_PORTSPEED_32GBIT;
     2382 +                                        break;
2361 2383                                  }
2362 2384                          }
2363 2385                          /* public loop */
2364 2386                          else if (hba->topology == TOPOLOGY_LOOP) {
2365 2387                                  /* Check for common area and domain */
2366 2388                                  if ((ndlp->nlp_DID & 0xFFFF00) ==
2367 2389                                      (port->did & 0xFFFF00)) {
2368 2390                                          port_attrs->PortType =
2369 2391                                              FC_HBA_PORTTYPE_NLPORT;
2370 2392  
↓ open down ↓ 20 lines elided ↑ open up ↑
2391 2413                                                      HBA_PORTSPEED_8GBIT;
2392 2414                                                  break;
2393 2415                                          case LA_10GHZ_LINK:
2394 2416                                                  port_attrs->PortSpeed =
2395 2417                                                      HBA_PORTSPEED_10GBIT;
2396 2418                                                  break;
2397 2419                                          case LA_16GHZ_LINK:
2398 2420                                                  port_attrs->PortSpeed =
2399 2421                                                      HBA_PORTSPEED_16GBIT;
2400 2422                                                  break;
     2423 +                                        case LA_32GHZ_LINK:
     2424 +                                                port_attrs->PortSpeed =
     2425 +                                                    HBA_PORTSPEED_32GBIT;
     2426 +                                                break;
2401 2427                                          }
2402 2428                                  }
2403 2429                          }
2404 2430                  }
2405 2431  
2406 2432                  port_attrs->PortSupportedClassofService =
2407 2433                      LE_SWAP32(FC_NS_CLASS3);
2408 2434                  /* port_attrs->PortSymbolicName         */
2409 2435                  /* port_attrs->PortSupportedSpeed       */
2410 2436                  /* port_attrs->PortSupportedFc4Types    */
↓ open down ↓ 102 lines elided ↑ open up ↑
2513 2539                                              HBA_PORTSPEED_8GBIT;
2514 2540                                          break;
2515 2541                                  case LA_10GHZ_LINK:
2516 2542                                          port_attrs->PortSpeed =
2517 2543                                              HBA_PORTSPEED_10GBIT;
2518 2544                                          break;
2519 2545                                  case LA_16GHZ_LINK:
2520 2546                                          port_attrs->PortSpeed =
2521 2547                                              HBA_PORTSPEED_16GBIT;
2522 2548                                          break;
     2549 +                                case LA_32GHZ_LINK:
     2550 +                                        port_attrs->PortSpeed =
     2551 +                                            HBA_PORTSPEED_32GBIT;
     2552 +                                        break;
2523 2553                                  }
2524 2554                          }
2525 2555                          /* public loop */
2526 2556                          else if (hba->topology == TOPOLOGY_LOOP) {
2527 2557                                  /* Check for common area and domain */
2528 2558                                  if ((ndlp->nlp_DID & 0xFFFF00) ==
2529 2559                                      (port->did & 0xFFFF00)) {
2530 2560                                          port_attrs->PortType =
2531 2561                                              FC_HBA_PORTTYPE_NLPORT;
2532 2562  
↓ open down ↓ 20 lines elided ↑ open up ↑
2553 2583                                                      HBA_PORTSPEED_8GBIT;
2554 2584                                                  break;
2555 2585                                          case LA_10GHZ_LINK:
2556 2586                                                  port_attrs->PortSpeed =
2557 2587                                                      HBA_PORTSPEED_10GBIT;
2558 2588                                                  break;
2559 2589                                          case LA_16GHZ_LINK:
2560 2590                                                  port_attrs->PortSpeed =
2561 2591                                                      HBA_PORTSPEED_16GBIT;
2562 2592                                                  break;
     2593 +                                        case LA_32GHZ_LINK:
     2594 +                                                port_attrs->PortSpeed =
     2595 +                                                    HBA_PORTSPEED_32GBIT;
     2596 +                                                break;
2563 2597                                          }
2564 2598                                  }
2565 2599                          }
2566 2600                  }
2567 2601  
2568 2602                  port_attrs->PortSupportedClassofService =
2569 2603                      LE_SWAP32(FC_NS_CLASS3);
2570 2604                  /* port_attrs->PortSymbolicName         */
2571 2605                  /* port_attrs->PortSupportedSpeed       */
2572 2606                  /* port_attrs->PortSupportedFc4Types    */
↓ open down ↓ 79 lines elided ↑ open up ↑
2652 2686                                              HBA_PORTSPEED_8GBIT;
2653 2687                                          break;
2654 2688                                  case LA_10GHZ_LINK:
2655 2689                                          port_attrs->PortSpeed =
2656 2690                                              HBA_PORTSPEED_10GBIT;
2657 2691                                          break;
2658 2692                                  case LA_16GHZ_LINK:
2659 2693                                          port_attrs->PortSpeed =
2660 2694                                              HBA_PORTSPEED_16GBIT;
2661 2695                                          break;
     2696 +                                case LA_32GHZ_LINK:
     2697 +                                        port_attrs->PortSpeed =
     2698 +                                            HBA_PORTSPEED_32GBIT;
     2699 +                                        break;
2662 2700                                  }
2663 2701                          }
2664 2702                          /* public loop */
2665 2703                          else if (hba->topology == TOPOLOGY_LOOP) {
2666 2704                                  /* Check for common area and domain */
2667 2705                                  if ((ndlp->nlp_DID & 0xFFFF00) ==
2668 2706                                      (port->did & 0xFFFF00)) {
2669 2707                                          port_attrs->PortType =
2670 2708                                              FC_HBA_PORTTYPE_NLPORT;
2671 2709  
↓ open down ↓ 20 lines elided ↑ open up ↑
2692 2730                                                      HBA_PORTSPEED_8GBIT;
2693 2731                                                  break;
2694 2732                                          case LA_10GHZ_LINK:
2695 2733                                                  port_attrs->PortSpeed =
2696 2734                                                      HBA_PORTSPEED_10GBIT;
2697 2735                                                  break;
2698 2736                                          case LA_16GHZ_LINK:
2699 2737                                                  port_attrs->PortSpeed =
2700 2738                                                      HBA_PORTSPEED_16GBIT;
2701 2739                                                  break;
     2740 +                                        case LA_32GHZ_LINK:
     2741 +                                                port_attrs->PortSpeed =
     2742 +                                                    HBA_PORTSPEED_32GBIT;
     2743 +                                                break;
2702 2744                                          }
2703 2745                                  }
2704 2746                          }
2705 2747                  }
2706 2748  
2707 2749                  port_attrs->PortSupportedClassofService =
2708 2750                      LE_SWAP32(FC_NS_CLASS3);
2709 2751                  /* port_attrs->PortSymbolicName         */
2710 2752                  /* port_attrs->PortSupportedSpeed       */
2711 2753                  /* port_attrs->PortSupportedFc4Types    */
↓ open down ↓ 1240 lines elided ↑ open up ↑
3952 3994                  if (hba->linkspeed == LA_2GHZ_LINK) {
3953 3995                          hbainfo->port_speed = HBA_PORTSPEED_2GBIT;
3954 3996                  } else if (hba->linkspeed == LA_4GHZ_LINK) {
3955 3997                          hbainfo->port_speed = HBA_PORTSPEED_4GBIT;
3956 3998                  } else if (hba->linkspeed == LA_8GHZ_LINK) {
3957 3999                          hbainfo->port_speed = HBA_PORTSPEED_8GBIT;
3958 4000                  } else if (hba->linkspeed == LA_10GHZ_LINK) {
3959 4001                          hbainfo->port_speed = HBA_PORTSPEED_10GBIT;
3960 4002                  } else if (hba->linkspeed == LA_16GHZ_LINK) {
3961 4003                          hbainfo->port_speed = HBA_PORTSPEED_16GBIT;
     4004 +                } else if (hba->linkspeed == LA_32GHZ_LINK) {
     4005 +                        hbainfo->port_speed = HBA_PORTSPEED_32GBIT;
3962 4006                  } else {
3963 4007                          hbainfo->port_speed = HBA_PORTSPEED_1GBIT;
3964 4008                  }
3965 4009  
3966 4010                  hbainfo->node_count = port->node_count;
3967 4011          }
3968 4012  
3969 4013          hbainfo->hard_alpa = cfg[CFG_ASSIGN_ALPA].current;
3970 4014          hbainfo->supported_cos = LE_SWAP32((FC_NS_CLASS3 | FC_NS_CLASS2));
3971 4015  
↓ open down ↓ 216 lines elided ↑ open up ↑
4188 4232                  if (hba->linkspeed == LA_2GHZ_LINK) {
4189 4233                          stats->link_speed = HBA_PORTSPEED_2GBIT;
4190 4234                  } else if (hba->linkspeed == LA_4GHZ_LINK) {
4191 4235                          stats->link_speed = HBA_PORTSPEED_4GBIT;
4192 4236                  } else if (hba->linkspeed == LA_8GHZ_LINK) {
4193 4237                          stats->link_speed = HBA_PORTSPEED_8GBIT;
4194 4238                  } else if (hba->linkspeed == LA_10GHZ_LINK) {
4195 4239                          stats->link_speed = HBA_PORTSPEED_10GBIT;
4196 4240                  } else if (hba->linkspeed == LA_16GHZ_LINK) {
4197 4241                          stats->link_speed = HBA_PORTSPEED_16GBIT;
     4242 +                } else if (hba->linkspeed == LA_32GHZ_LINK) {
     4243 +                        stats->link_speed = HBA_PORTSPEED_32GBIT;
4198 4244                  } else {
4199 4245                          stats->link_speed = HBA_PORTSPEED_1GBIT;
4200 4246                  }
4201 4247          }
4202 4248  
4203 4249  done:
4204 4250  
4205 4251          /* Free allocated mbox memory */
4206 4252          if (mbq) {
4207 4253                  kmem_free(mbq, sizeof (MAILBOXQ));
↓ open down ↓ 2232 lines elided ↑ open up ↑
6440 6486              "MENLO_INIT: maint_status   = 0x%x", rsp->maint_status);
6441 6487          EMLXS_MSGF(EMLXS_CONTEXT, &emlxs_dfc_detail_msg,
6442 6488              "MENLO_INIT: fw_type        = 0x%x", rsp->fw_type);
6443 6489          EMLXS_MSGF(EMLXS_CONTEXT, &emlxs_dfc_detail_msg,
6444 6490              "MENLO_INIT: fru_data_valid = 0x%x", rsp->fru_data_valid);
6445 6491  
6446 6492          /* Perform attention checks */
6447 6493          if (rsp->fru_data_valid == 0) {
6448 6494                  EMLXS_MSGF(EMLXS_CONTEXT, &emlxs_adapter_error_msg,
6449 6495                      "Invalid FRU data found on adapter. "
6450      -                    "Return adapter to Emulex for repair.");
     6496 +                    "Return adapter to %s for repair.",
     6497 +                    hba->model_info.manufacturer);
6451 6498          }
6452 6499  
6453 6500          switch (rsp->fw_type) {
6454 6501          case MENLO_FW_TYPE_GOLDEN:
6455 6502                  EMLXS_MSGF(EMLXS_CONTEXT, &emlxs_adapter_warning_msg,
6456 6503                      "FCoE chip is running Golden firmware. "
6457 6504                      "Update FCoE firmware immediately.");
6458 6505                  break;
6459 6506  
6460 6507          case MENLO_FW_TYPE_DIAG:
↓ open down ↓ 4592 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX