diff options
Diffstat (limited to 'drivers/dma/acpi-dma.c')
| -rw-r--r-- | drivers/dma/acpi-dma.c | 12 | 
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/dma/acpi-dma.c b/drivers/dma/acpi-dma.c index 30243f5c0710..8a05db3343d3 100644 --- a/drivers/dma/acpi-dma.c +++ b/drivers/dma/acpi-dma.c @@ -10,6 +10,7 @@   */  #include <linux/device.h> +#include <linux/dma-mapping.h>  #include <linux/err.h>  #include <linux/module.h>  #include <linux/kernel.h> @@ -82,6 +83,12 @@ static int acpi_dma_parse_resource_group(const struct acpi_csrt_group *grp,  	if (si->base_request_line == 0 && si->num_handshake_signals == 0)  		return 0; +	/* Set up DMA mask based on value from CSRT */ +	ret = dma_coerce_mask_and_coherent(&adev->dev, +					   DMA_BIT_MASK(si->dma_address_width)); +	if (ret) +		return 0; +  	adma->base_request_line = si->base_request_line;  	adma->end_request_line = si->base_request_line +  				 si->num_handshake_signals - 1; @@ -140,7 +147,7 @@ static void acpi_dma_parse_csrt(struct acpi_device *adev, struct acpi_dma *adma)   * @dev:		struct device of DMA controller   * @acpi_dma_xlate:	translation function which converts a dma specifier   *			into a dma_chan structure - * @data		pointer to controller specific data to be used by + * @data:		pointer to controller specific data to be used by   *			translation function   *   * Allocated memory should be freed with appropriate acpi_dma_controller_free() @@ -224,7 +231,7 @@ static void devm_acpi_dma_release(struct device *dev, void *res)   * devm_acpi_dma_controller_register - resource managed acpi_dma_controller_register()   * @dev:		device that is registering this DMA controller   * @acpi_dma_xlate:	translation function - * @data		pointer to controller specific data + * @data:		pointer to controller specific data   *   * Managed acpi_dma_controller_register(). DMA controller registered by this   * function are automatically freed on driver detach. See @@ -257,6 +264,7 @@ EXPORT_SYMBOL_GPL(devm_acpi_dma_controller_register);  /**   * devm_acpi_dma_controller_free - resource managed acpi_dma_controller_free() + * @dev:	device that is unregistering as DMA controller   *   * Unregister a DMA controller registered with   * devm_acpi_dma_controller_register(). Normally this function will not need to  |