Thread (24 messages) 24 messages, 7 authors, 2015-05-07

Re: [V2 PATCH 1/5] ACPI / scan: Parse _CCA and setup device coherency

From: Suravee Suthikulanit <suravee.suthikulpanit@amd.com>
Date: 2015-05-06 22:17:00
Also in: linux-acpi, linux-arm-kernel, linux-crypto, lkml

On 5/6/2015 5:21 PM, Rafael J. Wysocki wrote:
quoted
quoted
quoted
quoted
quoted
quoted
+	bool
+
+config ACPI_SUPPORT_CCA_ZERO
I guess this means "we support devices that can DMA, but are not coherent".
right?
Yes, basically when _CCA=0.
So what about

	ARCH_SUPPORT_CACHE_INCOHERENT_DMA
Since this is specific to ACPI _CCA, I just want to be clear with the 
naming.
or something similar?
quoted
quoted
quoted
quoted
quoted
quoted
+	bool
+
  config ACPI_SLEEP
  	bool
  	depends on SUSPEND || HIBERNATION
diff --git a/drivers/acpi/acpi_platform.c b/drivers/acpi/acpi_platform.c
index 4bf7559..a6feca4 100644
--- a/drivers/acpi/acpi_platform.c
+++ b/drivers/acpi/acpi_platform.c
@@ -108,9 +108,11 @@ struct platform_device *acpi_create_platform_device(struct acpi_device *adev)
  	if (IS_ERR(pdev))
  		dev_err(&adev->dev, "platform device creation failed: %ld\n",
  			PTR_ERR(pdev));
-	else
+	else {
Please add braces to both branches when making such changes (as per CodingStyle).
OK.
quoted
quoted
quoted
quoted
+		acpi_setup_device_dma(adev, &pdev->dev);
Why do we need to do that here (for the second time)?
Because we are calling:
   acpi_create_platform_device()
     |--> platform_device_register_device_full()
       |-->platform_device_alloc()

This creates platform_device, which allocate a new platform_device->dev.
This is not the same as the original acpi_device->dev that was created
during acpi_add_single_object(). So, we have to set up the device
coherency again.
Ah, so the second arg is different now.

Well, in that case, why do we need to set it up for the adev's dev member?
Just for sanity, since I don't know if adev->dev will be referenced 
anywhere else. This way, it's consistent for all copied of struct device 
generated.

Lemme know if you think that is unnecessary.

Thanks,

Suravee
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help