mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-20 09:34:44 +08:00
crypto: ccp - Use lower 8 bytes to communicate with doorbell command register
Unlike other command registers used by the PSP, only the lower 8 bytes are used for communication for both command and status of the command. Suggested-by: Mark Hasemeyer <markhas@chromium.org> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Reviewed-by: Mark Hasemeyer <markhas@chromium.org> Tested-by: Mark Hasemeyer <markhas@chromium.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
a19c61b065
commit
6699e1431e
@ -19,6 +19,7 @@
|
||||
#include "platform-access.h"
|
||||
|
||||
#define PSP_CMD_TIMEOUT_US (500 * USEC_PER_MSEC)
|
||||
#define DOORBELL_CMDRESP_STS GENMASK(7, 0)
|
||||
|
||||
/* Recovery field should be equal 0 to start sending commands */
|
||||
static int check_recovery(u32 __iomem *cmd)
|
||||
@ -154,7 +155,7 @@ int psp_ring_platform_doorbell(int msg, u32 *result)
|
||||
goto unlock;
|
||||
}
|
||||
|
||||
iowrite32(FIELD_PREP(PSP_DRBL_MSG, msg), cmd);
|
||||
iowrite32(FIELD_PREP(DOORBELL_CMDRESP_STS, msg), cmd);
|
||||
iowrite32(PSP_DRBL_RING, button);
|
||||
|
||||
if (wait_cmd(cmd)) {
|
||||
@ -162,7 +163,7 @@ int psp_ring_platform_doorbell(int msg, u32 *result)
|
||||
goto unlock;
|
||||
}
|
||||
|
||||
val = FIELD_GET(PSP_CMDRESP_STS, ioread32(cmd));
|
||||
val = FIELD_GET(DOORBELL_CMDRESP_STS, ioread32(cmd));
|
||||
if (val) {
|
||||
if (result)
|
||||
*result = val;
|
||||
|
Loading…
Reference in New Issue
Block a user