From patchwork Mon Apr 13 11:20:31 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Takashi Iwai X-Patchwork-Id: 6207371 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 9199F9F1C4 for ; Mon, 13 Apr 2015 11:20:52 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id B81132034A for ; Mon, 13 Apr 2015 11:20:51 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.kernel.org (Postfix) with ESMTP id 65A54202FF for ; Mon, 13 Apr 2015 11:20:50 +0000 (UTC) Received: by alsa0.perex.cz (Postfix, from userid 1000) id 1106B261B14; Mon, 13 Apr 2015 13:20:49 +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, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 Received: from alsa0.perex.cz (localhost [IPv6:::1]) by alsa0.perex.cz (Postfix) with ESMTP id 8F854261AD0; Mon, 13 Apr 2015 13:20:41 +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 A76C3261ADE; Mon, 13 Apr 2015 13:20:39 +0200 (CEST) Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by alsa0.perex.cz (Postfix) with ESMTP id 69CC3261AA5 for ; Mon, 13 Apr 2015 13:20:32 +0200 (CEST) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id BD812AD69; Mon, 13 Apr 2015 11:20:31 +0000 (UTC) Date: Mon, 13 Apr 2015 13:20:31 +0200 Message-ID: From: Takashi Iwai To: mengdong.lin@intel.com In-Reply-To: <2f716e6b90b7416eb34d35ed1954c7761bfd2050.1428918546.git.mengdong.lin@intel.com> References: <2f716e6b90b7416eb34d35ed1954c7761bfd2050.1428918546.git.mengdong.lin@intel.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/24.4 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Cc: alsa-devel@alsa-project.org Subject: Re: [alsa-devel] [PATCH] ALSA: hda - not use regmap for vendor verb 0x781 of Intel HDMI codec 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: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP At Mon, 13 Apr 2015 17:50:43 +0800, mengdong.lin@intel.com wrote: > > From: Mengdong Lin > > For HDMI codec on Haswell/Broadwell/Skylake platforms, the vendor verb 0x781 > is used enable DP 1.2 mode as a fixup if BIOS has not done this, in function > intel_haswell_fixup_enable_dp12(). Otherwise, the display audio playback will > be silent. > > Although the verb 0x781 is added to vendor verbs array, but snd_hdac_regmap_ > encode_verb() will translate it to verb 0xf81 and cause regmap_write IO failure > because 0xf81 is not in the vendor verb array and so will not be taken as a > writable register. > > So this patch no longer uses regmap for verb 0x781 but directly send this > command to enable DP1.2 mode. What if just add INTEL_GET_VENDOR_VERB as a vendor verb? thanks, Takashi diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c index 5f44f60a6389..a818bb1c5886 100644 --- a/sound/pci/hda/patch_hdmi.c +++ b/sound/pci/hda/patch_hdmi.c @@ -2298,6 +2298,7 @@ static void intel_haswell_fixup_enable_dp12(struct hda_codec *codec) /* enable DP1.2 mode */ vendor_param |= INTEL_EN_DP12; + snd_hdac_regmap_add_vendor_verb(&codec->core, INTEL_GET_VENDOR_VERB); snd_hdac_regmap_add_vendor_verb(&codec->core, INTEL_SET_VENDOR_VERB); snd_hda_codec_write_cache(codec, INTEL_VENDOR_NID, 0, INTEL_SET_VENDOR_VERB, vendor_param);