Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Harry Wentland <harry.wentland@amd.com>
To: Sean Paul <sean@poorly.run>, Alex Deucher <alexdeucher@gmail.com>
Cc: Maling list - DRI developers <dri-devel@lists.freedesktop.org>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	freedreno <freedreno@lists.freedesktop.org>,
	Sean Paul <seanpaul@chromium.org>
Subject: Re: [Intel-gfx] [PATCH 00/14] drm/hdcp: Pull HDCP auth/exchange/check into
Date: Mon, 13 Sep 2021 17:08:32 -0400	[thread overview]
Message-ID: <e74888d0-7b08-01fb-6ebd-dc138617f171@amd.com> (raw)
In-Reply-To: <CAMavQK+BJqSmxFCPvTJKpt1VTaY=KeQPw-VwGYM8mQQU4TS=Wg@mail.gmail.com>



On 2021-09-13 3:26 p.m., Sean Paul wrote:
> On Mon, Sep 13, 2021 at 2:05 PM Alex Deucher <alexdeucher@gmail.com> wrote:
>>
>> On Mon, Sep 13, 2021 at 1:57 PM Sean Paul <sean@poorly.run> wrote:
>>>
>>> From: Sean Paul <seanpaul@chromium.org>
>>>
>>> Hello,
>>> This patchset pulls the HDCP protocol auth/exchange/check logic out from
>>> i915 into a HDCP helper library which drivers can use to implement the
>>> proper protocol and UAPI interactions for achieving HDCP.
>>>
>>> Originally this was all stuffed into i915 since it was the only driver
>>> supporting HDCP. Over the last while I've been working on HDCP support
>>> in the msm driver and have identified the parts which can/should be
>>> shared between drivers and the parts which are hw-specific.
>>>
>>> We can generalize all of the sink interactions in the helper as well as
>>> state handling and link checks. This tends to be the trickiest part of
>>> adding HDCP support, since the property state and locking is a bit of a
>>> nightmare. The driver need only implement the more mechanical display
>>> controller register accesses.
>>>
>>> The first third of the pachset is establishing the helpers, the next
>>> third is converting the i915 driver to use the helpers, and the last
>>> third is the msm driver implementation.
>>>
>>> I've left out HDCP 2.x support, since we still only have i915 as the
>>> reference implementation and I'm not super comfortable speculating on
>>> which parts are platform independent.
>>
>> FWIW, amdgpu has support for both HDCP 1.x and 2.x
>>
> 
> Thanks Alex, I knew this and neglected to mention it, apologies for
> the omission.
> 
> IIRC amdgpu is much less hands-on than i915/msm, with PSP doing most
> of the heavy lifting. There's probably some value in using the helpers
> since it'll handle the state transitions in a consistent manner, do
> you think this is something you can use?
> 

We might be able to use drm_hdcp_atomic_check but the HDCP protocol
stuff is sitting in our hdcp module and shared with other OSes so
sharing it would be difficult.

Harry

