From: Ang Tien Sung <[email protected]>
Hi,
Beginning with Stratix10 and Agilex, a new fpga crypto services shall be
supported. This is a first of many patches to add new cryto
functionalities in the form of new commands to the firmware svc driver.
The new crytpo services are provided by the Secure device manager(SDM).
The firmware SVC driver receives the commands from the client drivers
and sends this command via SMC calls to the Arm trusted firmware(ATF) or
U-boot firmware at EL3. The firmware interrupt service handlers than,
processes the new commands and send them the SDM's mailbox.
To support asynchronous commands, we have introduced a
INTEL_SIP_SMP_SERVICE_COMPLETED command to poll the completion of the
crypto operations. This polling commands are essential for the rest of
the FCS commands. All new FCS commands shall have a prefix of
INTEL_SIP_SMC_FCS_XXXXX. There shall also be a new FCS client device
driver called intel_fcs that will be added. The SVC firmware driver
registers the new FCS client driver and allocates a new channel for this
device driver. This brings the total supported client drivers to 3
(RSU, FPGA and FCS) We have tested this functionality by regression testing
within Intel's test framework.
The first patch creates the new FCS client device driver.
The second patch adds the new asynchronous polling command for FCS.
The third patch adds the new FCS commands to support SDOS encryption
and decryption.
changelog v2:
* Have corrected the missing /** due to accidental removal as
* reported by Reported-by: kernel test robot <[email protected]>.
* Re-run and compilation is passing.
changelog v3:
* Resolve the warning warning: variable a3, a4 and a5 set but not used.
* The fix requires changes to invoke_fn to send all command arguments a0
* to a7 that is a SMC call to ATF/firmware.
* Had corrected the polling command
* which was a merge of an internal patch as the a0 to a7
* that was due to be upstreamed to prevent this commit from introducing
* new bug to the polling command.
* Modified the patch 1 to 3 subject to fit within 75 columns.
Ang Tien Sung (3):
firmware: stratix10-svc: Add support for FCS
firmware: stratix10-svc: add FCS polling command
firmware: stratix10-svc: add new FCS commands
drivers/firmware/stratix10-svc.c | 175 ++++++++++++++++--
include/linux/firmware/intel/stratix10-smc.h | 140 +++++++++++++-
.../firmware/intel/stratix10-svc-client.h | 50 ++++-
3 files changed, 340 insertions(+), 25 deletions(-)
--
2.25.1