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=-12.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT 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 BA5FCC388F9 for ; Tue, 27 Oct 2020 05:40:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 83E3E21D42 for ; Tue, 27 Oct 2020 05:40:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2505987AbgJ0Fk3 (ORCPT ); Tue, 27 Oct 2020 01:40:29 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:46979 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2505981AbgJ0Fk0 (ORCPT ); Tue, 27 Oct 2020 01:40:26 -0400 Received: from 61-220-137-37.hinet-ip.hinet.net ([61.220.137.37] helo=localhost) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1kXHiU-0002dF-BK; Tue, 27 Oct 2020 05:40:18 +0000 From: Kai-Heng Feng To: tiwai@suse.com Cc: perex@perex.cz, hui.wang@canonical.com, kai.vehmanen@linux.intel.com, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Kai-Heng Feng Subject: [PATCH v2 2/4] ALSA: hda: Stop mangling PCI IRQ Date: Tue, 27 Oct 2020 13:39:59 +0800 Message-Id: <20201027054001.1800-3-kai.heng.feng@canonical.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201027054001.1800-1-kai.heng.feng@canonical.com> References: <20201027054001.1800-1-kai.heng.feng@canonical.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The code predates 2005, it should be unnecessary now as PCI core handles IRQ much better nowadays. So stop PCI IRQ mangling in suspend/resume callbacks. Takashi Iwai mentioned that IRQ number can change after S3 on some really old hardwares. We should use quirks to handle those platforms, as most modern systems won't have that issue. Signed-off-by: Kai-Heng Feng --- v2: - Wording. - Add info on IRQ # can change on old hardwares. sound/pci/hda/hda_intel.c | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 749b88090970..b4aa1dcf1aae 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -1022,13 +1022,11 @@ static int azx_suspend(struct device *dev) { struct snd_card *card = dev_get_drvdata(dev); struct azx *chip; - struct hdac_bus *bus; if (!azx_is_pm_ready(card)) return 0; chip = card->private_data; - bus = azx_bus(chip); snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); /* An ugly workaround: direct call of __azx_runtime_suspend() and * __azx_runtime_resume() for old Intel platforms that suffer from @@ -1038,14 +1036,6 @@ static int azx_suspend(struct device *dev) __azx_runtime_suspend(chip); else pm_runtime_force_suspend(dev); - if (bus->irq >= 0) { - free_irq(bus->irq, chip); - bus->irq = -1; - chip->card->sync_irq = -1; - } - - if (chip->msi) - pci_disable_msi(chip->pci); trace_azx_suspend(chip); return 0; @@ -1060,11 +1050,6 @@ static int azx_resume(struct device *dev) return 0; chip = card->private_data; - if (chip->msi) - if (pci_enable_msi(chip->pci) < 0) - chip->msi = 0; - if (azx_acquire_irq(chip, 1) < 0) - return -EIO; if (chip->driver_caps & AZX_DCAPS_SUSPEND_SPURIOUS_WAKEUP) __azx_runtime_resume(chip, false); -- 2.17.1