Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp958710pxb; Thu, 5 Nov 2020 18:54:04 -0800 (PST) X-Google-Smtp-Source: ABdhPJwyngzFwp+eElod2ElI6tk3gmj23ZwgDktRk0lisU4vqJDgQlRPKDw86xOz/bryUVcxOxEx X-Received: by 2002:a50:9f61:: with SMTP id b88mr6093810edf.282.1604631244139; Thu, 05 Nov 2020 18:54:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604631244; cv=none; d=google.com; s=arc-20160816; b=Maqg6cXsJTqYust9ALVqUbCQ56lCHpmKO7CWe9yl3/GrtmZKz1f2pvU9ZUev44HpRy 8z7YxNtA954RnMT25KHjPvAu+DR7ZcHN9WNTkNtuSO/J7FeB4oaXIE6CeqYhmf8MArqG CqhN6kRzMRJXc9Lv0OL1IYQ0VUduBtJpGZhvCkGPG83GcOiCIkKkBeIAu8dl1ifdxe51 621WhuxqJawJvLV+aCGI42AMtfVTUO0+IgqlSbpJ3ZwZNMc/BI2mgp6Ziic9saX0gN2u IyOt9yc9ErBXaBjhRbwZ5xZZrUNgfOxYHwFlQpE6wHCs/3ilr0lOxo10WMZrEDOEmbZt tsvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=WTOpuxQqUTD7Fs5ED8d6WE6HwICjQ/RXvxFgPZw8ydY=; b=rwJMqWr/qeXEUAZrSlott/dgsx9oL5/k/UjQ7UFrpyGlRu8GwwAWdLdUcWTfwROJbI pXl6QTSuG5iOelf8rJ2ef0FJoj1bB267QeFGWy5FI/2F3r2wIlc/8beCHEFui7LYuD4L IEAP0sHcU1S8V2vkvQizJMaMYhEz6fb0wpszDA76nvOsWqfiUks4qG8XvRV/vQV87wlY zK3cpCAo2gmxJ9XP2P6KF70sThz4IgO73q4WMil+p2owrO06H89Tl3YUC+hAnd2d2JjY KLdXQLh+vD5FtKAyNALhQ3Qrw6kZyy+RxqWEyQSu3kDCnJTSMTs6RnDLidehABAF25bd mEOQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="p/JG8EDr"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a10si2534119eju.313.2020.11.05.18.53.40; Thu, 05 Nov 2020 18:54:04 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="p/JG8EDr"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725900AbgKFCvQ (ORCPT + 99 others); Thu, 5 Nov 2020 21:51:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47714 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725616AbgKFCvP (ORCPT ); Thu, 5 Nov 2020 21:51:15 -0500 Received: from mail-qt1-x841.google.com (mail-qt1-x841.google.com [IPv6:2607:f8b0:4864:20::841]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 85321C0613CF; Thu, 5 Nov 2020 18:51:15 -0800 (PST) Received: by mail-qt1-x841.google.com with SMTP id i7so2730965qti.6; Thu, 05 Nov 2020 18:51:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WTOpuxQqUTD7Fs5ED8d6WE6HwICjQ/RXvxFgPZw8ydY=; b=p/JG8EDrUjsel8y++UnIKylNNB7pdtkG84acG4fowir5XwgMGq/dJP/aJWrh0XctbL ad+bYvmnzOOpMPsliLfFb9w0yxcfyKBiZd9sJOrOuniq56S3j5a3y5sYVEnZ5FO7/Q36 omn87/g+QkVSEEycolY5jlF6rcNa9thuBFYqBKPPlFXQ/E8nDDqgvvRU97nxZ+1guG7p 9OetQ7bZNAYVtwv9mHGIHzurr02g9ja+Hw36FbwjvLxyTERVcFRIsiw0a6ueba3flpt8 nAy9mWVR0o7N/d2XsbQVm9ncI/AmWajjppaC7uve7TaNqJSCsYc2VTGEyLRrTKSjACH9 z0Kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WTOpuxQqUTD7Fs5ED8d6WE6HwICjQ/RXvxFgPZw8ydY=; b=UPHtsBv9Iv9ZQw6uvQ9KVtKyftLfWNc7QXUgpStfcWDFxU9O1ZvCq/FtNjnEQRw+Er JGR0oWJRNZypuXFh0E5octqFSWUMtT6eyiX4TD+ytmlJJ0+gCRpZzftg80x46LV/9J5u Mf7lMkILZPOY1zJ+8Xxrj329dLeEEiyMZmWjZ+s1KZgnaLela13UMr8OG4mcDFEZCs4s KP2F2utQwAr759qhtT5EeXqtUuPBpeBntK8ffCcrREIvMt4RPwgQYaxSie99VZXB+ych YngzgTgDi63cgAIJN8HxGTfbdhWhRIUAxQ4VT1VWrSMUR0x08iJMwgHk7/JcLW5j79eL ubkA== X-Gm-Message-State: AOAM533xeGYPRYK4dqILY0+YPY621R0m2c/XsxgrUkc7og1CWAQ4ZD34 ej0KHbkLX+vXYRZ5eMpbFr3N7JVHaz6dlwiazvo= X-Received: by 2002:ac8:71c3:: with SMTP id i3mr340558qtp.204.1604631074809; Thu, 05 Nov 2020 18:51:14 -0800 (PST) MIME-Version: 1.0 References: <1604281947-26874-1-git-send-email-shengjiu.wang@nxp.com> <1604281947-26874-2-git-send-email-shengjiu.wang@nxp.com> <20201105013539.GA16459@Asurada-Nvidia> In-Reply-To: <20201105013539.GA16459@Asurada-Nvidia> From: Shengjiu Wang Date: Fri, 6 Nov 2020 10:51:03 +0800 Message-ID: Subject: Re: [PATCH v3 2/2] ASoC: fsl_aud2htx: Add aud2htx module driver To: Nicolin Chen Cc: Shengjiu Wang , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , alsa-devel@alsa-project.org, Timur Tabi , Xiubo Li , Liam Girdwood , linuxppc-dev@lists.ozlabs.org, Takashi Iwai , Rob Herring , Mark Brown , Fabio Estevam , linux-kernel Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Nov 5, 2020 at 9:48 AM Nicolin Chen wrote: > > On Mon, Nov 02, 2020 at 09:52:27AM +0800, Shengjiu Wang wrote: > > The AUD2HTX is a digital module that provides a bridge between > > the Audio Subsystem and the HDMI RTX Subsystem. This module > > includes intermediate storage to queue SDMA transactions prior > > to being synchronized and passed to the HDMI RTX Subsystem over > > the Audio Link. > > > > The AUD2HTX contains a DMA request routed to the SDMA module. > > This DMA request is controlled based on the watermark level in > > the 32-entry sample buffer. > > > > Signed-off-by: Shengjiu Wang > > Acked-by: Nicolin Chen > > Despite some small comments inline. > > > +static int fsl_aud2htx_dai_probe(struct snd_soc_dai *cpu_dai) > > +{ > > + struct fsl_aud2htx *aud2htx = dev_get_drvdata(cpu_dai->dev); > > + > > + /* DMA request when number of entries < WTMK_LOW */ > > + regmap_update_bits(aud2htx->regmap, AUD2HTX_CTRL_EXT, > > + AUD2HTX_CTRE_DT_MASK, 0); > > + > > + /* Disable interrupts*/ > > + regmap_update_bits(aud2htx->regmap, AUD2HTX_IRQ_MASK, > > + AUD2HTX_WM_HIGH_IRQ_MASK | > > + AUD2HTX_WM_LOW_IRQ_MASK | > > + AUD2HTX_OVF_MASK, > > + AUD2HTX_WM_HIGH_IRQ_MASK | > > + AUD2HTX_WM_LOW_IRQ_MASK | > > + AUD2HTX_OVF_MASK); > > + > > + /* Configure watermark */ > > + regmap_update_bits(aud2htx->regmap, AUD2HTX_CTRL_EXT, > > + AUD2HTX_CTRE_WL_MASK, > > + AUD2HTX_WTMK_LOW << AUD2HTX_CTRE_WL_SHIFT); > > + regmap_update_bits(aud2htx->regmap, AUD2HTX_CTRL_EXT, > > + AUD2HTX_CTRE_WH_MASK, > > + AUD2HTX_WTMK_HIGH << AUD2HTX_CTRE_WH_SHIFT); > > If there isn't a hard requirement from hardware, feels better to > combine all the writes to AUD2HTX_CTRL_EXT into one single MMIO. ok, will update it. > > > +static irqreturn_t fsl_aud2htx_isr(int irq, void *dev_id) > > +{ > > + return IRQ_HANDLED; > > Empty isr? Perhaps can drop the request_irq() at all? I'd like to keep this for future enhancement, what do you think? > > > +static int fsl_aud2htx_probe(struct platform_device *pdev) > > +{ > > + struct fsl_aud2htx *aud2htx; > > + struct resource *res; > > + void __iomem *regs; > > + int ret, irq; > > + > > + aud2htx = devm_kzalloc(&pdev->dev, sizeof(*aud2htx), GFP_KERNEL); > > + if (!aud2htx) > > + return -ENOMEM; > > + > > + aud2htx->pdev = pdev; > > + > > + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > > + regs = devm_ioremap_resource(&pdev->dev, res); > > + if (IS_ERR(regs)) { > > + dev_err(&pdev->dev, "failed ioremap\n"); > > + return PTR_ERR(regs); > > + } > > + > > + aud2htx->regmap = devm_regmap_init_mmio(&pdev->dev, regs, > > + &fsl_aud2htx_regmap_config); > > + if (IS_ERR(aud2htx->regmap)) { > > + dev_err(&pdev->dev, "failed to init regmap"); > > + return PTR_ERR(aud2htx->regmap); > > + } > > + > > + irq = platform_get_irq(pdev, 0); > > + if (irq < 0) { > > + dev_err(&pdev->dev, "no irq for node %s\n", > > + dev_name(&pdev->dev)); > > dev_err() already prints dev_name, so not necessary to print again. ok, will update it best regards wang shengjiu