[ofw] [Patch 31/62] Reference implementation of NDv2
Fab Tillier
ftillier at microsoft.com
Wed Feb 20 18:02:30 PST 2013
Yay, the half point mark...
Pull in fixes to MTHCA from the trunk. I don't have a way to test InfiniHost III cards, so this is only compile tested.
Signed-off-by: Fab Tillier <ftillier at microsoft.com>
diff -dwup3 -X excl.txt -r c:\dev\openib\ofw\gen1\branches\mlx4_30\trunk\hw\mthca\kernel\hca_data.c .\hw\mthca\kernel\hca_data.c
--- c:\dev\openib\ofw\gen1\branches\mlx4_30\trunk\hw\mthca\kernel\hca_data.c Thu May 31 11:22:19 2012
+++ .\hw\mthca\kernel\hca_data.c Wed May 23 18:26:48 2012
@@ -173,7 +173,6 @@ mlnx_hobs_remove(
{
cl_async_proc_t *p_async_proc;
-
cl_spinlock_acquire( &hob_lock );
hob_p->mark = E_MARK_INVALID;
@@ -337,6 +336,9 @@ void ca_event_handler(struct ib_event *e
ib_event_rec_t event_rec;
LIST_ENTRY *entry;
ci_event_handler_t *event_handler;
+
+ if ( hob_p->mark == E_MARK_INVALID )
+ return;
// prepare parameters
event_rec.type = ev->event;
diff -dwup3 -X excl.txt -r c:\dev\openib\ofw\gen1\branches\mlx4_30\trunk\hw\mthca\kernel\hca_pnp.c .\hw\mthca\kernel\hca_pnp.c
--- c:\dev\openib\ofw\gen1\branches\mlx4_30\trunk\hw\mthca\kernel\hca_pnp.c Fri Aug 03 17:54:45 2012
+++ .\hw\mthca\kernel\hca_pnp.c Wed May 23 15:14:37 2012
@@ -592,7 +592,7 @@ __hca_release_resources(
//cl_event_destroy( &p_ext->mutex );
__UnmapHcaMemoryResources( p_dev_obj );
- p_ext->state = HCA_ADDED;
+ p_ext->state = HCA_SHUTDOWN;
HCA_EXIT( HCA_DBG_PNP );
}
@@ -621,9 +621,8 @@ hca_release_resources(
("PoSetPowerState: old state %d, new state to %d\n",
powerState.DeviceState, p_ext->DevicePowerState ));
-
/* Clear the PnP state in case we get restarted. */
- p_ext->pnpState = 0;
+ p_ext->pnpState = PNP_DEVICE_REMOVED;
HCA_EXIT( HCA_DBG_PNP );
}
@@ -648,6 +647,13 @@ hca_stop(
IN IRP* const p_irp,
OUT cl_irp_action_t* const p_action )
{
+ hca_dev_ext_t *p_ext = (hca_dev_ext_t*)p_dev_obj->DeviceExtension;
+
+ if (p_ext->hca.mdev) { // quiet the HCA
+ struct mthca_dev *mdev = p_ext->hca.mdev;
+ (void) hca_reset(mdev->ext->cl_ext.p_self_do,(mdev->hca_type == 0/*TAVOR*/));
+ }
+
/*
* Must disable everything. Complib framework will
* call ReleaseResources handler.
diff -dwup3 -X excl.txt -r c:\dev\openib\ofw\gen1\branches\mlx4_30\trunk\hw\mthca\kernel\mthca_main.c .\hw\mthca\kernel\mthca_main.c
--- c:\dev\openib\ofw\gen1\branches\mlx4_30\trunk\hw\mthca\kernel\mthca_main.c Thu May 31 11:22:19 2012
+++ .\hw\mthca\kernel\mthca_main.c Wed May 23 18:26:48 2012
@@ -953,6 +953,7 @@ NTSTATUS mthca_init_one(hca_dev_ext_t *e
InitializeListHead(&ext->hca.hob.event_list);
KeInitializeSpinLock(&ext->hca.hob.event_list_lock);
+ ext->hca.hob.mark = E_MARK_CA;
/* allocate mdev structure */
mdev = kzalloc(sizeof *mdev, GFP_KERNEL);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ndv2.31.patch
Type: application/octet-stream
Size: 2597 bytes
Desc: ndv2.31.patch
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20130221/f9489f42/attachment.obj>
More information about the ofw
mailing list