Subject: Re: [PATCH net-next 1/2] amd-xgbe: Use dma_set_mask_and_coherent to set DMA mask

From: Tom Lendacky <[email-masked]>
Date: Tue, 5 Aug 2014 13:15:00 -0500

On 08/05/2014 11:21 AM, Tom Lendacky wrote:
> Use the dma_set_mask_and_coherent function to set the DMA mask rather
> than setting the DMA mask fields directly.  This was originally done
> to work around a bug in the arm64 DMA support when RAM started above
> the 4GB boundary which has since been fixed.
>
> Signed-off-by: Tom Lendacky <[email-masked]>
> ---
>   drivers/net/ethernet/amd/xgbe/xgbe-main.c |    3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-main.c b/drivers/net/ethernet/amd/xgbe/xgbe-main.c
> index ec977d3..9991bc7 100644
> --- a/drivers/net/ethernet/amd/xgbe/xgbe-main.c
> +++ b/drivers/net/ethernet/amd/xgbe/xgbe-main.c
> @@ -303,8 +303,7 @@ static int xgbe_probe(struct platform_device *pdev)
>   	/* Set the DMA mask */
>   	if (!dev->dma_mask)
>   		dev->dma_mask = &dev->coherent_dma_mask;
> -	*(dev->dma_mask) = DMA_BIT_MASK(40);
> -	dev->coherent_dma_mask = DMA_BIT_MASK(40);
> +	dma_set_mask_and_coherent(dev, DMA_BIT_MASK(40));

Forgot to check the return value of this call, v2 to follow.

Thanks,
Tom

>
>   	if (of_property_read_bool(dev->of_node, "dma-coherent")) {
>   		pdata->axdomain = XGBE_DMA_OS_AXDOMAIN;
>