[V2 PATCH 2/5] arm64 : Introduce support for ACPI _CCA object
Robin Murphy
robin.murphy at arm.com
Wed May 6 03:08:52 PDT 2015
Hi Suravee,
On 05/05/15 16:12, Suravee Suthikulpanit wrote:
> From http://www.uefi.org/sites/default/files/resources/ACPI_6.0.pdf,
> section 6.2.17 _CCA states that ARM platforms require ACPI _CCA
> object to be specified for DMA-cabpable devices. This patch introduces
> ACPI_MUST_HAVE_CCA in arm64 Kconfig to specify such requirement.
>
> In this case of missing _CCA, arm64 would assign dummy_dma_ops
> to disable DMA capability of the device.
>
> Signed-off-by: Mark Salter <msalter at redhat.com>
> Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit at amd.com>
> ---
[...]
> +static void __dummy_sync_single_for_cpu(struct device *dev,
> + dma_addr_t dev_addr, size_t size,
> + enum dma_data_direction dir)
> +{
> +}
> +
> +static void __dummy_sync_single_for_device(struct device *dev,
> + dma_addr_t dev_addr, size_t size,
> + enum dma_data_direction dir)
> +{
> +}
Minor point, but I don't see the need to have multiple dummy functions
with identical signatures - just have a generic dummy_sync_single and
assign it to both ops.
> +static void __dummy_sync_sg_for_cpu(struct device *dev,
> + struct scatterlist *sgl, int nelems,
> + enum dma_data_direction dir)
> +{
> +}
> +
> +static void __dummy_sync_sg_for_device(struct device *dev,
> + struct scatterlist *sgl, int nelems,
> + enum dma_data_direction dir)
> +{
> +}
Ditto here with dummy_sync_sg.
I wonder if there's any argument for putting the dummy DMA ops somewhere
common, like drivers/base/dma-mapping.c?
Robin.
More information about the linux-arm-kernel
mailing list