From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C3091C54FCB for ; Thu, 23 Apr 2020 11:25:39 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4EF3520736 for ; Thu, 23 Apr 2020 11:25:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=alsa-project.org header.i=@alsa-project.org header.b="TF3F4tq+" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4EF3520736 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=alsa-devel-bounces@alsa-project.org Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id AA4C81696; Thu, 23 Apr 2020 13:24:47 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz AA4C81696 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1587641137; bh=j4T/ug5KuYlmllP4IcdT+4IbDsioif6uzk3vPLZCkRY=; h=Date:From:To:Subject:In-Reply-To:References:Cc:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=TF3F4tq+94RPzx+RTMhexXmIYPwzFmhYETT4J/dn469ml6+a5N0rgZ++diH7wFUnT DhAbo/yUXqu7mm35JAyCkgEwKNB8XNDinnv+9pG0vGRC1EeZm2BnsCIAS4qIRxaPxU 54lE+41PIdB4ZrRsRB3uhIJRbtjxvwdG7y3OMIuo= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id 17FB4F8014A; Thu, 23 Apr 2020 13:24:47 +0200 (CEST) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 79E98F801EC; Thu, 23 Apr 2020 13:24:45 +0200 (CEST) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 0C518F80121 for ; Thu, 23 Apr 2020 13:24:43 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 0C518F80121 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 03BA2B11C; Thu, 23 Apr 2020 11:24:41 +0000 (UTC) Date: Thu, 23 Apr 2020 13:24:42 +0200 Message-ID: From: Takashi Iwai To: Cezary Rojewski Subject: Re: [PATCH] ALSA: hda: Refactor Intel NHLT init In-Reply-To: <20200423112136.25207-1-cezary.rojewski@intel.com> References: <20200423112136.25207-1-cezary.rojewski@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/25.3 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Cc: alsa-devel@alsa-project.org, broonie@kernel.org, tiwai@suse.com, pierre-louis.bossart@linux.intel.com X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 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" On Thu, 23 Apr 2020 13:21:36 +0200, Cezary Rojewski wrote: > > NHLT fetch based on _DSM prevents ACPI table override mechanism from > being utilized. Make use of acpi_get_table to enable it and get rid of > redundant code. > > Signed-off-by: Cezary Rojewski This looks like a nice cleanup and I'll happily apply if anyone can test with the actual hardware -- currently mine has no DSP, so unable to check. thanks, Takashi > --- > sound/hda/intel-nhlt.c | 49 +++++++----------------------------------- > 1 file changed, 8 insertions(+), 41 deletions(-) > > diff --git a/sound/hda/intel-nhlt.c b/sound/hda/intel-nhlt.c > index 99a23fe7fab9..2f741d2792d8 100644 > --- a/sound/hda/intel-nhlt.c > +++ b/sound/hda/intel-nhlt.c > @@ -4,58 +4,25 @@ > #include > #include > > -#define NHLT_ACPI_HEADER_SIG "NHLT" > - > -/* Unique identification for getting NHLT blobs */ > -static const guid_t osc_guid = > - GUID_INIT(0xA69F886E, 0x6CEB, 0x4594, > - 0xA4, 0x1F, 0x7B, 0x5D, 0xCE, 0x24, 0xC5, 0x53); > - > struct nhlt_acpi_table *intel_nhlt_init(struct device *dev) > { > - acpi_handle handle; > - union acpi_object *obj; > - struct nhlt_resource_desc *nhlt_ptr; > - struct nhlt_acpi_table *nhlt_table = NULL; > - > - handle = ACPI_HANDLE(dev); > - if (!handle) { > - dev_err(dev, "Didn't find ACPI_HANDLE\n"); > - return NULL; > - } > + struct nhlt_acpi_table *nhlt; > + acpi_status status; > > - obj = acpi_evaluate_dsm(handle, &osc_guid, 1, 1, NULL); > - > - if (!obj) > - return NULL; > - > - if (obj->type != ACPI_TYPE_BUFFER) { > - dev_dbg(dev, "No NHLT table found\n"); > - ACPI_FREE(obj); > + status = acpi_get_table(ACPI_SIG_NHLT, 0, > + (struct acpi_table_header **)&nhlt); > + if (ACPI_FAILURE(status)) { > + dev_warn(dev, "NHLT table not found\n"); > return NULL; > } > > - nhlt_ptr = (struct nhlt_resource_desc *)obj->buffer.pointer; > - if (nhlt_ptr->length) > - nhlt_table = (struct nhlt_acpi_table *) > - memremap(nhlt_ptr->min_addr, nhlt_ptr->length, > - MEMREMAP_WB); > - ACPI_FREE(obj); > - if (nhlt_table && > - (strncmp(nhlt_table->header.signature, > - NHLT_ACPI_HEADER_SIG, > - strlen(NHLT_ACPI_HEADER_SIG)) != 0)) { > - memunmap(nhlt_table); > - dev_err(dev, "NHLT ACPI header signature incorrect\n"); > - return NULL; > - } > - return nhlt_table; > + return nhlt; > } > EXPORT_SYMBOL_GPL(intel_nhlt_init); > > void intel_nhlt_free(struct nhlt_acpi_table *nhlt) > { > - memunmap((void *)nhlt); > + acpi_put_table((struct acpi_table_header *)nhlt); > } > EXPORT_SYMBOL_GPL(intel_nhlt_free); > > -- > 2.17.1 >