From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751745AbdLARUg (ORCPT ); Fri, 1 Dec 2017 12:20:36 -0500 Received: from mail-yw0-f193.google.com ([209.85.161.193]:36911 "EHLO mail-yw0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751143AbdLARUf (ORCPT ); Fri, 1 Dec 2017 12:20:35 -0500 X-Google-Smtp-Source: AGs4zMYo/21KxvRzcCnWLzU4CAq4DBWD0ARlDAxiEWOoHhoRVM2tQNkwet7b0YsmXfbRMDQAjGAKyw== From: Sean Paul To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org, daniel.vetter@intel.com, Sean Paul Subject: [PATCH v2 0/8] drm/i915: Implement HDCP Date: Fri, 1 Dec 2017 12:20:22 -0500 Message-Id: <20171201172032.47357-1-seanpaul@chromium.org> X-Mailer: git-send-email 2.15.0.531.g2ccb3012c9-goog Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Ok, here's v2 of the HDCP patchset, no longer RFC since I've tackled the TODO list I set out in the first version (Annotated below for convenience). The big changes to take note of in v2 is locking. To account for atomic async + the property's mutability, I'm using a dedicated mutex and moved property setting on the kernel side to the worker. I think this is actually a lot easier to read, and it opens the door to future improvements such as not doing the enable/disable via modeset. TODO: - DONE: Add kerneldoc for property - DONE: Fix '//' comments - DONE: Change to MIT license - DONE: Improve documentation on drm_intel_hdcp_shim - DONE: Fix async commit locking (ie: don't use connection_mutex) - DONE: Don't change connector->state in enable, defer to worker - Rebase on Ville's gmbus fixes (thanks Ville) - Looks like these haven't landed, but I've rebased on drm-intel-next - Add igt coverage for the feature. - Working on this now Thanks! Sean Sean Paul (8): drm: Fix link-status kerneldoc line lengths drm/i915: Add more control to wait_for routines drm: Add Content Protection property drm: Add some HDCP related #defines drm/i915: Add HDCP framework + base implementation drm/i915: Add function to output Aksv over GMBUS drm/i915: Implement HDCP for HDMI drm/i915: Implement HDCP for DisplayPort drivers/gpu/drm/drm_atomic.c | 8 + drivers/gpu/drm/drm_connector.c | 80 ++++- drivers/gpu/drm/drm_sysfs.c | 1 + drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/i915_drv.h | 1 + drivers/gpu/drm/i915/i915_reg.h | 85 +++++ drivers/gpu/drm/i915/intel_atomic.c | 26 +- drivers/gpu/drm/i915/intel_ddi.c | 64 ++++ drivers/gpu/drm/i915/intel_dp.c | 245 ++++++++++++- drivers/gpu/drm/i915/intel_drv.h | 98 +++++- drivers/gpu/drm/i915/intel_hdcp.c | 684 ++++++++++++++++++++++++++++++++++++ drivers/gpu/drm/i915/intel_hdmi.c | 254 +++++++++++++ drivers/gpu/drm/i915/intel_i2c.c | 54 ++- drivers/gpu/drm/i915/intel_uncore.c | 23 +- drivers/gpu/drm/i915/intel_uncore.h | 14 +- include/drm/drm_connector.h | 16 + include/drm/drm_dp_helper.h | 17 + include/drm/drm_hdcp.h | 56 +++ include/uapi/drm/drm_mode.h | 4 + 19 files changed, 1697 insertions(+), 34 deletions(-) create mode 100644 drivers/gpu/drm/i915/intel_hdcp.c create mode 100644 include/drm/drm_hdcp.h -- 2.15.0.531.g2ccb3012c9-goog