On 7/3/18 1:04 AM, Vinod Koul wrote:
Add support for probing on ACPI systems, with ACPI HID QCOM8160.

On ACPI systems, clocks are always enabled, the PRNG should
already be enabled, and the register region is read-only.
The driver only verifies that the hardware is already
enabled never tries to disable or configure it.

Signed-off-by: Timur Tabi<ti...@codeaurora.org>
[port to crypto API]
Signed-off-by: Vinod Koul<vk...@kernel.org>

I've asked a colleague who still works at Qualcomm to test this code on silicon. It looks okay, but I just want to be sure.

+       /*
+        * ACPI systems have v2 hardware. The clocks are always enabled,
+        * the PRNG register space is read-only and the PRNG should
+        * already be enabled.
+        */
+       if (has_acpi_companion(&pdev->dev)) {
+               val = readl(rng->base + PRNG_CONFIG);
+               if (!(val & PRNG_CONFIG_HW_ENABLE)) {
+                       dev_err(&pdev->dev, "device is not enabled\n");
+                       return -ENODEV;
+               }

I'm having second thoughts about this PRNG_CONFIG_HW_ENABLE check. The PRNG on the QDF2400 is the same as the one on the 8996, so it should have the same register interface. Currently, the ACPI table points to a full PRNG register block, but I'm beginning to believe that it should instead point to a "reduced" block that doesn't have a PRNG_CONFIG register.

Reply via email to