Message ID | 20170110050841.31900-3-jerome.anand@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Jerome, [auto build test WARNING on ] url: https://github.com/0day-ci/linux/commits/Jerome-Anand/Add-support-for-Legacy-HDMI-audio-drivers/20170110-062228 base: reproduce: make htmldocs All warnings (new ones prefixed by >>): make[3]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. include/linux/init.h:1: warning: no structured comments found include/linux/kthread.h:26: warning: Excess function parameter '...' description in 'kthread_create' kernel/sys.c:1: warning: no structured comments found drivers/dma-buf/seqno-fence.c:1: warning: no structured comments found include/drm/drm_drv.h:444: warning: No description found for parameter 'firstopen' include/drm/drm_drv.h:444: warning: No description found for parameter 'open' include/drm/drm_drv.h:444: warning: No description found for parameter 'preclose' include/drm/drm_drv.h:444: warning: No description found for parameter 'postclose' include/drm/drm_drv.h:444: warning: No description found for parameter 'lastclose' include/drm/drm_drv.h:444: warning: No description found for parameter 'dma_ioctl' include/drm/drm_drv.h:444: warning: No description found for parameter 'dma_quiescent' include/drm/drm_drv.h:444: warning: No description found for parameter 'context_dtor' include/drm/drm_drv.h:444: warning: No description found for parameter 'set_busid' include/drm/drm_drv.h:444: warning: No description found for parameter 'irq_handler' include/drm/drm_drv.h:444: warning: No description found for parameter 'irq_preinstall' include/drm/drm_drv.h:444: warning: No description found for parameter 'irq_postinstall' include/drm/drm_drv.h:444: warning: No description found for parameter 'irq_uninstall' include/drm/drm_drv.h:444: warning: No description found for parameter 'debugfs_init' include/drm/drm_drv.h:444: warning: No description found for parameter 'debugfs_cleanup' include/drm/drm_drv.h:444: warning: No description found for parameter 'gem_open_object' include/drm/drm_drv.h:444: warning: No description found for parameter 'gem_close_object' include/drm/drm_drv.h:444: warning: No description found for parameter 'prime_handle_to_fd' include/drm/drm_drv.h:444: warning: No description found for parameter 'prime_fd_to_handle' include/drm/drm_drv.h:444: warning: No description found for parameter 'gem_prime_export' include/drm/drm_drv.h:444: warning: No description found for parameter 'gem_prime_import' include/drm/drm_drv.h:444: warning: No description found for parameter 'gem_prime_pin' include/drm/drm_drv.h:444: warning: No description found for parameter 'gem_prime_unpin' include/drm/drm_drv.h:444: warning: No description found for parameter 'gem_prime_res_obj' include/drm/drm_drv.h:444: warning: No description found for parameter 'gem_prime_get_sg_table' include/drm/drm_drv.h:444: warning: No description found for parameter 'gem_prime_import_sg_table' include/drm/drm_drv.h:444: warning: No description found for parameter 'gem_prime_vmap' include/drm/drm_drv.h:444: warning: No description found for parameter 'gem_prime_vunmap' include/drm/drm_drv.h:444: warning: No description found for parameter 'gem_prime_mmap' include/drm/drm_drv.h:444: warning: No description found for parameter 'vgaarb_irq' include/drm/drm_drv.h:444: warning: No description found for parameter 'gem_vm_ops' include/drm/drm_drv.h:444: warning: No description found for parameter 'major' include/drm/drm_drv.h:444: warning: No description found for parameter 'minor' include/drm/drm_drv.h:444: warning: No description found for parameter 'patchlevel' include/drm/drm_drv.h:444: warning: No description found for parameter 'name' include/drm/drm_drv.h:444: warning: No description found for parameter 'desc' include/drm/drm_drv.h:444: warning: No description found for parameter 'date' include/drm/drm_drv.h:444: warning: No description found for parameter 'driver_features' include/drm/drm_drv.h:444: warning: No description found for parameter 'dev_priv_size' include/drm/drm_drv.h:444: warning: No description found for parameter 'ioctls' include/drm/drm_drv.h:444: warning: No description found for parameter 'num_ioctls' include/drm/drm_drv.h:444: warning: No description found for parameter 'fops' include/drm/drm_drv.h:444: warning: No description found for parameter 'legacy_dev_list' >> drivers/gpu/drm/i915/intel_lpe_audio.c:355: warning: Excess function parameter 'connected' description in 'intel_lpe_audio_notify' drivers/gpu/drm/i915/intel_lpe_audio.c:356: warning: Excess function parameter 'connected' description in 'intel_lpe_audio_notify' drivers/media/dvb-core/dvb_frontend.h:677: warning: No description found for parameter 'refcount' drivers/char/tpm/tpm_vtpm_proxy.c:73: warning: No description found for parameter 'filp' drivers/char/tpm/tpm_vtpm_proxy.c:73: warning: No description found for parameter 'buf' drivers/char/tpm/tpm_vtpm_proxy.c:73: warning: No description found for parameter 'count' drivers/char/tpm/tpm_vtpm_proxy.c:73: warning: No description found for parameter 'off' drivers/char/tpm/tpm_vtpm_proxy.c:123: warning: No description found for parameter 'filp' drivers/char/tpm/tpm_vtpm_proxy.c:123: warning: No description found for parameter 'buf' drivers/char/tpm/tpm_vtpm_proxy.c:123: warning: No description found for parameter 'count' drivers/char/tpm/tpm_vtpm_proxy.c:123: warning: No description found for parameter 'off' drivers/char/tpm/tpm_vtpm_proxy.c:203: warning: No description found for parameter 'proxy_dev' sound/soc/soc-core.c:994: warning: No description found for parameter 'stream_name' Documentation/core-api/assoc_array.rst:13: WARNING: Enumerated list ends without a blank line; unexpected unindent. Documentation/doc-guide/sphinx.rst:110: ERROR: Unknown target name: "sphinx c domain". include/net/cfg80211.h:3154: ERROR: Unexpected indentation. include/net/mac80211.h:3214: ERROR: Unexpected indentation. include/net/mac80211.h:3217: WARNING: Block quote ends without a blank line; unexpected unindent. include/net/mac80211.h:3219: ERROR: Unexpected indentation. include/net/mac80211.h:3220: WARNING: Block quote ends without a blank line; unexpected unindent. include/net/mac80211.h:1773: ERROR: Unexpected indentation. include/net/mac80211.h:1777: WARNING: Block quote ends without a blank line; unexpected unindent. kernel/sched/fair.c:7587: WARNING: Inline emphasis start-string without end-string. kernel/time/timer.c:1240: ERROR: Unexpected indentation. kernel/time/timer.c:1242: ERROR: Unexpected indentation. kernel/time/timer.c:1243: WARNING: Block quote ends without a blank line; unexpected unindent. include/linux/wait.h:121: WARNING: Block quote ends without a blank line; unexpected unindent. include/linux/wait.h:124: ERROR: Unexpected indentation. include/linux/wait.h:126: WARNING: Block quote ends without a blank line; unexpected unindent. kernel/time/hrtimer.c:1021: WARNING: Block quote ends without a blank line; unexpected unindent. kernel/signal.c:317: WARNING: Inline literal start-string without end-string. drivers/message/fusion/mptbase.c:5051: WARNING: Definition list ends without a blank line; unexpected unindent. drivers/tty/serial/serial_core.c:1897: WARNING: Definition list ends without a blank line; unexpected unindent. include/linux/spi/spi.h:369: ERROR: Unexpected indentation. drivers/usb/core/message.c:481: ERROR: Unexpected indentation. drivers/usb/core/message.c:482: WARNING: Block quote ends without a blank line; unexpected unindent. Documentation/driver-api/usb.rst:623: ERROR: Unknown target name: "usb_type". Documentation/driver-api/usb.rst:623: ERROR: Unknown target name: "usb_dir". Documentation/driver-api/usb.rst:623: ERROR: Unknown target name: "usb_recip". Documentation/driver-api/usb.rst:689: ERROR: Unknown target name: "usbdevfs_urb_type". sound/soc/soc-core.c:2508: ERROR: Unknown target name: "snd_soc_daifmt". sound/core/jack.c:312: ERROR: Unknown target name: "snd_jack_btn". Documentation/translations/ko_KR/howto.rst:293: WARNING: Inline emphasis start-string without end-string. WARNING: dvipng command 'dvipng' cannot be run (needed for math display), check the imgmath_dvipng setting vim +355 drivers/gpu/drm/i915/intel_lpe_audio.c 339 } 340 341 342 /** 343 * intel_lpe_audio_notify() - notify lpe audio event 344 * audio driver and i915 345 * @dev_priv: the i915 drm device private data 346 * @eld : ELD data 347 * @port: port id 348 * @tmds_clk_speed: tmds clock frequency in Hz 349 * @connected: hdmi connected/disconnected 350 * 351 * Notify lpe audio driver of eld change. 352 */ 353 void intel_lpe_audio_notify(struct drm_i915_private *dev_priv, 354 void *eld, int port, int tmds_clk_speed) > 355 { 356 unsigned long irq_flags; 357 struct intel_hdmi_lpe_audio_pdata *pdata = NULL; 358 359 if (!HAS_LPE_AUDIO(dev_priv)) 360 return; 361 362 pdata = dev_get_platdata( 363 &(dev_priv->lpe_audio.platdev->dev)); --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index cc7033a..601c8ad 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -3623,6 +3623,8 @@ int intel_lpe_audio_setup(struct drm_i915_private *dev_priv); void intel_lpe_audio_teardown(struct drm_i915_private *dev_priv); void intel_lpe_audio_irq_handler(struct drm_i915_private *dev_priv); bool intel_lpe_audio_detect(struct drm_i915_private *dev_priv); +void intel_lpe_audio_notify(struct drm_i915_private *dev_priv, + void *eld, int port, int tmds_clk_speed); /* intel_i2c.c */ extern int intel_setup_gmbus(struct drm_i915_private *dev_priv); diff --git a/drivers/gpu/drm/i915/intel_audio.c b/drivers/gpu/drm/i915/intel_audio.c index 16c2027..00a485e 100644 --- a/drivers/gpu/drm/i915/intel_audio.c +++ b/drivers/gpu/drm/i915/intel_audio.c @@ -24,6 +24,7 @@ #include <linux/kernel.h> #include <linux/component.h> #include <drm/i915_component.h> +#include <drm/intel_lpe_audio.h> #include "intel_drv.h" #include <drm/drmP.h> @@ -630,6 +631,10 @@ void intel_audio_codec_enable(struct intel_encoder *intel_encoder, if (acomp && acomp->audio_ops && acomp->audio_ops->pin_eld_notify) acomp->audio_ops->pin_eld_notify(acomp->audio_ops->audio_ptr, (int) port, (int) pipe); + + if (HAS_LPE_AUDIO(dev_priv)) + intel_lpe_audio_notify(dev_priv, connector->eld, port, + crtc_state->port_clock); } /** @@ -663,6 +668,9 @@ void intel_audio_codec_disable(struct intel_encoder *intel_encoder) if (acomp && acomp->audio_ops && acomp->audio_ops->pin_eld_notify) acomp->audio_ops->pin_eld_notify(acomp->audio_ops->audio_ptr, (int) port, (int) pipe); + + if (HAS_LPE_AUDIO(dev_priv)) + intel_lpe_audio_notify(dev_priv, NULL, port, 0); } /** diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 0bcfead..377584e1 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c @@ -36,6 +36,7 @@ #include <drm/drm_edid.h> #include "intel_drv.h" #include <drm/i915_drm.h> +#include <drm/intel_lpe_audio.h> #include "i915_drv.h" static struct drm_device *intel_hdmi_to_dev(struct intel_hdmi *intel_hdmi) diff --git a/drivers/gpu/drm/i915/intel_lpe_audio.c b/drivers/gpu/drm/i915/intel_lpe_audio.c index 55be191..3b7fe8e 100644 --- a/drivers/gpu/drm/i915/intel_lpe_audio.c +++ b/drivers/gpu/drm/i915/intel_lpe_audio.c @@ -337,3 +337,53 @@ void intel_lpe_audio_teardown(struct drm_i915_private *dev_priv) irq_free_desc(dev_priv->lpe_audio.irq); } + + +/** + * intel_lpe_audio_notify() - notify lpe audio event + * audio driver and i915 + * @dev_priv: the i915 drm device private data + * @eld : ELD data + * @port: port id + * @tmds_clk_speed: tmds clock frequency in Hz + * @connected: hdmi connected/disconnected + * + * Notify lpe audio driver of eld change. + */ +void intel_lpe_audio_notify(struct drm_i915_private *dev_priv, + void *eld, int port, int tmds_clk_speed) +{ + unsigned long irq_flags; + struct intel_hdmi_lpe_audio_pdata *pdata = NULL; + + if (!HAS_LPE_AUDIO(dev_priv)) + return; + + pdata = dev_get_platdata( + &(dev_priv->lpe_audio.platdev->dev)); + + spin_lock_irqsave(&pdata->lpe_audio_slock, irq_flags); + + if (eld != NULL) { + memcpy(pdata->eld.eld_data, eld, + HDMI_MAX_ELD_BYTES); + pdata->eld.port_id = port; + pdata->hdmi_connected = true; + + if (tmds_clk_speed) + pdata->tmds_clock_speed = tmds_clk_speed; + } else { + memset(pdata->eld.eld_data, 0, + HDMI_MAX_ELD_BYTES); + pdata->hdmi_connected = false; + } + + if (pdata->notify_audio_lpe) + pdata->notify_audio_lpe( + (eld != NULL) ? &pdata->eld : NULL); + else + pdata->notify_pending = true; + + spin_unlock_irqrestore(&pdata->lpe_audio_slock, + irq_flags); +}