OK with me
> -----Original Message----- > From: Sean Hefty [mailto:[email protected]] > Sent: Thursday, August 13, 2009 9:04 PM > To: Leonid Keller; [email protected] > Subject: [PATCH v2] ib/port_attr: report active width as part > of port attributes > > Return the active width in the port attributes reported by the HCA. > Because the kernel and user space share the same source > files, to avoid breaking the ABI, rename link_width_supported > field to active_width and use that field to return the value. > link_width_supported is currently uninitialized and in the > svn tree unused, so repurposing the field should have minimal > impact. However, this change will break the API. > Applications that reference the link_width_supported field > from struct _ib_port_attr will require a minor update if recompiled. > > Update winverbs to report this value and fill in other > missing fields from the port attribute structure. This fix > allows reporting the correct values through the libibverbs > port and ibv_devinfo example utility. > > Signed-off-by: Sean Hefty <[email protected]> > --- > changes from v1: renamed link_width_supported field > > diff -up -r -X \mshefty\scm\winof\trunk\docs\dontdiff.txt -I > '\$Id:' trunk\inc\iba/ib_types.h branches\winverbs\inc\iba/ib_types.h > --- trunk\inc\iba/ib_types.h 2009-06-11 10:33:24.189875000 -0700 > +++ branches\winverbs\inc\iba/ib_types.h 2009-08-13 > 10:55:27.403564800 -0700 > @@ -8724,11 +8724,7 @@ typedef struct _ib_port_attr > ib_net16_t lid; > uint8_t lmc; > > - /* > - * LinkWidthSupported as defined in PortInfo. Required > to calculate > - * inter-packet delay (a.k.a. static rate). > - */ > - uint8_t link_width_supported; > + uint8_t active_width; > > uint16_t max_vls; > > diff -up -r -X \mshefty\scm\winof\trunk\docs\dontdiff.txt -I > '\$Id:' trunk\hw/mlx4/kernel/hca/data.c > branches\winverbs\hw/mlx4/kernel/hca/data.c > --- trunk\hw/mlx4/kernel/hca/data.c 2009-06-11 > 10:33:38.377375000 -0700 > +++ branches\winverbs\hw/mlx4/kernel/hca/data.c > 2009-08-13 10:41:52.762601000 -0700 > @@ -347,6 +347,7 @@ from_hca_cap( > ibal_port_p->max_msg_size = > mthca_port_p->max_msg_sz; > ibal_port_p->mtu = > (uint8_t)mthca_port_p->max_mtu; > ibal_port_p->active_speed = > mthca_port_p->active_speed; > + ibal_port_p->active_width = > mthca_port_p->active_width; > ibal_port_p->phys_state = > mthca_port_p->phys_state; > > ibal_port_p->subnet_timeout = > mthca_port_p->subnet_timeout; diff -up -r -X > \mshefty\scm\winof\trunk\docs\dontdiff.txt -I '\$Id:' > trunk\hw/mthca/kernel/hca_data.c > branches\winverbs\hw/mthca/kernel/hca_data.c > --- trunk\hw/mthca/kernel/hca_data.c 2009-06-11 > 10:33:47.846125000 -0700 > +++ branches\winverbs\hw/mthca/kernel/hca_data.c > 2009-08-13 10:41:53.137533800 -0700 > @@ -323,6 +323,7 @@ mlnx_conv_hca_cap( > ibal_port_p->max_msg_size = mthca_port_p->max_msg_sz; > ibal_port_p->mtu = (uint8_t)mthca_port_p->max_mtu; > ibal_port_p->active_speed = mthca_port_p->active_speed; > + ibal_port_p->active_width = mthca_port_p->active_width; > ibal_port_p->phys_state = mthca_port_p->phys_state; > > ibal_port_p->subnet_timeout = > mthca_port_p->subnet_timeout; diff -up -r -X > \mshefty\scm\winof\trunk\docs\dontdiff.txt -I '\$Id:' > trunk\core\winverbs/kernel/wv_device.c > branches\winverbs\core\winverbs/kernel/wv_device.c > --- trunk\core\winverbs/kernel/wv_device.c 2009-06-11 > 10:32:48.283625000 -0700 > +++ branches\winverbs\core\winverbs/kernel/wv_device.c > 2009-08-13 10:42:24.665309400 -0700 > @@ -517,7 +517,7 @@ static void WvConvertPortAttr(WV_IO_PORT { > WvConvertPortCap(&pAttributes->PortCabilityFlags, > &pPortAttr->cap); > pAttributes->State = pPortAttr->link_state; > - pAttributes->MaxMtu = 0; // > TODO: missing in ib_port_attr_t > + pAttributes->MaxMtu = 0x80 << > pPortAttr->mtu; > pAttributes->ActiveMtu = 0x80 << pPortAttr->mtu; > pAttributes->GidTableLength = pPortAttr->num_gids; > pAttributes->MaxMessageSize = (UINT32) > pPortAttr->max_msg_size; > @@ -531,9 +531,9 @@ static void WvConvertPortAttr(WV_IO_PORT > pAttributes->SmSl = pPortAttr->sm_sl; > pAttributes->SubnetTimeout = pPortAttr->subnet_timeout; > pAttributes->InitTypeReply = pPortAttr->init_type_reply; > - pAttributes->ActiveWidth = > pPortAttr->link_width_supported; > - pAttributes->ActiveSpeed = 0; // TODO: > missing in ib_port_attr_t > - pAttributes->PhysicalState = 0; // TODO: > missing in ib_port_attr_t > + pAttributes->ActiveWidth = pPortAttr->active_width; > + pAttributes->ActiveSpeed = pPortAttr->active_speed; > + pAttributes->PhysicalState = pPortAttr->phys_state; > pAttributes->Reserved[0] = 0; > pAttributes->Reserved[1] = 0; > } > > _______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
