[PATCH v2 0/8] drm/i915: Implement HDCP

Sean Paul seanpaul at chromium.org
Fri Dec 1 18:58:26 UTC 2017


On Fri, Dec 1, 2017 at 1:47 PM, Hans Verkuil <hverkuil at xs4all.nl> wrote:
> 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.
>

Hi Hans,
Repeater support is implemented in intel_hdcp_auth_downstream()

> 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?
>

No, MST is not supported at the moment (there's a TODO in the code)

Sean

> 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
>>
>


More information about the dri-devel mailing list