summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/dc/nvhdcp.c
AgeCommit message (Collapse)Author
2011-11-30video: tegra: dc: reduce HDCP re-negotiation delayDonghan Ryu
some HDCP verification devices requires fast HDCP re-negotiation after link verification failure. 1.75sec is too high to meet their requirement Bug 855002 Reviewed-on: http://git-master/r/44322 Reviewed-on: http://git-master/r/50794 (cherry picked from commit 0e5b68619d03e7413d5c718f98d0820f3c534e86) Change-Id: I69d129a5cd15b4d48409b218ccdea98a35f0cac6 Reviewed-on: http://git-master/r/54171 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Rebase-Id: Recc3e25601b28a9bf829f62acca6eff0feb35b36
2011-11-30video:tegra:dc: fix hdcp hotplug issueKen Chang
bit WRITE16 of HDMI_NV_PDISP_KEY_CTRL_0 shall be polled until it reports DONE, which is value 0 to ensure the write is complete. bug 858744 bug 861719 (cherry picked from commit d37336f3965cd1071afb6b03b979b0409ee480f1) (reviewed on http://git-master/r/49821) Change-Id: I38fe861a265db7d969f3a15f164724294d627cfd Reviewed-on: http://git-master/r/52852 Tested-by: Ken Chang <kenc@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: Rde95d37c2dfa5d1a169a3aa2a80f304f25b94c03
2011-11-30nvhost: Move include files to kernel/includeTerje Bergstrom
To prepare for kernel modularization, nvhost include files need to be moved from mach-tegra/include to kernel/include. At the same time user space specific part is split into nvhost_ioctl.h. Bug 854182 Original-Change-Id: I3694a40d786028733310ecf5b59341282af571be Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/43211 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com> Rebase-Id: Rc4fadf65d59ddfb5bb924e7adfccd39e86a0b2c7
2011-11-30video: tegra: dc: use a delayed_work on hdcpDonghan Ryu
hdmi modeset triggers to re-start hdcp and trying to negotiate too early can cause HDCP failure. using delayed_work can avoid this situation by starting HDCP a little bit late Bug 855002 Original-Change-Id: Ic54a6f156845d911e2631b755284362026474012 Reviewed-on: http://git-master/r/43694 Reviewed-by: Donghan Ryu <dryu@nvidia.com> Tested-by: Donghan Ryu <dryu@nvidia.com> Reviewed-by: Jonathan Mayo <jmayo@nvidia.com> Rebase-Id: R353eadbf83e4ee9bb6dd280898eccaaccc021d1a
2011-11-30video: tegra: dc: fix delay on hdmi modesetDonghan Ryu
wait_event_interruptible_timeout checks the condition before it enters a sleep. Adding a real condition to the function avoids an un-wanted aditional sleep. Bug 833476 Original-Change-Id: I03072d1c3b6efb48e20ed42b55ee2d844a29fbbc Reviewed-on: http://git-master/r/43225 Reviewed-on: http://git-master/r/43426 Reviewed-by: Donghan Ryu <dryu@nvidia.com> Tested-by: Donghan Ryu <dryu@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: Rcb4571b19c3c3499d7bfbfdfae040c6bf454a284
2011-11-30video: tegra: dc: make hdcp respond quickly on HDMI modeset.Seongho Joo
hdcp worker could be in sleep during modeset. The front part of the video could be lost because of it. This change makes hdcp respond quickly to shorten the delay. bug 826468 Reviewed-on: http://git-master/r/36215 (cherry picked from commit e856cedd18d60c3636b694f1fba612259abf7229) Original-Change-Id: I1e907753e1d2eec8514bf5bc2f4166502c5477dc Reviewed-on: http://git-master/r/37422 Tested-by: Seongho Joo <sjoo@nvidia.com> Reviewed-by: Jonathan Mayo <jmayo@nvidia.com> Rebase-Id: R94af8a09f68427762618cac0a9f21f9b5fedbe6b
2011-11-30video: tegra: dc: fix ksv_list query sequence and timeout handlingPeter Zu
- remove delay on i2c r/w success to fix hdcp test case 1b-03 failure - do not turn on hdcp crypt before verifying repeater bug 829599 Original-Change-Id: I43718636342cb0d396cc702a8374d61da72844a7 Reviewed-on: http://git-master/r/34645 Tested-by: Peter Zu <pzu@nvidia.com> Reviewed-by: Jonathan Mayo <jmayo@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com> Rebase-Id: R209e114e898cb2052233d6e8d24a2e5be3fbd32a
2011-11-30video: tegra: dc: stop hdcp when keys are missingJon Mayo
verify Aksv, if it is invalid then quickly disable further hdcp checks. Bug 792855 Original-Change-Id: I4a9d689d571d2f916e11f92f5b897f287f724068 Reviewed-on: http://git-master/r/29899 Reviewed-by: Jonathan Mayo <jmayo@nvidia.com> Tested-by: Jonathan Mayo <jmayo@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com> Rebase-Id: R198c9da7c918732a9b764063d12fd7de3792e5b8
2011-11-30video: tegra: dc: hdcp: renegotiate the hdcp link on resumePeter Zu
bug 802909 Original-Change-Id: I061eb7082b251ef6963e2a68fd9821122e010966 Reviewed-on: http://git-master/r/23871 Reviewed-by: Peter Zu <pzu@nvidia.com> Tested-by: Peter Zu <pzu@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Jonathan Mayo <jmayo@nvidia.com> Rebase-Id: R255ee5f24d31f5c5a44c09174e2a7089dd300837
2011-11-30video: tegra: dc: Fix several problemsAndrei Warkentin
Resolve potential race between resume and reset Fix wmb after return Change-Id: I98ad1e713b9781d780bf93561496011bf62b86d1 Signed-off-by: Andrei Warkentin <andreiw@motorola.com>
2011-11-30video: tegra: dc: hdcp: handle the case of DEVICE_COUNT = 0 properlyPeter Zu
When HDCP repeater has no device attached, DEVICE_COUNT reports back as 0. HDCP driver should handle this case as a good case and continue downstream authentication, other than fail it. Change-Id: Ied2e46428c0247f14fbd96016cd4fdbf358f6587
2011-11-30video: tegra: fix more unplug/suspend timeout in nvhdcpErik Gilling
Change-Id: I30dfa03324eb5c4c344c62578eb808a150c80deb Signed-off-by: Erik Gilling <konkers@android.com>
2011-11-30video: tegra: fix unplug/suspend timeout in nvhdcpErik Gilling
If HDCP was turned off (either by unplug or suspend) the work funciton would wait the full timeout 5 * l.75s before exiting. This causes suspend to timeout and crash. Change-Id: I8eb185452ad09e34f4573874e9766c0e1cec15de Signed-off-by: Erik Gilling <konkers@android.com>
2011-11-30video: tegra: reset hdcp failure count on hotplugJon Mayo
use tegra_nvhdcp_on/tegra_nvhdcp_off in hotplug handler to clean up state machine. Change-Id: I62fe503f0628ad4b49d5d7d66fe1702122179877 Signed-off-by: Erik Gilling <konkers@android.com>
2011-11-30video: tegra: use longer retries for hdcpJon Mayo
use 3 seconds for i2c/ddc failures on hdcp (15 attempts at 250mS each) Change-Id: Ia755c9b42d5a0d8467b68c9d334638bcb015eabd Signed-off-by: Erik Gilling <konkers@android.com>
2011-11-30video: tegra: reset hdcp failure count on hotplugErik Gilling
Change-Id: Iba5041f8428b13791004c96e6e8c2ed4dbcc37b8 Signed-off-by: Erik Gilling <konkers@android.com>
2011-11-30[ARM] tegra: hdmi nvhdcp driverJon Mayo
Device /dev/nvhdcpX is used to manage NVHDCP on framebuffer /dev/fbX. These devices are created on hdmi driver initialition when it is attached to dc. Currently only one nvhdcp device may be created. An ioctl interface is in video/nvhdcp.h Check for repeaters and store repeater info. userspace application queries this status to authenticate the connection. When authentication fails, auto-renegotiate every 1.75 seconds. Give up after 5 failed attempts, reset after hotplug or policy change. use TEGRA_DC_OUT_NVHDCP_POLICY_ON_DEMAND in tegra_dc_out.flags in board panel configuration to select a different default policy at probe. Currently only TEGRA_DC_OUT_NVHDCP_POLICY_ALWAYS_ON is supported. Change-Id: I0db66fc86096b98d2604544061721d291523de75 Reviewed-by: Jon Mayo <jmayo@nvidia.com> Tested-by: Jon Mayo <jmayo@nvidia.com> Reviewed-by: Phillip Smith <psmith@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com> Signed-off-by: Erik Gilling <konkers@android.com>