Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752069AbdLASrx (ORCPT ); Fri, 1 Dec 2017 13:47:53 -0500 Received: from lb3-smtp-cloud8.xs4all.net ([194.109.24.29]:44924 "EHLO lb3-smtp-cloud8.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751208AbdLASrw (ORCPT ); Fri, 1 Dec 2017 13:47:52 -0500 Subject: Re: [PATCH v2 0/8] drm/i915: Implement HDCP To: Sean Paul , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Cc: daniel.vetter@intel.com, linux-kernel@vger.kernel.org References: <20171201172032.47357-1-seanpaul@chromium.org> From: Hans Verkuil Message-ID: <51e9e5db-0f29-5ece-eca7-7c2826b39135@xs4all.nl> Date: Fri, 1 Dec 2017 19:47:43 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20171201172032.47357-1-seanpaul@chromium.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfLItRKhZDX7BW4cG2xDCf+1MqvSLjMETfA+o9wO1rvaKGJd/Hbv4Ie3cPPk95bybM3+Do54+AV9REj6xuZmgv6a2AspzSEBgmILqfP9uBvRC4ZAfXfz3 USOTBDTvOheu8+srIPjXkM6etfOi0QGKh08wNib9EzrUzCXD7OtxFAm7KeU4VFppo2W5tXDvlnZA72ezaTtJu6mHVgAGhaPONkKcej1RrEzNgNcKa8lrRFFS /LLJzvnJ6mwGC+3sWd0t19HdGuXfBQqe+Ap/UNN/3MmJ5bYNSS9SplAu7vCHr9d6n2V9akSMCo+G0EkLaeD52w== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3303 Lines: 80 Hi Sean, On 12/01/2017 06:20 PM, Sean Paul wrote: > 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 Looking at this patch series it seems that there is no drm support to get the BKSV from the i915, right? If you want to use the i915 (or any HDMI/DP output) in a repeater scenario then userspace has to be able to obtain that information so it can be added to the BKSV of the HDMI receiver. For the record, the V4L2 subsystem used by HDMI receivers doesn't support HDCP yet, although patches exist. I can understand that you are not (yet) adding repeater support, but it should be documented somewhere in the patch series that this is not there yet and that a standard DRM API would be needed to obtain the BKSV from the transmitter. Second question: has this been tested with a MST hub? Regards, Hans > > 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 >