~ubuntu-kernel-test/ubuntu/+source/linux/+git/mirror-drm-intel:topic/drm-intel-gem-next

Last commit made on 2020-09-03
Get this branch:
git clone -b topic/drm-intel-gem-next https://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mirror-drm-intel
Members of Ubuntu Kernel Test can upload to this branch. Log in for directions.

Branch merges

Branch information

Name:
topic/drm-intel-gem-next
Repository:
lp:~ubuntu-kernel-test/ubuntu/+source/linux/+git/mirror-drm-intel

Recent commits

cf69685... by Kai Vehmanen

drm/i915: fix regression leading to display audio probe failure on GLK

In commit 4f0b4352bd26 ("drm/i915: Extract cdclk requirements checking
to separate function") the order of force_min_cdclk_changed check and
intel_modeset_checks(), was reversed. This broke the mechanism to
immediately force a new CDCLK minimum, and lead to driver probe
errors for display audio on GLK platform with 5.9-rc1 kernel. Fix
the issue by moving intel_modeset_checks() call later.

[vsyrjala: It also broke the ability of planes to bump up the cdclk
and thus could lead to underruns when eg. flipping from 32bpp to
64bpp framebuffer. To be clear, we still compute the new cdclk
correctly but fail to actually program it to the hardware due to
intel_set_cdclk_{pre,post}_plane_update() not getting called on
account of state->modeset==false.]

Fixes: 4f0b4352bd26 ("drm/i915: Extract cdclk requirements checking to separate function")
BugLink: https://github.com/thesofproject/linux/issues/2410
Signed-off-by: Kai Vehmanen <email address hidden>
Signed-off-by: Ville Syrjälä <email address hidden>
Link: https://patchwork.freedesktop<email address hidden>

1fa0140... by Sean Paul

drm/i915: Add HDCP 1.4 support for MST connectors

Now that all the groundwork has been laid, we can turn on HDCP 1.4 over
MST. Everything except for toggling the HDCP signalling and HDCP 2.2
support is the same as the DP case, so we'll re-use those callbacks

Cc: Juston Li <email address hidden>
Reviewed-by: Anshuman Gupta <email address hidden>
Signed-off-by: Sean Paul <email address hidden>
Link: https://patchwork<email address hidden> #v1
Link: https://patchwork<email address hidden> #v2
Link: https://patchwork<email address hidden> #v3
Link: https://patchwork<email address hidden> #v4
Link: https://patchwork<email address hidden> #v5
Link: https://patchwork<email address hidden> #v6
Link: https://patchwork<email address hidden> #v7

Changes in v2:
-Toggle HDCP from encoder disable/enable
-Don't disable HDCP on MST connector destroy, leave that for encoder
 disable, just ensure the check_work routine isn't running any longer
Changes in v3:
-Place the shim in the new intel_dp_hdcp.c file (Ville)
Changes in v4:
-Actually use the mst shim for mst connections (Juston)
-Use QUERY_STREAM_ENC_STATUS MST message to verify channel is encrypted
Changes in v5:
-Add sleep on disable signalling to match hdmi delay
Changes in v6:
-Disable HDCP over MST on GEN12+ since I'm unsure how it should work and I
 don't have hardware to test it
Changes in v7:
-Remove hdcp2 shims for MST in favor of skipping hdcp2 init (Ramalingam)
Changes in v8:
-None

Signed-off-by: Ramalingam C <email address hidden>
Link: https://patchwork<email address hidden>

da44edb... by Sean Paul

drm/i915: Print HDCP version info for all connectors

De-duplicate the HDCP version code for each connector and print it for
all connectors.

Cc: Juston Li <email address hidden>
Cc: Ramalingam C <email address hidden>
Reviewed-by: Juston Li <email address hidden>
Reviewed-by: Ramalingam C <email address hidden>
Signed-off-by: Sean Paul <email address hidden>

Link: https://patchwork<email address hidden> #v4
Link: https://patchwork<email address hidden> #v5
Link: https://patchwork<email address hidden> #v6
Link: https://patchwork<email address hidden> #v7

Changes in v4:
- Added to the set
Changes in v5:
-Print "No connector support" for hdcp sink capability as well (Ram)
Changes in v6:
-None
Changes in v7:
-None
Changes in v8:
-None

Signed-off-by: Ramalingam C <email address hidden>
Link: https://patchwork<email address hidden>

e38c298... by Sean Paul

drm/mst: Add support for QUERY_STREAM_ENCRYPTION_STATUS MST sideband message

Used to query whether an MST stream is encrypted or not.

Cc: Lyude Paul <email address hidden>
Reviewed-by: Anshuman Gupta <email address hidden>
Reviewed-by: Lyude Paul <email address hidden>
Signed-off-by: Sean Paul <email address hidden>

Link: https://patchwork<email address hidden> #v4
Link: https://patchwork<email address hidden> #v5
Link: https://patchwork<email address hidden> #v6
Link: https://patchwork<email address hidden> #v7
Link: https://patchwork<email address hidden> #v8

Changes in v4:
-Added to the set
Changes in v5:
-None
Changes in v6:
-Use FIELD_PREP to generate request buffer bitfields (Lyude)
-Add mst selftest and dump/decode_sideband_req for QSES (Lyude)
Changes in v7:
-None
Changes in v8:
-Reverse the parsing on the hdcp_*x_device_present bits and leave
 breadcrumb in case this is incorrect (Anshuman)
Changes in v8.5:
-s/DRM_DEBUG_KMS/drm_dbg_kms/ (Lyude)

Signed-off-by: Ramalingam C <email address hidden>
Acked-by: Daniel Vetter <email address hidden>
Link: https://patchwork<email address hidden>

038bac8... by Sean Paul

drm/i915: Add connector to hdcp_shim->check_link()

Currently we derive the connector from digital port in check_link(). For
MST, this isn't sufficient since the digital port passed into the
function can have multiple connectors downstream. This patch adds
connector to the check_link() arguments so we have it when we need it.

Reviewed-by: Anshuman Gupta <email address hidden>
Reviewed-by: Ramalingam C <email address hidden>
Signed-off-by: Sean Paul <email address hidden>
Link: https://patchwork<email address hidden> #v4
Link: https://patchwork<email address hidden> #v5
Link: https://patchwork<email address hidden> #v6
Link: https://patchwork<email address hidden> #v7

Changes in v4:
-Added to the set
Changes in v5:
-None
Changes in v6:
-None
Changes in v7:
-None
Changes in v8:
-None

Signed-off-by: Ramalingam C <email address hidden>
Link: https://patchwork<email address hidden>

bf3657d... by Sean Paul

drm/i915: Plumb port through hdcp init

This patch plumbs port through hdcp init instead of relying on
intel_attached_encoder() to return a non-NULL encoder which won't work
for MST connectors.

Cc: Ville Syrjälä <email address hidden>
Reviewed-by: Anshuman Gupta <email address hidden>
Reviewed-by: Ramalingam C <email address hidden>
Signed-off-by: Sean Paul <email address hidden>
Link: https://patchwork<email address hidden> #v5
Link: https://patchwork<email address hidden> #v6
Link: https://patchwork<email address hidden> #v7

Changes in v5:
-Added to the set
Changes in v6:
-None
Changes in v7:
-None
Changes in v8:
-None

Signed-off-by: Ramalingam C <email address hidden>
Link: https://patchwork<email address hidden>

d079b7e... by Sean Paul

drm/i915: Factor out HDCP shim functions from dp for use by dp_mst

These functions are all the same for dp and dp_mst, so move them into a
dedicated file for both sst and mst to use.

Reviewed-by: Ramalingam C <email address hidden>
Signed-off-by: Sean Paul <email address hidden>
Link: https://patchwork<email address hidden> #v1
Link: https://patchwork<email address hidden> #v2
Link: https://patchwork<email address hidden> #v3
Link: https://patchwork<email address hidden> #v4
Link: https://patchwork<email address hidden> #v5
Link: https://patchwork<email address hidden> #v6
Link: https://patchwork<email address hidden> #v7

Changes in v2:
-None
Changes in v3:
-Created intel_dp_hdcp.c for the shared functions to live (Ville)
Changes in v4:
-Rebased on new drm logging change
Changes in v5:
-None
Changes in v6:
-None
Changes in v7:
-Rebased patch
Changes in v8:
-None

Signed-off-by: Ramalingam C <email address hidden>
Link: https://patchwork<email address hidden>

f1c7a36... by Sean Paul

drm/i915: Use ddi_update_pipe in intel_dp_mst

In order to act upon content_protection property changes, we'll need to
implement the .update_pipe() hook. We can re-use intel_ddi_update_pipe
for this

Reviewed-by: Ramalingam C <email address hidden>
Signed-off-by: Sean Paul <email address hidden>
Link: https://patchwork<email address hidden> #v1
Link: https://patchwork<email address hidden> #v2
Link: https://patchwork<email address hidden> #v3
Link: https://patchwork<email address hidden> #v4
Link: https://patchwork<email address hidden> #v5
Link: https://patchwork<email address hidden> #v6
Link: https://patchwork<email address hidden> #v7

Changes in v2:
-None
Changes in v3:
-None
Changes in v4:
-None
Changes in v5:
-None
Changes in v6:
-None
Changes in v7:
-None
Changes in v8:
-None

Signed-off-by: Ramalingam C <email address hidden>
Link: https://patchwork<email address hidden>

515d575... by Sean Paul

drm/i915: Support DP MST in enc_to_dig_port() function

Although DP_MST fake encoders are not subclassed from digital ports,
they are associated with them. Support these encoders.

Reviewed-by: Ramalingam C <email address hidden>
Signed-off-by: Sean Paul <email address hidden>
Link: https://patchwork<email address hidden> #v1
Link: https://patchwork<email address hidden> #v2
Link: https://patchwork<email address hidden> #v3
Link: https://patchwork<email address hidden> #v4
Link: https://patchwork<email address hidden> #v5
Link: https://patchwork<email address hidden> #v6
Link: https://patchwork<email address hidden> #v7

Changes in v2:
-None
Changes in v3:
-None
Changes in v4:
-None
Changes in v5:
-None
Changes in v6:
-None
Changes in v7:
-None
Changes in v8:
-None

Signed-off-by: Ramalingam C <email address hidden>
Link: https://patchwork<email address hidden>

36e5e70... by Sean Paul

drm/i915: Don't fully disable HDCP on a port if multiple pipes are using it

This patch is required for HDCP over MST. If a port is being used for
multiple HDCP streams, we don't want to fully disable HDCP on a port if
one of them is disabled. Instead, we just disable the HDCP signalling on
that particular pipe and exit early. The last pipe to disable HDCP will
also bring down HDCP on the port.

In order to achieve this, we need to keep a refcount in intel_digital_port
and protect it using a new hdcp_mutex.

Cc: Ramalingam C <email address hidden>
Reviewed-by: Ramalingam C <email address hidden>
Signed-off-by: Sean Paul <email address hidden>
Link: https://patchwork<email address hidden> #v1
Link: https://patchwork<email address hidden> #v2
Link: https://patchwork<email address hidden> #v3
Link: https://patchwork<email address hidden> #v4
Link: https://patchwork<email address hidden> #v5
Link: https://patchwork<email address hidden> #v6
Link: https://patchwork<email address hidden> #v7

Changes in v2:
-Move the toggle_signalling call into _intel_hdcp_disable so it's called from check_work
Changes in v3:
-None
Changes in v4:
-None
Changes in v5:
-Change WARN_ON to drm_WARN_ON
Changes in v6:
-None
Changes in v7:
-Split minor intel_hdcp_disable refactor into separate patch (Ramalingam)
Changes in v8:
-None

Signed-off-by: Ramalingam C <email address hidden>
Link: https://patchwork<email address hidden>