All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC] added hdcp driver in hdmi
@ 2012-12-21  9:47 Eunchul Kim
  2012-12-21  9:47 ` [RFC] drm/exynos: added hdcp driver for contents protection Eunchul Kim
  0 siblings, 1 reply; 7+ messages in thread
From: Eunchul Kim @ 2012-12-21  9:47 UTC (permalink / raw)
  To: dri-devel, inki.dae
  Cc: jy0.jeon, sw0312.kim, jaejoon.seo, kyungmin.park, jmock.shin,
	lsmin.lee, th908.kim

Hi All.

This patch supports HDCP feature in Exynos DRM HDMI.
We enhaced feature of HDCP for content protection.
please check my commit and If you have any opinion of this patch.
please give comment to me.

HDCP stands for High-bandwidth Digital Content Protection.
contains an integrated HDCP encryption engine
for video/audio content protection.
supports version HDCP v1.1.
Exynos supports embedded HDCP key system.
The HDCP key value is fused during fabrication, based on customer's request.

First part authentication protocol.
The HDCP transmitter(Device A) can initiate authentication at any time.
Authentication is initiated by the HDCP transmitter by sending an An, Aksv.
An(64-bit psedo-random value), Aksv(Transmitter Key Selection Vector).
The HDCP Receiver(Device B) generates Rj.
The HDCP Receiver responds by sending a response message Bksv.
Bksv(Receiver Key Selection Vector).
If authentication was successfull, then Ri will be equal to Rj.

Second part authentication protocol.
The second part of the authentication protocol is required
if the HDCP receiver is an HDCP repeater.
The HDCP transmitter executes the second part of the protocol only
when the REPEATER bit is set,
indicating that the attached HDCP receiver is an HDCP repeater.
This part of the protocol assembles a list of all downstream
KSVs attached to the HDCP repeater through a permitted connection tree,
enabling revocation support upstream.

Third part authentication protocol.
The third part of the authentication protocol occurs during
the vertical blanking interval preceding the frame for which it applies.
Each of the two HDCP devices calculates new cipher initialization values,
Ki and Mi, and a third value Ri. and asynchronous polling every 2 seconds.

Exynos scenario.
1. start encryption.
2. receive Bcaps, Bksv from peer device.
3. check repeater caps from Bcaps.
4. send An, Aksv to peer device.
5. receive Rj from peer device.
6. compare Ri, Rj. If same and not repeater, then start encryption.
7. If not same, retry. If repeater, then start second authentication.
8. stop encryption.

Thank's
BR
Eunchul Kim

Eunchul Kim (1):
  drm/exynos: added hdcp driver for contents protection.

 drivers/gpu/drm/exynos/Kconfig          |    6 +
 drivers/gpu/drm/exynos/Makefile         |    1 +
 drivers/gpu/drm/exynos/exynos_drm_drv.c |   12 +
 drivers/gpu/drm/exynos/exynos_drm_drv.h |    1 +
 drivers/gpu/drm/exynos/exynos_hdcp.c    | 1164 +++++++++++++++++++++++++++++++
 drivers/gpu/drm/exynos/exynos_hdcp.h    |   47 ++
 drivers/gpu/drm/exynos/exynos_hdmi.c    |   11 +
 drivers/gpu/drm/exynos/exynos_hdmi.h    |    7 +
 drivers/gpu/drm/exynos/regs-hdmi.h      |  177 +++++
 9 files changed, 1426 insertions(+), 0 deletions(-)
 create mode 100644 drivers/gpu/drm/exynos/exynos_hdcp.c
 create mode 100644 drivers/gpu/drm/exynos/exynos_hdcp.h

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-12-22  7:40 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-21  9:47 [RFC] added hdcp driver in hdmi Eunchul Kim
2012-12-21  9:47 ` [RFC] drm/exynos: added hdcp driver for contents protection Eunchul Kim
2012-12-21 11:53   ` Alan Cox
2012-12-21 17:44     ` Inki Dae
2012-12-22  5:59     ` Eunchul Kim
2012-12-21 19:29   ` Sean Paul
2012-12-22  7:39     ` Eunchul Kim

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.