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

Sean Paul seanpaul at chromium.org
Fri Dec 1 17:20:22 UTC 2017


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



More information about the dri-devel mailing list