Message ID | 1446798881-95629-2-git-send-email-libin.yang@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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
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);