diff options
author | Marvin Zhang <mzhang@nvidia.com> | 2013-01-09 11:04:04 -0800 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 13:05:54 -0700 |
commit | 762078be1f4c34bfb7ff5934109be2494b74894f (patch) | |
tree | f3e909923a07a82e6af359e3a985938dbf65cce9 /drivers/video/tegra/dc/nvhdcp.c | |
parent | 8652e0471c5586aea7177547351305930aa17d49 (diff) |
nvhdcp: return bksv_list for upstream protocol.
add returning bksv_list support from function get_nvhdcp_state.
upstream library gets bksv_list and passes it to tsec in order
to verify the validity of downstream devices.
Bug 1197884
Change-Id: I58ba2c5c4200ffb95ab9f929eecb1e9ebb60b5c9
Signed-off-by: Marvin Zhang <mzhang@nvidia.com>
Reviewed-on: http://git-master/r/190034
Reviewed-by: James Zhao <jamesz@nvidia.com>
Tested-by: James Zhao <jamesz@nvidia.com>
Reviewed-by: Jon Mayo <jmayo@nvidia.com>
(cherry picked from commit 2c6b09135f87293170a09270f77f413e07e7cf67)
Reviewed-on: http://git-master/r/213672
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Karan Jhavar <kjhavar@nvidia.com>
Diffstat (limited to 'drivers/video/tegra/dc/nvhdcp.c')
-rw-r--r-- | drivers/video/tegra/dc/nvhdcp.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/video/tegra/dc/nvhdcp.c b/drivers/video/tegra/dc/nvhdcp.c index 261d1a877c90..08a17f69b426 100644 --- a/drivers/video/tegra/dc/nvhdcp.c +++ b/drivers/video/tegra/dc/nvhdcp.c @@ -473,11 +473,16 @@ static int verify_ksv(u64 k) static int get_nvhdcp_state(struct tegra_nvhdcp *nvhdcp, struct tegra_nvhdcp_packet *pkt) { + int i; + mutex_lock(&nvhdcp->lock); if (nvhdcp->state != STATE_LINK_VERIFY) { memset(pkt, 0, sizeof *pkt); pkt->packet_results = TEGRA_NVHDCP_RESULT_LINK_FAILED; } else { + pkt->num_bksv_list = nvhdcp->num_bksv_list; + for (i = 0; i < pkt->num_bksv_list; i++) + pkt->bksv_list[i] = nvhdcp->bksv_list[i]; pkt->packet_results = TEGRA_NVHDCP_RESULT_SUCCESS; } mutex_unlock(&nvhdcp->lock); |