Revert "crypto: tegra: Use separate buffer for each host1x command"

This reverts commit f75887b0c0e9340c3dd92b19dab99ed92f36bcb0.

Reason: To align with the upstream changes pushed as part of
https://lore.kernel.org/lkml/20250224091610.49683-1-akhilrajeev@nvidia.com/

Bug 4883011

Change-Id: If79728d00d3e8e3c8ad3e26a8170a7c1fa95414c
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3347660
Reviewed-by: Akhil R <akhilrajeev@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: Akhil R <akhilrajeev@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Akhil R
2025-03-18 11:00:01 +05:30
committed by Jon Hunter
parent 0f2a737b8a
commit a628affd69
6 changed files with 77 additions and 140 deletions

View File

@@ -177,22 +177,22 @@ static int tegra_key_insert(struct tegra_se *se, const u8 *key,
u32 keylen, u16 slot, u32 alg)
{
const u32 *keyval = (u32 *)key;
u32 cmdbuf[100], size;
u32 *addr = se->cmdbuf->addr, size;
size = tegra_key_prep_ins_cmd(se, cmdbuf, keyval, keylen, slot, alg);
size = tegra_key_prep_ins_cmd(se, addr, keyval, keylen, slot, alg);
return tegra_se_host1x_submit(se, cmdbuf, size);
return tegra_se_host1x_submit(se, size);
}
static int tegra_key_move_to_kds(struct tegra_se *se, u32 slot, u32 kds_id)
{
u32 src_keyid, size, cmdbuf[100];
u32 src_keyid, size;
int ret;
src_keyid = SE_KSLT_REGION_ID_SYM | slot;
size = tegra_key_prep_mov_cmd(se, cmdbuf, src_keyid, kds_id);
size = tegra_key_prep_mov_cmd(se, se->cmdbuf->addr, src_keyid, kds_id);
ret = tegra_se_host1x_submit(se, cmdbuf, size);
ret = tegra_se_host1x_submit(se, size);
if (ret)
return ret;
@@ -201,13 +201,13 @@ static int tegra_key_move_to_kds(struct tegra_se *se, u32 slot, u32 kds_id)
static unsigned int tegra_kac_get_from_kds(struct tegra_se *se, u32 keyid, u16 slot)
{
u32 tgt_keyid, size, cmdbuf[100];
u32 tgt_keyid, size;
int ret;
tgt_keyid = SE_KSLT_REGION_ID_SYM | slot;
size = tegra_key_prep_mov_cmd(se, cmdbuf, keyid, tgt_keyid);
size = tegra_key_prep_mov_cmd(se, se->cmdbuf->addr, keyid, tgt_keyid);
ret = tegra_se_host1x_submit(se, cmdbuf, size);
ret = tegra_se_host1x_submit(se, size);
if (ret)
tegra_keyslot_free(slot);
@@ -216,10 +216,10 @@ static unsigned int tegra_kac_get_from_kds(struct tegra_se *se, u32 keyid, u16 s
static void tegra_key_kds_invalidate(struct tegra_se *se, u32 keyid)
{
unsigned int size, cmdbuf[100];
unsigned int size;
size = tegra_key_prep_invld_cmd(se, cmdbuf, keyid);
tegra_se_host1x_submit(se, cmdbuf, size);
size = tegra_key_prep_invld_cmd(se, se->cmdbuf->addr, keyid);
tegra_se_host1x_submit(se, size);
tegra_kds_free_id(keyid);
}