> Sean
> 
> 
>> Alex
>>
>>>
>>> Please take a look,
>>>
>>> Sean
>>>
>>> Sean Paul (14):
>>>   drm/hdcp: Add drm_hdcp_atomic_check()
>>>   drm/hdcp: Avoid changing crtc state in hdcp atomic check
>>>   drm/hdcp: Update property value on content type and user changes
>>>   drm/hdcp: Expand HDCP helper library for enable/disable/check
>>>   drm/i915/hdcp: Consolidate HDCP setup/state cache
>>>   drm/i915/hdcp: Retain hdcp_capable return codes
>>>   drm/i915/hdcp: Use HDCP helpers for i915
>>>   drm/msm/dpu_kms: Re-order dpu includes
>>>   drm/msm/dpu: Remove useless checks in dpu_encoder
>>>   drm/msm/dpu: Remove encoder->enable() hack
>>>   drm/msm/dp: Re-order dp_audio_put in deinit_sub_modules
>>>   dt-bindings: msm/dp: Add bindings for HDCP registers
>>>   drm/msm: Add hdcp register ranges to sc7180 device tree
>>>   drm/msm: Implement HDCP 1.x using the new drm HDCP helpers
>>>
>>>  .../bindings/display/msm/dp-controller.yaml   |   11 +-
>>>  drivers/gpu/drm/drm_hdcp.c                    | 1198 ++++++++++++++++-
>>>  drivers/gpu/drm/i915/display/intel_atomic.c   |    7 +-
>>>  drivers/gpu/drm/i915/display/intel_ddi.c      |   29 +-
>>>  .../drm/i915/display/intel_display_debugfs.c  |   11 +-
>>>  .../drm/i915/display/intel_display_types.h    |   58 +-
>>>  drivers/gpu/drm/i915/display/intel_dp_hdcp.c  |  341 ++---
>>>  drivers/gpu/drm/i915/display/intel_dp_mst.c   |   17 +-
>>>  drivers/gpu/drm/i915/display/intel_hdcp.c     | 1011 +++-----------
>>>  drivers/gpu/drm/i915/display/intel_hdcp.h     |   35 +-
>>>  drivers/gpu/drm/i915/display/intel_hdmi.c     |  256 ++--
>>>  drivers/gpu/drm/msm/Makefile                  |    1 +
>>>  drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c   |   17 +-
>>>  drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c       |   30 +-
>>>  drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h       |    2 -
>>>  drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h     |    4 -
>>>  drivers/gpu/drm/msm/dp/dp_debug.c             |   49 +-
>>>  drivers/gpu/drm/msm/dp/dp_debug.h             |    6 +-
>>>  drivers/gpu/drm/msm/dp/dp_display.c           |   47 +-
>>>  drivers/gpu/drm/msm/dp/dp_display.h           |    5 +
>>>  drivers/gpu/drm/msm/dp/dp_drm.c               |   68 +-
>>>  drivers/gpu/drm/msm/dp/dp_drm.h               |    5 +
>>>  drivers/gpu/drm/msm/dp/dp_hdcp.c              |  433 ++++++
>>>  drivers/gpu/drm/msm/dp/dp_hdcp.h              |   27 +
>>>  drivers/gpu/drm/msm/dp/dp_parser.c            |   30 +-
>>>  drivers/gpu/drm/msm/dp/dp_parser.h            |    4 +
>>>  drivers/gpu/drm/msm/dp/dp_reg.h               |   44 +-
>>>  drivers/gpu/drm/msm/msm_atomic.c              |   15 +
>>>  include/drm/drm_hdcp.h                        |  194 +++
>>>  29 files changed, 2570 insertions(+), 1385 deletions(-)
>>>  create mode 100644 drivers/gpu/drm/msm/dp/dp_hdcp.c
>>>  create mode 100644 drivers/gpu/drm/msm/dp/dp_hdcp.h
>>>
>>> --
>>> Sean Paul, Software Engineer, Google / Chromium OS
>>>


  reply	other threads:[~2021-09-13 21:08 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-13 17:57 [Intel-gfx] [PATCH 00/14] drm/hdcp: Pull HDCP auth/exchange/check into Sean Paul
2021-09-13 17:57 ` [Intel-gfx] [PATCH 01/14] drm/hdcp: Add drm_hdcp_atomic_check() Sean Paul
2021-09-13 17:57 ` [Intel-gfx] [PATCH 02/14] drm/hdcp: Avoid changing crtc state in hdcp atomic check Sean Paul
2021-09-13 17:57 ` [Intel-gfx] [PATCH 03/14] drm/hdcp: Update property value on content type and user changes Sean Paul
2021-09-13 17:57 ` [Intel-gfx] [PATCH 04/14] drm/hdcp: Expand HDCP helper library for enable/disable/check Sean Paul
2021-09-14  7:39   ` kernel test robot
2021-09-13 17:57 ` [Intel-gfx] [PATCH 05/14] drm/i915/hdcp: Consolidate HDCP setup/state cache Sean Paul
2021-09-13 17:57 ` [Intel-gfx] [PATCH 06/14] drm/i915/hdcp: Retain hdcp_capable return codes Sean Paul
2021-09-13 17:57 ` [Intel-gfx] [PATCH 07/14] drm/i915/hdcp: Use HDCP helpers for i915 Sean Paul
2021-09-14  2:42   ` kernel test robot
2021-09-13 17:57 ` [Intel-gfx] [PATCH 08/14] drm/msm/dpu_kms: Re-order dpu includes Sean Paul
2021-09-13 17:57 ` [Intel-gfx] [PATCH 09/14] drm/msm/dpu: Remove useless checks in dpu_encoder Sean Paul
2021-09-13 17:57 ` [Intel-gfx] [PATCH 10/14] drm/msm/dpu: Remove encoder->enable() hack Sean Paul
2021-09-13 17:57 ` [Intel-gfx] [PATCH 11/14] drm/msm/dp: Re-order dp_audio_put in deinit_sub_modules Sean Paul
2021-09-13 17:57 ` [Intel-gfx] [PATCH 12/14] dt-bindings: msm/dp: Add bindings for HDCP registers Sean Paul
2021-09-13 21:31   ` Rob Herring
2021-09-14  1:23   ` Stephen Boyd
2021-09-13 17:57 ` [Intel-gfx] [PATCH 13/14] drm/msm: Add hdcp register ranges to sc7180 device tree Sean Paul
2021-09-14  1:28   ` Stephen Boyd
2021-09-13 17:57 ` [Intel-gfx] [PATCH 14/14] drm/msm: Implement HDCP 1.x using the new drm HDCP helpers Sean Paul
2021-09-13 18:05 ` [Intel-gfx] [PATCH 00/14] drm/hdcp: Pull HDCP auth/exchange/check into Alex Deucher
2021-09-13 19:26   ` Sean Paul
2021-09-13 21:08     ` Harry Wentland [this message]
2021-09-13 21:18 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e74888d0-7b08-01fb-6ebd-dc138617f171@amd.com \
    --to=harry.wentland@amd.com \
    --cc=alexdeucher@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=sean@poorly.run \
    --cc=seanpaul@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox