[Intel-gfx] [RFC PATCH 0/6] drm/i915: Implement HDCP
Ville Syrjälä
ville.syrjala at linux.intel.com
Tue Dec 5 13:45:45 UTC 2017
On Thu, Nov 30, 2017 at 08:50:38AM +0100, Daniel Vetter wrote:
> On Wed, Nov 29, 2017 at 10:08:55PM -0500, Sean Paul wrote:
> > Here's the RFC for my i915 HDCP patchset. The UABI is based on what we've been
> > using in Chrome for the past 3 years. I posted the property to the list back
> > then, but never had a mainline driver to implement it. I do now :-)
> >
> > Things are mostly in place, danvet gave me some feedback that I will
> > incorporate in v1. However, in the interest of gaining more early feedback, I'm
> > posting this now.
> >
> > TODO:
> > - Add kerneldoc for property
>
> The big thing I'd like to see here is clear description of the flows
> between kernel and userspace (since there's no helpers on the kernel side
> to standardize this).
>
> One thing we discussed in that context is the addition of an uevent (like
> we do for anything else that changes with connectors, link_status is one
> example). But since the hdcp spec explicitly demands that the video player
> must poll the status an event is moot and won't be used. And I'm no fan of
> speculative uapi :-)
Speaking of uapi... Do we have an open source userspace and igts for
this somewhere?
I'm also concerned about debugging this. It will be a real PITA
to do if we can't even test it easily.
>
> > - Fix '//' comments
> > - Change to MIT license
> > - Rebase on Ville's gmbus fixes (thanks Ville)
> > - Improve documentation on drm_intel_hdcp_shim
> > - Fix async commit locking (ie: don't use connection_mutex)
> > - Don't change connector->state in enable, defer to worker
>
> Same holds for the disable callback, you can't touch state in there.
>
> With the link_status prop (which is somewhat similar) we only reset it in
> atomic_check (where we hold the state locks) and in the async worker (same
> applies).
> -Daniel
>
> > - Add igt coverage for the feature.
> >
> > Thanks!
> >
> > Sean
> >
> >
> > Sean Paul (6):
> > 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 | 43 +++
> > drivers/gpu/drm/drm_sysfs.c | 29 ++
> > 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 | 243 +++++++++++++-
> > drivers/gpu/drm/i915/intel_drv.h | 53 +++
> > drivers/gpu/drm/i915/intel_hdcp.c | 636 ++++++++++++++++++++++++++++++++++++
> > drivers/gpu/drm/i915/intel_hdmi.c | 253 ++++++++++++++
> > drivers/gpu/drm/i915/intel_i2c.c | 54 ++-
> > include/drm/drm_connector.h | 16 +
> > include/drm/drm_dp_helper.h | 17 +
> > include/drm/drm_hdcp.h | 44 +++
> > include/uapi/drm/drm_mode.h | 4 +
> > 17 files changed, 1560 insertions(+), 17 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
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Ville Syrjälä
Intel OTC
More information about the dri-devel
mailing list