diff options
Diffstat (limited to 'drivers/infiniband/hw/hfi1/sdma.c')
| -rw-r--r-- | drivers/infiniband/hw/hfi1/sdma.c | 21 | 
1 files changed, 4 insertions, 17 deletions
diff --git a/drivers/infiniband/hw/hfi1/sdma.c b/drivers/infiniband/hw/hfi1/sdma.c index 8ed20392e9f0..bb2552dd29c1 100644 --- a/drivers/infiniband/hw/hfi1/sdma.c +++ b/drivers/infiniband/hw/hfi1/sdma.c @@ -1593,22 +1593,7 @@ static inline void sdma_unmap_desc(  	struct hfi1_devdata *dd,  	struct sdma_desc *descp)  { -	switch (sdma_mapping_type(descp)) { -	case SDMA_MAP_SINGLE: -		dma_unmap_single( -			&dd->pcidev->dev, -			sdma_mapping_addr(descp), -			sdma_mapping_len(descp), -			DMA_TO_DEVICE); -		break; -	case SDMA_MAP_PAGE: -		dma_unmap_page( -			&dd->pcidev->dev, -			sdma_mapping_addr(descp), -			sdma_mapping_len(descp), -			DMA_TO_DEVICE); -		break; -	} +	system_descriptor_complete(dd, descp);  }  /* @@ -3128,7 +3113,7 @@ int ext_coal_sdma_tx_descs(struct hfi1_devdata *dd, struct sdma_txreq *tx,  		/* Add descriptor for coalesce buffer */  		tx->desc_limit = MAX_DESC; -		return _sdma_txadd_daddr(dd, SDMA_MAP_SINGLE, tx, +		return _sdma_txadd_daddr(dd, SDMA_MAP_SINGLE, NULL, tx,  					 addr, tx->tlen);  	} @@ -3167,10 +3152,12 @@ int _pad_sdma_tx_descs(struct hfi1_devdata *dd, struct sdma_txreq *tx)  			return rval;  		}  	} +  	/* finish the one just added */  	make_tx_sdma_desc(  		tx,  		SDMA_MAP_NONE, +		NULL,  		dd->sdma_pad_phys,  		sizeof(u32) - (tx->packet_len & (sizeof(u32) - 1)));  	tx->num_desc++;  |