From patchwork Tue May 30 16:51:30 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Doug Anderson X-Patchwork-Id: 9754925 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id B9F9B601D2 for ; Tue, 30 May 2017 16:52:10 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AB5D62785D for ; Tue, 30 May 2017 16:52:10 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9FDBE27EE2; Tue, 30 May 2017 16:52:10 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.3 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,T_DKIM_INVALID autolearn=no version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 80F352785D for ; Tue, 30 May 2017 16:52:09 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 43147266EBF; Tue, 30 May 2017 18:52:07 +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 DB7DC266EC4; Tue, 30 May 2017 18:52:05 +0200 (CEST) Received: from mail-pf0-f172.google.com (mail-pf0-f172.google.com [209.85.192.172]) by alsa0.perex.cz (Postfix) with ESMTP id 6C2E2266D5D for ; Tue, 30 May 2017 18:51:59 +0200 (CEST) Received: by mail-pf0-f172.google.com with SMTP id e193so77544036pfh.0 for ; Tue, 30 May 2017 09:51:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id; bh=n389sH4qA6oocgK6ciCa7nI/ElFtOg4472v47gcMd90=; b=n73/GCZh+fawNMoJDvBAujiXgpNz6i7KzwQVDWHd8/avPfP8+cI5XtZzilYbmyx8xJ UkT0WIEBclU7dIJP4qbTphYa+0FKTbXMqaOhjXgNV4+8AUagyWSnsHmbGbmBtWHso1jM f3lgOygnabgwPe0D7+h6hR9nQSy0Xqw++8HOo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=n389sH4qA6oocgK6ciCa7nI/ElFtOg4472v47gcMd90=; b=fKoDETggJmYJXVkMnjJSZXycmLQS26HiCBboN17wF3/inBKx4GlMbgXdCNl7h6n3aE eKQ4BPpKLot4LfGNXDaxfZ7y3Ih9wImsmK9PDDA05+xVerF3bxD2IGtvOJvxyMSxN/mQ VQcjsl77KeSc2xuVZeZ7B3I7N+kf2H0LMOHBg6iVASx5iIbVwegIJFo+cOwciC+k/Nqq thLudjGZRba0353onZx/puS7dCWOe3qHYNIdHfY3Ywwv+t5wkU6DR7Zo0d1mEq1oap2n w/DHcQv20ACQH4d0lFIAnIcVMqavxrRCZ8B8Kb//w1W0TiG5TeKZ9PxL+3vv5/qDLTfa PEmg== X-Gm-Message-State: AODbwcDHmVOaXMYEXA2JysQSC7uG0Y7Qc4CQS2ZY0gYO+ylCFfiYcQeK peL2zdlj2VJj16tg X-Received: by 10.99.65.7 with SMTP id o7mr26076729pga.90.1496163118175; Tue, 30 May 2017 09:51:58 -0700 (PDT) Received: from tictac.mtv.corp.google.com ([172.22.65.76]) by smtp.gmail.com with ESMTPSA id b195sm19634426pfb.29.2017.05.30.09.51.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 30 May 2017 09:51:56 -0700 (PDT) From: Douglas Anderson To: Mark Brown Date: Tue, 30 May 2017 09:51:30 -0700 Message-Id: <20170530165130.15011-1-dianders@chromium.org> X-Mailer: git-send-email 2.13.0.219.gdb65acc882-goog Cc: pierre-louis.bossart@linux.intel.com, alsa-devel@alsa-project.org, lgirdwood@gmail.com, Vinod Koul , linux-kernel@vger.kernel.org, tiwai@suse.com, Douglas Anderson , andy.shevchenko@gmail.com, mka@chromium.org, naveen.m@intel.com, colin.king@canonical.com, o-takashi@sakamocchi.jp, sebastien.guiriec@intel.com Subject: [alsa-devel] [RFC PATCH v2] ASoC: Intel: sst: Delete sst_shim_regs64; saved regs are never used 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 In commit 9a075265c6dc ("ASoC: Intel: sst: Remove unused function sst_restore_shim64()"), we deleted the sst_restore_shim64() since it was never used. ...but a quick look at the code shows that we should also be able to remove the sst_save_shim64() function and the structure members we were storing data in. Once we delete sst_save_shim64() there are no longer any users of the 'sst_shim_regs64' structure. That means we can delete it completely and also avoid allocating memory for it. This saves a whopping 136 bytes of devm allocated memory. We also get the nice benefit of avoiding an error path in the init code. Note that the saving code that we're removing (and the comments talking about how important it is to do the save) has been around since commit 336cfbb05edf ("ASoC: Intel: mrfld- add ACPI module"). Signed-off-by: Douglas Anderson Reviewed-by: Andy Shevchenko Acked-by: Vinod Koul --- This problem was found only by code inspection and only compile tested. Hence, RFC. Changes in v2: - Fully delete the structure. sound/soc/intel/atom/sst/sst.c | 19 ------------------- sound/soc/intel/atom/sst/sst.h | 22 ---------------------- sound/soc/intel/atom/sst/sst_acpi.c | 14 -------------- 3 files changed, 55 deletions(-) diff --git a/sound/soc/intel/atom/sst/sst.c b/sound/soc/intel/atom/sst/sst.c index 2d43b8693c0c..5ee92257ca85 100644 --- a/sound/soc/intel/atom/sst/sst.c +++ b/sound/soc/intel/atom/sst/sst.c @@ -382,21 +382,6 @@ void sst_context_cleanup(struct intel_sst_drv *ctx) } EXPORT_SYMBOL_GPL(sst_context_cleanup); -static inline void sst_save_shim64(struct intel_sst_drv *ctx, - void __iomem *shim, - struct sst_shim_regs64 *shim_regs) -{ - unsigned long irq_flags; - - spin_lock_irqsave(&ctx->ipc_spin_lock, irq_flags); - - shim_regs->imrx = sst_shim_read64(shim, SST_IMRX); - shim_regs->csr = sst_shim_read64(shim, SST_CSR); - - - spin_unlock_irqrestore(&ctx->ipc_spin_lock, irq_flags); -} - void sst_configure_runtime_pm(struct intel_sst_drv *ctx) { pm_runtime_set_autosuspend_delay(ctx->dev, SST_SUSPEND_DELAY); @@ -416,8 +401,6 @@ void sst_configure_runtime_pm(struct intel_sst_drv *ctx) pm_runtime_set_active(ctx->dev); else pm_runtime_put_noidle(ctx->dev); - - sst_save_shim64(ctx, ctx->shim, ctx->shim_regs64); } EXPORT_SYMBOL_GPL(sst_configure_runtime_pm); @@ -441,8 +424,6 @@ static int intel_sst_runtime_suspend(struct device *dev) flush_workqueue(ctx->post_msg_wq); ctx->ops->reset(ctx); - /* save the shim registers because PMC doesn't save state */ - sst_save_shim64(ctx, ctx->shim, ctx->shim_regs64); return ret; } diff --git a/sound/soc/intel/atom/sst/sst.h b/sound/soc/intel/atom/sst/sst.h index 5c9a51cc77aa..1693befa455a 100644 --- a/sound/soc/intel/atom/sst/sst.h +++ b/sound/soc/intel/atom/sst/sst.h @@ -317,26 +317,6 @@ struct sst_ipc_reg { int ipcd; }; -struct sst_shim_regs64 { - u64 csr; - u64 pisr; - u64 pimr; - u64 isrx; - u64 isrd; - u64 imrx; - u64 imrd; - u64 ipcx; - u64 ipcd; - u64 isrsc; - u64 isrlpesc; - u64 imrsc; - u64 imrlpesc; - u64 ipcsc; - u64 ipclpesc; - u64 clkctl; - u64 csr2; -}; - struct sst_fw_save { void *iram; void *dram; @@ -356,7 +336,6 @@ struct sst_fw_save { * @dram : SST DRAM pointer * @pdata : SST info passed as a part of pci platform data * @shim_phy_add : SST shim phy addr - * @shim_regs64: Struct to save shim registers * @ipc_dispatch_list : ipc messages dispatched * @rx_list : to copy the process_reply/process_msg from DSP * @ipc_post_msg_wq : wq to post IPC messages context @@ -398,7 +377,6 @@ struct intel_sst_drv { unsigned int ddr_end; unsigned int ddr_base; unsigned int mailbox_recv_offset; - struct sst_shim_regs64 *shim_regs64; struct list_head block_list; struct list_head ipc_dispatch_list; struct sst_platform_info *pdata; diff --git a/sound/soc/intel/atom/sst/sst_acpi.c b/sound/soc/intel/atom/sst/sst_acpi.c index 592f6afaf2a5..cf88cd1865fb 100644 --- a/sound/soc/intel/atom/sst/sst_acpi.c +++ b/sound/soc/intel/atom/sst/sst_acpi.c @@ -358,23 +358,9 @@ static int sst_acpi_probe(struct platform_device *pdev) if (ret < 0) return ret; - /* need to save shim registers in BYT */ - ctx->shim_regs64 = devm_kzalloc(ctx->dev, sizeof(*ctx->shim_regs64), - GFP_KERNEL); - if (!ctx->shim_regs64) { - ret = -ENOMEM; - goto do_sst_cleanup; - } - sst_configure_runtime_pm(ctx); platform_set_drvdata(pdev, ctx); return ret; - -do_sst_cleanup: - sst_context_cleanup(ctx); - platform_set_drvdata(pdev, NULL); - dev_err(ctx->dev, "failed with %d\n", ret); - return ret; } /**