Re: [PATCH v3 6/6] crypto: qcom: Add ACPI support

From: Timur Tabi
Date: Tue Jul 03 2018 - 10:10:13 EST


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<timur@xxxxxxxxxxxxxx>
[port to crypto API]
Signed-off-by: Vinod Koul<vkoul@xxxxxxxxxx>

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.