... meanwhile ... $ modinfo hdmi_audio filename: /lib/modules/4.5.0-301.fc22.x86_64/kernel/sound/hdmi_audio/hdmi_audio.ko.xz version: 0.01.003 license: GPL v2 description: Intel HDMI Audio driver author: Vaibhav Agarwal <vaibhav.agarwal@xxxxxxxxx> author: Ramesh Babu K V <ramesh.babu@xxxxxxxxx> author: Sailaja Bandarupalli <sailaja.bandarupalli@xxxxxxxxx> srcversion: 3AA3766F4433DC0AC4234C3 alias: acpi*:HAD022A8:* alias: acpi*:HAD0F28:* depends: snd-pcm,i915,snd intree: Y vermagic: 4.5.0-301.fc22.x86_64 SMP mod_unload parm: hdmi_card_index:Index value for INTEL Intel HDMI Audio controller. (int) parm: hdmi_card_id:ID string for INTEL Intel HDMI Audio controller. (charp) $ dmesg ... had: ******** HAD DRIVER loading.. Ver: 0.01.003 HDMI Audio support on Atom w/o HDAUdio w/ kernel-modules-4.5.0-301.fc22.x86_64 https://patchwork.freedesktop.org/series/4142/ https://kojipkgs.fedoraproject.org/packages/kernel/4.5.0/300.fc24/src/ --- ...15-changes-for-non-HDAudio-HDMI-interface.patch | 27 +++++++++++----------- ...elated-changes-non-HDAudio-HDMI-interface.patch | 8 +++---- ...-Atom-add-Atom-non-HDAudio-HDMI-interface.patch | 15 ++++++------ RFC-10-15-add-dependency-on-PM_RUNTIME.patch | 12 +++++----- config-generic | 1 + 5 files changed, 32 insertions(+), 31 deletions(-) diff --git a/RFC-05-15-drm-i915-changes-for-non-HDAudio-HDMI-interface.patch b/RFC-05-15-drm-i915-changes-for-non-HDAudio-HDMI-interface.patch index fca2f41..2446dc2 100644 --- a/RFC-05-15-drm-i915-changes-for-non-HDAudio-HDMI-interface.patch +++ b/RFC-05-15-drm-i915-changes-for-non-HDAudio-HDMI-interface.patch @@ -3,7 +3,7 @@ diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index d1a46ef..556fa80 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c -@@ -603,6 +603,31 @@ i915_disable_pipestat(struct drm_i915_private *dev_priv, enum pipe pipe, +@@ -603,6 +603,31 @@ __i915_disable_pipestat(dev_priv, pipe, enable_mask, status_mask); } @@ -35,15 +35,15 @@ index d1a46ef..556fa80 100644 /** * i915_enable_asle_pipestat - enable ASLE pipestat for OpRegion * @dev: drm device -@@ -1649,6 +1674,7 @@ static void valleyview_pipestat_irq_handler(struct drm_device *dev, u32 iir) +@@ -1649,6 +1674,7 @@ struct drm_i915_private *dev_priv = dev->dev_private; u32 pipe_stats[I915_MAX_PIPES] = { }; int pipe; + int lpe_stream; spin_lock(&dev_priv->irq_lock); - -@@ -1719,6 +1745,24 @@ static void valleyview_pipestat_irq_handler(struct drm_device *dev, u32 iir) + for_each_pipe(dev_priv, pipe) { +@@ -1713,6 +1739,24 @@ intel_cpu_fifo_underrun_irq_handler(dev_priv, pipe); } @@ -68,7 +68,7 @@ index d1a46ef..556fa80 100644 if (pipe_stats[0] & PIPE_GMBUS_INTERRUPT_STATUS) gmbus_irq_handler(dev); } -@@ -2804,6 +2848,43 @@ static void gen8_disable_vblank(struct drm_device *dev, unsigned int pipe) +@@ -2790,6 +2834,43 @@ spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); } @@ -135,7 +135,7 @@ diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi index 1beb155..8b6c31a 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c -@@ -1391,6 +1391,124 @@ intel_hdmi_set_edid(struct drm_connector *connector, bool force) +@@ -1386,6 +1386,124 @@ return connected; } @@ -260,7 +260,7 @@ index 1beb155..8b6c31a 100644 static enum drm_connector_status intel_hdmi_detect(struct drm_connector *connector, bool force) { -@@ -1399,6 +1517,8 @@ intel_hdmi_detect(struct drm_connector *connector, bool force) +@@ -1394,6 +1512,8 @@ struct drm_i915_private *dev_priv = to_i915(connector->dev); bool live_status = false; unsigned int try; @@ -269,7 +269,7 @@ index 1beb155..8b6c31a 100644 DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", connector->base.id, connector->name); -@@ -1427,6 +1547,26 @@ intel_hdmi_detect(struct drm_connector *connector, bool force) +@@ -1422,6 +1542,26 @@ intel_display_power_put(dev_priv, POWER_DOMAIN_GMBUS); @@ -296,7 +296,7 @@ index 1beb155..8b6c31a 100644 return status; } -@@ -1450,12 +1590,22 @@ intel_hdmi_force(struct drm_connector *connector) +@@ -1445,12 +1585,22 @@ static int intel_hdmi_get_modes(struct drm_connector *connector) { struct edid *edid; @@ -320,7 +320,7 @@ index 1beb155..8b6c31a 100644 } static bool -@@ -2159,6 +2309,20 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, +@@ -2149,6 +2299,20 @@ u32 temp = I915_READ(PEG_BAND_GAP_DATA); I915_WRITE(PEG_BAND_GAP_DATA, (temp & ~0xf) | 0xd); } @@ -341,17 +341,18 @@ index 1beb155..8b6c31a 100644 } void intel_hdmi_init(struct drm_device *dev, -@@ -2168,6 +2332,8 @@ void intel_hdmi_init(struct drm_device *dev, +@@ -2157,6 +2321,9 @@ struct intel_digital_port *intel_dig_port; struct intel_encoder *intel_encoder; struct intel_connector *intel_connector; ++ struct drm_i915_private *dev_priv = dev->dev_private; + /* Added for HDMI Audio */ + struct hdmi_audio_priv *hdmi_priv; intel_dig_port = kzalloc(sizeof(*intel_dig_port), GFP_KERNEL); if (!intel_dig_port) -@@ -2239,4 +2405,19 @@ void intel_hdmi_init(struct drm_device *dev, - intel_dig_port->max_lanes = 4; +@@ -2226,4 +2393,19 @@ + intel_dig_port->dp.output_reg = INVALID_MMIO_REG; intel_hdmi_init_connector(intel_dig_port, intel_connector); + diff --git a/RFC-06-15-drm-i915-power-related-changes-non-HDAudio-HDMI-interface.patch b/RFC-06-15-drm-i915-power-related-changes-non-HDAudio-HDMI-interface.patch index 572ffc7..50f52b0 100644 --- a/RFC-06-15-drm-i915-power-related-changes-non-HDAudio-HDMI-interface.patch +++ b/RFC-06-15-drm-i915-power-related-changes-non-HDAudio-HDMI-interface.patch @@ -501,9 +501,9 @@ index d33de95..dae77d1 100644 +#endif + /** - * DOC: RC6 - * -@@ -7098,6 +7109,7 @@ void intel_suspend_hw(struct drm_device *dev) + * RC6 is a special power stage which allows the GPU to enter an very + * low-voltage mode when idle, using down to 0V while at this stage. This +@@ -6964,6 +6975,7 @@ void intel_init_pm(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; @@ -511,7 +511,7 @@ index d33de95..dae77d1 100644 intel_fbc_init(dev_priv); -@@ -7398,3 +7410,44 @@ void intel_pm_setup(struct drm_device *dev) +@@ -7257,3 +7269,44 @@ atomic_set(&dev_priv->pm.wakeref_count, 0); atomic_set(&dev_priv->pm.atomic_seq, 0); } diff --git a/RFC-09-15-ALSA-Intel-Atom-add-Atom-non-HDAudio-HDMI-interface.patch b/RFC-09-15-ALSA-Intel-Atom-add-Atom-non-HDAudio-HDMI-interface.patch index 1d22646..c5c95f6 100644 --- a/RFC-09-15-ALSA-Intel-Atom-add-Atom-non-HDAudio-HDMI-interface.patch +++ b/RFC-09-15-ALSA-Intel-Atom-add-Atom-non-HDAudio-HDMI-interface.patch @@ -40,23 +40,22 @@ diff --git a/sound/Kconfig b/sound/Kconfig index 5a240e0..75c679e 100644 --- a/sound/Kconfig +++ b/sound/Kconfig -@@ -134,3 +134,11 @@ config AC97_BUS +@@ -134,3 +134,10 @@ sound subsystem and other function drivers completely unrelated to sound although they're sharing the AC97 bus. Concerned drivers should "select" this. + +config SUPPORT_HDMI -+ bool "SUPPORT_HDMI" -+ depends on DRM_I915 -+ default n -+ help -+ Choose this option to support HDMI. -+ ++ bool "SUPPORT_HDMI" ++ depends on DRM_I915 ++ default n ++ help ++ Choose this option to support HDMI. diff --git a/sound/Makefile b/sound/Makefile index 7732070..f2c5e82 100644 --- a/sound/Makefile +++ b/sound/Makefile -@@ -8,6 +8,7 @@ obj-$(CONFIG_DMASOUND) += oss/ +@@ -8,6 +8,7 @@ obj-$(CONFIG_SND) += core/ i2c/ drivers/ isa/ pci/ ppc/ arm/ sh/ synth/ usb/ \ firewire/ sparc/ spi/ parisc/ pcmcia/ mips/ soc/ atmel/ hda/ obj-$(CONFIG_SND_AOA) += aoa/ diff --git a/RFC-10-15-add-dependency-on-PM_RUNTIME.patch b/RFC-10-15-add-dependency-on-PM_RUNTIME.patch index d7e8e50..e0ff9aa 100644 --- a/RFC-10-15-add-dependency-on-PM_RUNTIME.patch +++ b/RFC-10-15-add-dependency-on-PM_RUNTIME.patch @@ -21,11 +21,11 @@ diff --git a/sound/Kconfig b/sound/Kconfig index 75c679e..b8b4fce 100644 --- a/sound/Kconfig +++ b/sound/Kconfig -@@ -138,6 +138,7 @@ config AC97_BUS +@@ -138,6 +138,7 @@ config SUPPORT_HDMI - bool "SUPPORT_HDMI" - depends on DRM_I915 + bool "SUPPORT_HDMI" + depends on DRM_I915 + select PM_RUNTIME - default n - help - Choose this option to support HDMI. + default n + help + Choose this option to support HDMI. diff --git a/config-generic b/config-generic index a970c65..eafd59c 100644 --- a/config-generic +++ b/config-generic @@ -3895,6 +3895,7 @@ CONFIG_SND_FIREWIRE_TASCAM=m # Open Sound System # # CONFIG_SOUND_PRIME is not set +CONFIG_SUPPORT_HDMI=y # # USB support -- 2.4.3 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx