From patchwork Tue Jul 21 07:57:24 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Henningsson X-Patchwork-Id: 6832721 Return-Path: X-Original-To: patchwork-alsa-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 7C0239F38B for ; Tue, 21 Jul 2015 07:58:15 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id BB9C82047D for ; Tue, 21 Jul 2015 07:58:14 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.kernel.org (Postfix) with ESMTP id 8F16A2045A for ; Tue, 21 Jul 2015 07:58:13 +0000 (UTC) Received: by alsa0.perex.cz (Postfix, from userid 1000) id 4CF1C261A1A; Tue, 21 Jul 2015 09:58:11 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,NO_DNS_FOR_FROM, RCVD_IN_DNSWL_NONE,UNPARSEABLE_RELAY autolearn=no version=3.3.1 Received: from alsa0.perex.cz (localhost [IPv6:::1]) by alsa0.perex.cz (Postfix) with ESMTP id 6B87E261A28; Tue, 21 Jul 2015 09:57:38 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 9C03D2619E3; Tue, 21 Jul 2015 09:57:36 +0200 (CEST) Received: from youngberry.canonical.com (youngberry.canonical.com [91.189.89.112]) by alsa0.perex.cz (Postfix) with ESMTP id 9CC622617B5 for ; Tue, 21 Jul 2015 09:57:29 +0200 (CEST) Received: from 1.general.diwic.uk.vpn ([10.172.196.28] helo=localhost.localdomain) by youngberry.canonical.com with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1ZHSQa-0005Kr-Ug; Tue, 21 Jul 2015 07:57:29 +0000 From: David Henningsson To: alsa-devel@alsa-project.org, intel-gfx@lists.freedesktop.org, tiwai@suse.de, daniel.vetter@intel.com, jani.nikula@linux.intel.com Date: Tue, 21 Jul 2015 09:57:24 +0200 Message-Id: <1437465447-8974-2-git-send-email-david.henningsson@canonical.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1437465447-8974-1-git-send-email-david.henningsson@canonical.com> References: <1437465447-8974-1-git-send-email-david.henningsson@canonical.com> Cc: vinod.koul@intel.com, libin.yang@intel.com, David Henningsson Subject: [alsa-devel] [PATCH 1/4] drm/i915: Add audio hotplug info struct X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP This struct will be used to transfer information from the i915 driver to the hda driver on HDMI hotplug events. Signed-off-by: David Henningsson --- include/drm/i915_component.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/include/drm/i915_component.h b/include/drm/i915_component.h index c9a8b64..4fc0db3 100644 --- a/include/drm/i915_component.h +++ b/include/drm/i915_component.h @@ -24,8 +24,22 @@ #ifndef _I915_COMPONENT_H_ #define _I915_COMPONENT_H_ +struct hdac_bus; + +struct i915_audio_hotplug_info { + int connector_type; /* DRM_MODE_CONNECTOR_*, meant for userspace */ + int connector_type_id; /* Index within a DRM_MODE_CONNECTOR_* type, meant for userspace */ + int port; /* Used for mapping to affected nid */ + int port_multi_stream_device; /* For DP multi-streaming */ + + bool plugged_in; + uint8_t *eld; + int eld_size; +}; + struct i915_audio_component { struct device *dev; + struct hdac_bus *hdac_bus; const struct i915_audio_component_ops { struct module *owner; @@ -34,6 +48,11 @@ struct i915_audio_component { void (*codec_wake_override)(struct device *, bool enable); int (*get_cdclk_freq)(struct device *); } *ops; + + const struct i915_audio_component_cb_ops { + struct module *owner; + void (*hotplug_notify)(struct hdac_bus *, const struct i915_audio_hotplug_info *); + } *cb_ops; }; #endif /* _I915_COMPONENT_H_ */