From patchwork Mon Jun 20 10:35:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: You-Sheng Yang X-Patchwork-Id: 1645380 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4LRQzt33Ylz9sGC for ; Mon, 20 Jun 2022 20:36:25 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1o3ElT-0008TT-7Q; Mon, 20 Jun 2022 10:36:15 +0000 Received: from mail-pj1-f47.google.com ([209.85.216.47]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1o3ElR-0008Sx-EN for kernel-team@lists.ubuntu.com; Mon, 20 Jun 2022 10:36:13 +0000 Received: by mail-pj1-f47.google.com with SMTP id 73-20020a17090a0fcf00b001eaee69f600so9908818pjz.1 for ; Mon, 20 Jun 2022 03:36:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rcaLI2V3cjieprAxEWzIdj3FgYEHCPxyzrcYI1whjZ4=; b=CLCVfGwsZz6UHj8UyV3+MfjdVSyAqyWu4ohr+wFngk0ziAUxueZjq70dHIlWGl+fru aVSSuJdwuj+AYj7gCCeheO0MbD3/VBbPCMEcOzGWeEgYYYYejhIhAsT5OSqzq7MzVprv 7O/h2145n+hoJbfqllcUNgJcK4ZDLDxsnrzZO1Rfb3KhvTCas+Nx6afBnqvJsjwBqk3o 6+ceBkXmv848Hg7wgV3fJq7Ah3HsEKKw4PMUGLDS2tu0+CqdtqbfaCqr0XsAJ3nuDdt0 lRLGX77zwsTDR0DCr8zX+cGTGBcwWMGA1msLikqknmr7MtfDoxcZgx9Mzlw1IzgCD6KE jERg== X-Gm-Message-State: AJIora9pzd0qPV3i0N0VwQl5QcBr1J0EzNbMzSlvvrPtQ024489rZF4p bMm1cF/qXExxyEmHrAPI4QUDNe+92Eg= X-Google-Smtp-Source: AGRyM1try3jI2MgVT3kt8Lyj7vhL6rNKNBv3MSHFV53FhCrWWsC4H03H9Q8RWbOZU4GzucPA56Hq6w== X-Received: by 2002:a17:902:cec2:b0:166:4277:e0c0 with SMTP id d2-20020a170902cec200b001664277e0c0mr22824947plg.107.1655721371377; Mon, 20 Jun 2022 03:36:11 -0700 (PDT) Received: from localhost.localdomain (218-173-147-253.dynamic-ip.hinet.net. [218.173.147.253]) by smtp.gmail.com with ESMTPSA id i4-20020aa78b44000000b0051c66160a3asm8735092pfd.181.2022.06.20.03.36.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jun 2022 03:36:11 -0700 (PDT) From: You-Sheng Yang To: kernel-team@lists.ubuntu.com Subject: [PATCH 1/2][SRU][OEM-5.17] iwlwifi: yoyo: fix DBGC allocation flow Date: Mon, 20 Jun 2022 18:35:26 +0800 Message-Id: <20220620103527.463475-2-vicamo.yang@canonical.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220620103527.463475-1-vicamo.yang@canonical.com> References: <20220620103527.463475-1-vicamo.yang@canonical.com> MIME-Version: 1.0 Received-SPF: pass client-ip=209.85.216.47; envelope-from=vicamo@gmail.com; helo=mail-pj1-f47.google.com X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Rotem Saado BugLink: https://bugs.launchpad.net/bugs/1979182 number of DBGCs and number of fragments per DBGC is hw family dependency and not capability. Signed-off-by: Rotem Saado Signed-off-by: Luca Coelho Link: https://lore.kernel.org/r/iwlwifi.20220129105618.209c6fe4364a.I5b21769d297d6fcfafc58ddf1db87d88349fe06f@changeid Signed-off-by: Luca Coelho (cherry picked from commit ab23da483bd79df414edd652acb5350b1acde566) Signed-off-by: You-Sheng Yang (vicamo) --- drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c b/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c index 901600ca6f0e..16f60a9b880e 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c @@ -577,8 +577,7 @@ static int iwl_dbg_tlv_alloc_fragments(struct iwl_fw_runtime *fwrt, return 0; num_frags = le32_to_cpu(fw_mon_cfg->max_frags_num); - if (!fw_has_capa(&fwrt->fw->ucode_capa, - IWL_UCODE_TLV_CAPA_DBG_BUF_ALLOC_CMD_SUPP)) { + if (fwrt->trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_AX210) { if (alloc_id != IWL_FW_INI_ALLOCATION_ID_DBGC1) return -EIO; num_frags = 1; From patchwork Mon Jun 20 10:35:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: You-Sheng Yang X-Patchwork-Id: 1645381 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4LRQzt2h9Mz9sFx for ; Mon, 20 Jun 2022 20:36:25 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1o3ElV-0008U3-CF; Mon, 20 Jun 2022 10:36:17 +0000 Received: from mail-pl1-f182.google.com ([209.85.214.182]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1o3ElS-0008T5-Bj for kernel-team@lists.ubuntu.com; Mon, 20 Jun 2022 10:36:14 +0000 Received: by mail-pl1-f182.google.com with SMTP id b10so2430719plg.4 for ; Mon, 20 Jun 2022 03:36:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=o1iPfgFLshe4NL4YdJfa0QiG2dmWZOrgh57mjnIvS1c=; b=qXVyWUhZa8wgfgiQHWPRvXM/s0Q8ctelttJTwMU5fxfOxkwG11JLZ0Sjl13P7Bgd3I UjZRxZR5a65jFSnQr7sn7avAQKmo5tw/Od9qWv+z9migS4iBMgEv2Jcr+7akWtJjjSaL C34vexYiun1Ih4+A5awud9h1su154ToX/Guc9qz3C9HI+7kGf4VTcF1xCSO6QB2jTj81 eL1JKcslw8J8yRWPpbLda53KlLDe6w1+Ew9ReOzo2c+ncrISBhssmdZw3WMVtbRoB8dT +rT0/gV9tHBV4HtI9xSFSbG5yHiyKaH06OSus9Sg9bLEMoNERd8GGTa/K74Wy2ouPkpj 5wWg== X-Gm-Message-State: AJIora+htBk7qHA3UU2Q3XVMRRfOyA7ferHEMLZzoHX7sREZYBOkAxt+ fC6BZBHGCYZCTSv2yOlYljyFZ0xtm6A= X-Google-Smtp-Source: AGRyM1tW20NJLekd5I1rT78wT8tj98iabY5OgJJEV5wRg0RfgBsgOYM0jr/Ri0HElrbDK4JSYeZUJw== X-Received: by 2002:a17:902:e5c9:b0:168:baf0:ec7c with SMTP id u9-20020a170902e5c900b00168baf0ec7cmr23465710plf.62.1655721372402; Mon, 20 Jun 2022 03:36:12 -0700 (PDT) Received: from localhost.localdomain (218-173-147-253.dynamic-ip.hinet.net. [218.173.147.253]) by smtp.gmail.com with ESMTPSA id i4-20020aa78b44000000b0051c66160a3asm8735092pfd.181.2022.06.20.03.36.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jun 2022 03:36:12 -0700 (PDT) From: You-Sheng Yang To: kernel-team@lists.ubuntu.com Subject: [PATCH 2/2][SRU][OEM-5.17] iwlwifi: dbg-tlv: clean up iwl_dbg_tlv_update_drams() Date: Mon, 20 Jun 2022 18:35:27 +0800 Message-Id: <20220620103527.463475-3-vicamo.yang@canonical.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220620103527.463475-1-vicamo.yang@canonical.com> References: <20220620103527.463475-1-vicamo.yang@canonical.com> MIME-Version: 1.0 Received-SPF: pass client-ip=209.85.214.182; envelope-from=vicamo@gmail.com; helo=mail-pl1-f182.google.com X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Johannes Berg BugLink: https://bugs.launchpad.net/bugs/1979182 This function puts a fairly large structure unnecessarily on the stack, and also has a few other very strange things, clean it up a bit. Signed-off-by: Johannes Berg Signed-off-by: Luca Coelho Link: https://lore.kernel.org/r/iwlwifi.20220130115024.9f2c282a3104.If6b868c96c0d089579ca72fd270387de81359d5b@changeid Signed-off-by: Luca Coelho (cherry picked from commit c76c83097587a6ca77ac490008368700417d67cc) Signed-off-by: You-Sheng Yang (vicamo) --- .../net/wireless/intel/iwlwifi/iwl-dbg-tlv.c | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c b/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c index 16f60a9b880e..f0b7289fda70 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c @@ -761,33 +761,40 @@ static int iwl_dbg_tlv_update_dram(struct iwl_fw_runtime *fwrt, static void iwl_dbg_tlv_update_drams(struct iwl_fw_runtime *fwrt) { - int ret, i, dram_alloc = 0; - struct iwl_dram_info dram_info; + int ret, i; + bool dram_alloc = false; struct iwl_dram_data *frags = &fwrt->trans->dbg.fw_mon_ini[IWL_FW_INI_ALLOCATION_ID_DBGC1].frags[0]; + struct iwl_dram_info *dram_info; + + if (!frags || !frags->block) + return; + + dram_info = frags->block; if (!fw_has_capa(&fwrt->fw->ucode_capa, IWL_UCODE_TLV_CAPA_DRAM_FRAG_SUPPORT)) return; - dram_info.first_word = cpu_to_le32(DRAM_INFO_FIRST_MAGIC_WORD); - dram_info.second_word = cpu_to_le32(DRAM_INFO_SECOND_MAGIC_WORD); + dram_info->first_word = cpu_to_le32(DRAM_INFO_FIRST_MAGIC_WORD); + dram_info->second_word = cpu_to_le32(DRAM_INFO_SECOND_MAGIC_WORD); for (i = IWL_FW_INI_ALLOCATION_ID_DBGC1; i <= IWL_FW_INI_ALLOCATION_ID_DBGC3; i++) { - ret = iwl_dbg_tlv_update_dram(fwrt, i, &dram_info); + ret = iwl_dbg_tlv_update_dram(fwrt, i, dram_info); if (!ret) - dram_alloc++; + dram_alloc = true; else IWL_WARN(fwrt, "WRT: Failed to set DRAM buffer for alloc id %d, ret=%d\n", i, ret); } - if (dram_alloc) { - memcpy(frags->block, &dram_info, sizeof(dram_info)); - IWL_DEBUG_FW(fwrt, "block data after %016x\n", - *((int *)fwrt->trans->dbg.fw_mon_ini[1].frags[0].block)); - } + + if (dram_alloc) + IWL_DEBUG_FW(fwrt, "block data after %08x\n", + dram_info->first_word); + else + memset(frags->block, 0, sizeof(*dram_info)); } static void iwl_dbg_tlv_send_hcmds(struct iwl_fw_runtime *fwrt,