* [PATCH 0/2] drm/i915 DP MST audio support in i915
@ 2015-11-06 8:34 libin.yang
2015-11-06 8:34 ` [PATCH 1/2] dp/mst: add SDP stream support libin.yang
2015-11-06 8:34 ` [PATCH 2/2] drm/i915: start adding dp mst audio libin.yang
0 siblings, 2 replies; 4+ messages in thread
From: libin.yang @ 2015-11-06 8:34 UTC (permalink / raw)
To: intel-gfx, jani.nikula, daniel.vetter, ville.syrjala; +Cc: Libin Yang
From: Libin Yang <libin.yang@linux.intel.com>
These patches add support for DP MST audio in i915 driver.
Patches have been tested on BDW and the result show it won't
impact the DP SST and HDMI audio.
These patches are ported from Dave's patches.
Please check Dave's git tree for original patches:
git://people.freedesktop.org/~airlied/linux
Libin Yang (2):
dp/mst: add SDP stream support
drm/i915: start adding dp mst audio
drivers/gpu/drm/drm_dp_mst_topology.c | 32 +++++++++++++++++++++++++++++---
drivers/gpu/drm/i915/i915_debugfs.c | 13 +++++++++++++
drivers/gpu/drm/i915/intel_audio.c | 9 ++++++---
drivers/gpu/drm/i915/intel_dp_mst.c | 25 +++++++++++++++++++++++++
include/drm/drm_dp_mst_helper.h | 6 ++++--
5 files changed, 77 insertions(+), 8 deletions(-)
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] dp/mst: add SDP stream support
2015-11-06 8:34 [PATCH 0/2] drm/i915 DP MST audio support in i915 libin.yang
@ 2015-11-06 8:34 ` libin.yang
2015-11-06 9:26 ` kbuild test robot
2015-11-06 8:34 ` [PATCH 2/2] drm/i915: start adding dp mst audio libin.yang
1 sibling, 1 reply; 4+ messages in thread
From: libin.yang @ 2015-11-06 8:34 UTC (permalink / raw)
To: intel-gfx, jani.nikula, daniel.vetter, ville.syrjala
Cc: Dave Airlie, Libin Yang
From: Libin Yang <libin.yang@linux.intel.com>
This adds code to initialise the SDP streams
for a sink in the simplest ordering.
I've no idea how you'd want to control the
ordering at this level, so don't bother
until someone comes up with a use case.
Signed-off-by: Libin Yang <libin.yang@linux.intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
---
drivers/gpu/drm/drm_dp_mst_topology.c | 34 +++++++++++++++++++++++++++++++---
include/drm/drm_dp_mst_helper.h | 7 +++++--
2 files changed, 36 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
index 809959d..20d4d2a 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -666,7 +666,9 @@ static int build_enum_path_resources(struct drm_dp_sideband_msg_tx *msg, int por
}
static int build_allocate_payload(struct drm_dp_sideband_msg_tx *msg, int port_num,
- u8 vcpi, uint16_t pbn)
+ u8 vcpi, uint16_t pbn,
+ u8 number_sdp_streams,
+ u8 *sdp_stream_sink)
{
struct drm_dp_sideband_msg_req_body req;
memset(&req, 0, sizeof(req));
@@ -674,6 +676,9 @@ static int build_allocate_payload(struct drm_dp_sideband_msg_tx *msg, int port_n
req.u.allocate_payload.port_number = port_num;
req.u.allocate_payload.vcpi = vcpi;
req.u.allocate_payload.pbn = pbn;
+ req.u.allocate_payload.number_sdp_streams = number_sdp_streams;
+ memcpy(req.u.allocate_payload.sdp_stream_sink, sdp_stream_sink,
+ number_sdp_streams);
drm_dp_encode_sideband_req(&req, msg);
msg->path_msg = true;
return 0;
@@ -1562,6 +1567,8 @@ static int drm_dp_payload_send_msg(struct drm_dp_mst_topology_mgr *mgr,
struct drm_dp_sideband_msg_tx *txmsg;
struct drm_dp_mst_branch *mstb;
int len, ret;
+ u8 sinks[DRM_DP_MAX_SDP_STREAMS];
+ int i;
mstb = drm_dp_get_validated_mstb_ref(mgr, port->parent);
if (!mstb)
@@ -1573,10 +1580,13 @@ static int drm_dp_payload_send_msg(struct drm_dp_mst_topology_mgr *mgr,
goto fail_put;
}
+ for (i = 0; i < port->num_sdp_streams; i++)
+ sinks[i] = i;
+
txmsg->dst = mstb;
len = build_allocate_payload(txmsg, port->port_num,
id,
- pbn);
+ pbn, port->num_sdp_streams, sinks);
drm_dp_queue_down_tx(mgr, txmsg);
@@ -2259,6 +2269,23 @@ out:
EXPORT_SYMBOL(drm_dp_mst_detect_port);
/**
+ * drm_dp_mst_port_has_audio()
+ */
+bool drm_dp_mst_port_has_audio(struct drm_dp_mst_topology_mgr *mgr,
+ struct drm_dp_mst_port *port)
+{
+ bool ret = false;
+
+ port = drm_dp_get_validated_port_ref(mgr, port);
+ if (!port)
+ return ret;
+ ret = port->has_audio;
+ drm_dp_put_port(port);
+ return ret;
+}
+EXPORT_SYMBOL(drm_dp_mst_port_has_audio);
+
+/**
* drm_dp_mst_get_edid() - get EDID for an MST port
* @connector: toplevel connector to get EDID for
* @mgr: manager for this port
@@ -2283,6 +2310,7 @@ struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct drm_dp_
edid = drm_get_edid(connector, &port->aux.ddc);
drm_mode_connector_set_tile_property(connector);
}
+ port->has_audio = drm_detect_monitor_audio(edid);
drm_dp_put_port(port);
return edid;
}
@@ -2566,7 +2594,7 @@ static void drm_dp_mst_dump_mstb(struct seq_file *m,
seq_printf(m, "%smst: %p, %d\n", prefix, mstb, mstb->num_ports);
list_for_each_entry(port, &mstb->ports, next) {
- seq_printf(m, "%sport: %d: ddps: %d ldps: %d, %p, conn: %p\n", prefix, port->port_num, port->ddps, port->ldps, port, port->connector);
+ seq_printf(m, "%sport: %d: ddps: %d ldps: %d, sdp: %d/%d, %p, conn: %p\n", prefix, port->port_num, port->ddps, port->ldps, port->num_sdp_streams, port->num_sdp_stream_sinks, port, port->connector);
if (port->mstb)
drm_dp_mst_dump_mstb(m, port->mstb);
}
diff --git a/include/drm/drm_dp_mst_helper.h b/include/drm/drm_dp_mst_helper.h
index 5340099..74b5888 100644
--- a/include/drm/drm_dp_mst_helper.h
+++ b/include/drm/drm_dp_mst_helper.h
@@ -94,6 +94,7 @@ struct drm_dp_mst_port {
struct drm_dp_mst_topology_mgr *mgr;
struct edid *cached_edid; /* for DP logical ports - make tiling work */
+ bool has_audio;
};
/**
@@ -215,13 +216,13 @@ struct drm_dp_sideband_msg_rx {
struct drm_dp_sideband_msg_hdr initial_hdr;
};
-
+#define DRM_DP_MAX_SDP_STREAMS 16
struct drm_dp_allocate_payload {
u8 port_number;
u8 number_sdp_streams;
u8 vcpi;
u16 pbn;
- u8 sdp_stream_sink[8];
+ u8 sdp_stream_sink[DRM_DP_MAX_SDP_STREAMS];
};
struct drm_dp_allocate_payload_ack_reply {
@@ -484,6 +485,8 @@ int drm_dp_mst_hpd_irq(struct drm_dp_mst_topology_mgr *mgr, u8 *esi, bool *handl
enum drm_connector_status drm_dp_mst_detect_port(struct drm_connector *connector, struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port);
+bool drm_dp_mst_port_has_audio(struct drm_dp_mst_topology_mgr *mgr,
+ struct drm_dp_mst_port *port);
struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port);
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] drm/i915: start adding dp mst audio
2015-11-06 8:34 [PATCH 0/2] drm/i915 DP MST audio support in i915 libin.yang
2015-11-06 8:34 ` [PATCH 1/2] dp/mst: add SDP stream support libin.yang
@ 2015-11-06 8:34 ` libin.yang
1 sibling, 0 replies; 4+ messages in thread
From: libin.yang @ 2015-11-06 8:34 UTC (permalink / raw)
To: intel-gfx, jani.nikula, daniel.vetter, ville.syrjala
Cc: Dave Airlie, Libin Yang
From: Libin Yang <libin.yang@linux.intel.com>
This patch adds support for DP MST audio in i915.
Enable audio codec when DP MST is enabled if has_audio flag is set.
Disable audio codec when DP MST is disabled if has_audio flag is set.
Signed-off-by: Libin Yang <libin.yang@linux.intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
---
drivers/gpu/drm/i915/i915_debugfs.c | 14 ++++++++++++++
drivers/gpu/drm/i915/intel_audio.c | 9 ++++++---
drivers/gpu/drm/i915/intel_dp_mst.c | 25 +++++++++++++++++++++++++
3 files changed, 45 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 5659d4c..38c7a5d 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2873,6 +2873,18 @@ static void intel_dp_info(struct seq_file *m,
intel_panel_info(m, &intel_connector->panel);
}
+static void intel_dp_mst_info(struct seq_file *m,
+ struct intel_connector *intel_connector)
+{
+ struct intel_encoder *intel_encoder = intel_connector->encoder;
+ struct intel_dp_mst_encoder *intel_mst =
+ enc_to_mst(&intel_encoder->base);
+ struct intel_digital_port *intel_dig_port = intel_mst->primary;
+ struct intel_dp *intel_dp = &intel_dig_port->dp;
+
+ seq_printf(m, "\taudio support: %s\n", drm_dp_mst_port_has_audio(&intel_dp->mst_mgr, intel_connector->port) ? "yes" : "no");
+}
+
static void intel_hdmi_info(struct seq_file *m,
struct intel_connector *intel_connector)
{
@@ -2916,6 +2928,8 @@ static void intel_connector_info(struct seq_file *m,
intel_hdmi_info(m, intel_connector);
else if (intel_encoder->type == INTEL_OUTPUT_LVDS)
intel_lvds_info(m, intel_connector);
+ else if (intel_encoder->type == INTEL_OUTPUT_DP_MST)
+ intel_dp_mst_info(m, intel_connector);
}
seq_printf(m, "\tmodes:\n");
diff --git a/drivers/gpu/drm/i915/intel_audio.c b/drivers/gpu/drm/i915/intel_audio.c
index 63d4706..07b2aa6 100644
--- a/drivers/gpu/drm/i915/intel_audio.c
+++ b/drivers/gpu/drm/i915/intel_audio.c
@@ -262,7 +262,8 @@ static void hsw_audio_codec_disable(struct intel_encoder *encoder)
tmp |= AUD_CONFIG_N_PROG_ENABLE;
tmp &= ~AUD_CONFIG_UPPER_N_MASK;
tmp &= ~AUD_CONFIG_LOWER_N_MASK;
- if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT))
+ if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT) ||
+ intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DP_MST))
tmp |= AUD_CONFIG_N_VALUE_INDEX;
I915_WRITE(HSW_AUD_CFG(pipe), tmp);
@@ -478,7 +479,8 @@ static void ilk_audio_codec_enable(struct drm_connector *connector,
tmp &= ~AUD_CONFIG_N_VALUE_INDEX;
tmp &= ~AUD_CONFIG_N_PROG_ENABLE;
tmp &= ~AUD_CONFIG_PIXEL_CLOCK_HDMI_MASK;
- if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT))
+ if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT) ||
+ intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DP_MST))
tmp |= AUD_CONFIG_N_VALUE_INDEX;
else
tmp |= audio_config_hdmi_pixel_clock(adjusted_mode);
@@ -516,7 +518,8 @@ void intel_audio_codec_enable(struct intel_encoder *intel_encoder)
/* ELD Conn_Type */
connector->eld[5] &= ~(3 << 2);
- if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT))
+ if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT) ||
+ intel_pipe_has_type(crtc, INTEL_OUTPUT_DP_MST))
connector->eld[5] |= (1 << 2);
connector->eld[6] = drm_av_sync_delay(connector, adjusted_mode) / 2;
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
index 0639275..4ded0fb 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -78,6 +78,8 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder,
return false;
}
+ if (drm_dp_mst_port_has_audio(&intel_dp->mst_mgr, found->port))
+ pipe_config->has_audio = true;
mst_pbn = drm_dp_calc_pbn_mode(adjusted_mode->crtc_clock, bpp);
pipe_config->pbn = mst_pbn;
@@ -102,6 +104,11 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder)
struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
struct intel_digital_port *intel_dig_port = intel_mst->primary;
struct intel_dp *intel_dp = &intel_dig_port->dp;
+ struct drm_device *dev = encoder->base.dev;
+ struct drm_i915_private *dev_priv = dev->dev_private;
+ struct drm_crtc *crtc = encoder->base.crtc;
+ struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
+
int ret;
DRM_DEBUG_KMS("%d\n", intel_dp->active_mst_links);
@@ -112,6 +119,10 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder)
if (ret) {
DRM_ERROR("failed to update payload %d\n", ret);
}
+ if (intel_crtc->config->has_audio) {
+ intel_audio_codec_disable(encoder);
+ intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO);
+ }
}
static void intel_mst_post_disable_dp(struct intel_encoder *encoder)
@@ -214,6 +225,7 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder)
struct intel_dp *intel_dp = &intel_dig_port->dp;
struct drm_device *dev = intel_dig_port->base.base.dev;
struct drm_i915_private *dev_priv = dev->dev_private;
+ struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc);
enum port port = intel_dig_port->port;
int ret;
@@ -226,6 +238,13 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder)
ret = drm_dp_check_act_status(&intel_dp->mst_mgr);
ret = drm_dp_update_payload_part2(&intel_dp->mst_mgr);
+
+ if (crtc->config->has_audio) {
+ DRM_DEBUG_DRIVER("Enabling DP audio on pipe %c\n",
+ pipe_name(crtc->pipe));
+ intel_display_power_get(dev_priv, POWER_DOMAIN_AUDIO);
+ intel_audio_codec_enable(encoder);
+ }
}
static bool intel_dp_mst_enc_get_hw_state(struct intel_encoder *encoder,
@@ -251,6 +270,12 @@ static void intel_dp_mst_enc_get_config(struct intel_encoder *encoder,
pipe_config->has_dp_encoder = true;
+ if (intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) {
+ temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
+ if (temp & AUDIO_OUTPUT_ENABLE(crtc->pipe))
+ pipe_config->has_audio = true;
+ }
+
temp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder));
if (temp & TRANS_DDI_PHSYNC)
flags |= DRM_MODE_FLAG_PHSYNC;
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] dp/mst: add SDP stream support
2015-11-06 8:34 ` [PATCH 1/2] dp/mst: add SDP stream support libin.yang
@ 2015-11-06 9:26 ` kbuild test robot
0 siblings, 0 replies; 4+ messages in thread
From: kbuild test robot @ 2015-11-06 9:26 UTC (permalink / raw)
Cc: intel-gfx, kbuild-all, Dave Airlie, daniel.vetter, Libin Yang
[-- Attachment #1: Type: text/plain, Size: 19832 bytes --]
Hi Libin,
[auto build test WARNING on drm/drm-next]
[also build test WARNING on v4.3 next-20151106]
[cannot apply to drm-intel/for-linux-next]
url: https://github.com/0day-ci/linux/commits/libin-yang-linux-intel-com/drm-i915-DP-MST-audio-support-in-i915/20151106-163857
base: git://people.freedesktop.org/~airlied/linux.git drm-next
reproduce: make htmldocs
All warnings (new ones prefixed by >>):
drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'wedged'
drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'fmt'
include/drm/drm_crtc.h:310: warning: No description found for parameter 'mode_blob'
include/drm/drm_crtc.h:737: warning: No description found for parameter 'tile_blob_ptr'
include/drm/drm_crtc.h:776: warning: No description found for parameter 'rotation'
include/drm/drm_crtc.h:872: warning: No description found for parameter 'mutex'
include/drm/drm_crtc.h:872: warning: No description found for parameter 'helper_private'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tile_idr'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'delayed_event'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'edid_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'dpms_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'path_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tile_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'plane_type_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'rotation_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_src_x'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_src_y'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_src_w'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_src_h'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_crtc_x'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_crtc_y'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_crtc_w'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_crtc_h'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_fb_id'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_crtc_id'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_active'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_mode_id'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'dvi_i_subconnector_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'dvi_i_select_subconnector_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_subconnector_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_select_subconnector_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_mode_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_left_margin_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_right_margin_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_top_margin_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_bottom_margin_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_brightness_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_contrast_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_flicker_reduction_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_overscan_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_saturation_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_hue_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'scaling_mode_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'aspect_ratio_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'dirty_info_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'suggested_x_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'suggested_y_property'
include/drm/drm_crtc.h:1157: warning: No description found for parameter 'allow_fb_modifiers'
include/drm/drm_fb_helper.h:148: warning: No description found for parameter 'connector_info'
include/drm/drm_dp_helper.h:713: warning: No description found for parameter 'i2c_nack_count'
include/drm/drm_dp_helper.h:713: warning: No description found for parameter 'i2c_defer_count'
drivers/gpu/drm/drm_dp_mst_topology.c:2237: warning: No description found for parameter 'connector'
>> drivers/gpu/drm/drm_dp_mst_topology.c:2276: warning: No description found for parameter 'mgr'
>> drivers/gpu/drm/drm_dp_mst_topology.c:2276: warning: No description found for parameter 'port'
include/drm/drm_dp_mst_helper.h:98: warning: No description found for parameter 'cached_edid'
>> include/drm/drm_dp_mst_helper.h:98: warning: No description found for parameter 'has_audio'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'max_dpcd_transaction_bytes'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'sink_count'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'total_slots'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'avail_slots'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'total_pbn'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'qlock'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'tx_msg_downq'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'tx_msg_upq'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'tx_down_in_progress'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'tx_up_in_progress'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'payload_lock'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'proposed_vcpis'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'payloads'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'payload_mask'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'vcpi_mask'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'tx_waitq'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'work'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'tx_work'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'destroy_connector_list'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'destroy_connector_lock'
include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'destroy_connector_work'
drivers/gpu/drm/drm_dp_mst_topology.c:2237: warning: No description found for parameter 'connector'
>> drivers/gpu/drm/drm_dp_mst_topology.c:2276: warning: No description found for parameter 'mgr'
>> drivers/gpu/drm/drm_dp_mst_topology.c:2276: warning: No description found for parameter 'port'
drivers/gpu/drm/drm_irq.c:173: warning: No description found for parameter 'flags'
include/drm/drmP.h:168: warning: No description found for parameter 'fmt'
include/drm/drmP.h:184: warning: No description found for parameter 'fmt'
include/drm/drmP.h:202: warning: No description found for parameter 'fmt'
include/drm/drmP.h:247: warning: No description found for parameter 'dev'
include/drm/drmP.h:247: warning: No description found for parameter 'data'
include/drm/drmP.h:247: warning: No description found for parameter 'file_priv'
include/drm/drmP.h:280: warning: No description found for parameter 'ioctl'
include/drm/drmP.h:280: warning: No description found for parameter '_func'
include/drm/drmP.h:280: warning: No description found for parameter '_flags'
include/drm/drmP.h:353: warning: cannot understand function prototype: 'struct drm_lock_data '
include/drm/drmP.h:406: warning: cannot understand function prototype: 'struct drm_driver '
include/drm/drmP.h:656: warning: cannot understand function prototype: 'struct drm_info_list '
include/drm/drmP.h:666: warning: cannot understand function prototype: 'struct drm_info_node '
include/drm/drmP.h:676: warning: cannot understand function prototype: 'struct drm_minor '
include/drm/drmP.h:724: warning: cannot understand function prototype: 'struct drm_device '
drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'wedged'
drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'fmt'
drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'wedged'
drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'fmt'
drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'wedged'
drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'fmt'
drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'wedged'
drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'fmt'
drivers/gpu/drm/i915/i915_gem.c:421: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:421: warning: No description found for parameter 'data'
drivers/gpu/drm/i915/i915_gem.c:421: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:686: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:686: warning: No description found for parameter 'data'
drivers/gpu/drm/i915/i915_gem.c:686: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:767: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:767: warning: No description found for parameter 'obj'
drivers/gpu/drm/i915/i915_gem.c:767: warning: No description found for parameter 'args'
drivers/gpu/drm/i915/i915_gem.c:767: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:1029: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:1029: warning: No description found for parameter 'data'
drivers/gpu/drm/i915/i915_gem.c:1029: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:1194: warning: No description found for parameter 'rps'
drivers/gpu/drm/i915/i915_gem.c:1400: warning: No description found for parameter 'req'
drivers/gpu/drm/i915/i915_gem.c:1435: warning: No description found for parameter 'obj'
drivers/gpu/drm/i915/i915_gem.c:1435: warning: No description found for parameter 'readonly'
drivers/gpu/drm/i915/i915_gem.c:1558: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:1558: warning: No description found for parameter 'data'
drivers/gpu/drm/i915/i915_gem.c:1558: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:1621: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:1621: warning: No description found for parameter 'data'
drivers/gpu/drm/i915/i915_gem.c:1621: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:1666: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:1666: warning: No description found for parameter 'data'
drivers/gpu/drm/i915/i915_gem.c:1666: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:1954: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:1954: warning: No description found for parameter 'size'
drivers/gpu/drm/i915/i915_gem.c:1954: warning: No description found for parameter 'tiling_mode'
drivers/gpu/drm/i915/i915_gem.c:1954: warning: No description found for parameter 'fenced'
drivers/gpu/drm/i915/i915_gem.c:1954: warning: Excess function parameter 'obj' description in 'i915_gem_get_gtt_alignment'
drivers/gpu/drm/i915/i915_gem.c:2817: warning: No description found for parameter 'ring'
drivers/gpu/drm/i915/i915_gem.c:2946: warning: No description found for parameter 'obj'
drivers/gpu/drm/i915/i915_gem.c:2996: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:2996: warning: No description found for parameter 'data'
drivers/gpu/drm/i915/i915_gem.c:2996: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:2996: warning: Excess function parameter 'DRM_IOCTL_ARGS' description in 'i915_gem_wait_ioctl'
drivers/gpu/drm/i915/i915_gem.c:3365: warning: No description found for parameter 'obj'
drivers/gpu/drm/i915/i915_gem.c:3365: warning: No description found for parameter 'vm'
drivers/gpu/drm/i915/i915_gem.c:3365: warning: No description found for parameter 'ggtt_view'
drivers/gpu/drm/i915/i915_gem.c:3365: warning: No description found for parameter 'alignment'
drivers/gpu/drm/i915/i915_gem.c:3365: warning: No description found for parameter 'flags'
drivers/gpu/drm/i915/i915_gem.c:3600: warning: No description found for parameter 'obj'
drivers/gpu/drm/i915/i915_gem.c:3600: warning: No description found for parameter 'write'
drivers/gpu/drm/i915/i915_gem.c:3675: warning: No description found for parameter 'obj'
drivers/gpu/drm/i915/i915_gem.c:3675: warning: No description found for parameter 'cache_level'
drivers/gpu/drm/i915/i915_gem.c:3949: warning: No description found for parameter 'obj'
drivers/gpu/drm/i915/i915_gem.c:3949: warning: No description found for parameter 'write'
drivers/gpu/drm/i915/intel_lrc.c:871: warning: No description found for parameter 'params'
drivers/gpu/drm/i915/intel_lrc.c:871: warning: Excess function parameter 'dev' description in 'intel_execlists_submission'
drivers/gpu/drm/i915/intel_lrc.c:871: warning: Excess function parameter 'file' description in 'intel_execlists_submission'
drivers/gpu/drm/i915/intel_lrc.c:871: warning: Excess function parameter 'ring' description in 'intel_execlists_submission'
drivers/gpu/drm/i915/intel_lrc.c:871: warning: Excess function parameter 'ctx' description in 'intel_execlists_submission'
drivers/gpu/drm/i915/intel_lrc.c:871: warning: Excess function parameter 'batch_obj' description in 'intel_execlists_submission'
drivers/gpu/drm/i915/intel_lrc.c:871: warning: Excess function parameter 'exec_start' description in 'intel_execlists_submission'
drivers/gpu/drm/i915/intel_lrc.c:871: warning: Excess function parameter 'dispatch_flags' description in 'intel_execlists_submission'
drivers/gpu/drm/i915/intel_lrc.c:871: warning: No description found for parameter 'params'
drivers/gpu/drm/i915/intel_lrc.c:871: warning: Excess function parameter 'dev' description in 'intel_execlists_submission'
drivers/gpu/drm/i915/intel_lrc.c:871: warning: Excess function parameter 'file' description in 'intel_execlists_submission'
drivers/gpu/drm/i915/intel_lrc.c:871: warning: Excess function parameter 'ring' description in 'intel_execlists_submission'
drivers/gpu/drm/i915/intel_lrc.c:871: warning: Excess function parameter 'ctx' description in 'intel_execlists_submission'
drivers/gpu/drm/i915/intel_lrc.c:871: warning: Excess function parameter 'batch_obj' description in 'intel_execlists_submission'
drivers/gpu/drm/i915/intel_lrc.c:871: warning: Excess function parameter 'exec_start' description in 'intel_execlists_submission'
drivers/gpu/drm/i915/intel_lrc.c:871: warning: Excess function parameter 'dispatch_flags' description in 'intel_execlists_submission'
drivers/gpu/drm/i915/intel_guc_loader.c:1: warning: no structured comments found
Was looking for 'GuC-specific firmware loader'.
drivers/gpu/drm/i915/i915_guc_submission.c:598: warning: No description found for parameter 'rq'
drivers/gpu/drm/i915/i915_guc_submission.c:598: warning: Excess function parameter 'ctx' description in 'i915_guc_submit'
drivers/gpu/drm/i915/i915_guc_submission.c:598: warning: Excess function parameter 'ring' description in 'i915_guc_submit'
drivers/gpu/drm/i915/i915_guc_submission.c:741: warning: No description found for parameter 'ctx'
drivers/gpu/drm/i915/i915_guc_submission.c:1: warning: no structured comments found
Was looking for 'GuC-based command submissison'.
drivers/gpu/drm/i915/i915_guc_submission.c:598: warning: No description found for parameter 'rq'
drivers/gpu/drm/i915/i915_guc_submission.c:598: warning: Excess function parameter 'ctx' description in 'i915_guc_submit'
drivers/gpu/drm/i915/i915_guc_submission.c:598: warning: Excess function parameter 'ring' description in 'i915_guc_submit'
drivers/gpu/drm/i915/i915_guc_submission.c:741: warning: No description found for parameter 'ctx'
vim +/mgr +2276 drivers/gpu/drm/drm_dp_mst_topology.c
2231 *
2232 * This returns the current connection state for a port. It validates the
2233 * port pointer still exists so the caller doesn't require a reference
2234 */
2235 enum drm_connector_status drm_dp_mst_detect_port(struct drm_connector *connector,
2236 struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port)
> 2237 {
2238 enum drm_connector_status status = connector_status_disconnected;
2239
2240 /* we need to search for the port in the mgr in case its gone */
2241 port = drm_dp_get_validated_port_ref(mgr, port);
2242 if (!port)
2243 return connector_status_disconnected;
2244
2245 if (!port->ddps)
2246 goto out;
2247
2248 switch (port->pdt) {
2249 case DP_PEER_DEVICE_NONE:
2250 case DP_PEER_DEVICE_MST_BRANCHING:
2251 break;
2252
2253 case DP_PEER_DEVICE_SST_SINK:
2254 status = connector_status_connected;
2255 /* for logical ports - cache the EDID */
2256 if (port->port_num >= 8 && !port->cached_edid) {
2257 port->cached_edid = drm_get_edid(connector, &port->aux.ddc);
2258 }
2259 break;
2260 case DP_PEER_DEVICE_DP_LEGACY_CONV:
2261 if (port->ldps)
2262 status = connector_status_connected;
2263 break;
2264 }
2265 out:
2266 drm_dp_put_port(port);
2267 return status;
2268 }
2269 EXPORT_SYMBOL(drm_dp_mst_detect_port);
2270
2271 /**
2272 * drm_dp_mst_port_has_audio()
2273 */
2274 bool drm_dp_mst_port_has_audio(struct drm_dp_mst_topology_mgr *mgr,
2275 struct drm_dp_mst_port *port)
> 2276 {
2277 bool ret = false;
2278
2279 port = drm_dp_get_validated_port_ref(mgr, port);
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 6062 bytes --]
[-- Attachment #3: Type: text/plain, Size: 159 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-11-06 9:29 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-06 8:34 [PATCH 0/2] drm/i915 DP MST audio support in i915 libin.yang
2015-11-06 8:34 ` [PATCH 1/2] dp/mst: add SDP stream support libin.yang
2015-11-06 9:26 ` kbuild test robot
2015-11-06 8:34 ` [PATCH 2/2] drm/i915: start adding dp mst audio libin.yang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox