Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp1764127pxp; Mon, 7 Mar 2022 01:44:56 -0800 (PST) X-Google-Smtp-Source: ABdhPJwQfaJJaPZl2QUM0rlWX0QaeB0ongNNCHJ02IDP4rHnlP5KLQxqdPbNUvt2ixRgo6Qnh/Za X-Received: by 2002:a17:906:bb01:b0:6a7:df9:d67c with SMTP id jz1-20020a170906bb0100b006a70df9d67cmr8191274ejb.733.1646646296589; Mon, 07 Mar 2022 01:44:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646646296; cv=none; d=google.com; s=arc-20160816; b=jsz016uiwU7AKC/WRUjnsMrdn3m5GATv5vDWnYFQRhPjVSNpKWyZKdoHXpx5rwTvLC Qt7QG/I1UVPsCcBOrDJwYp5DMdefPIhtdv5KeRtfAvC8/lsVr+HpoNLaJo8lbnx8zGcC EKt6jQszBjTy3EYJrdaJ+KaHo01Av1Smhbbk38VuyfNl9vENhuCo9zCBKRp1MT3NsYiA RKGZLOxZoLF7onfnXkexTis3rGOwq89m1D64oCRugwuQAvaDfvP5KZkLtLkFV5IjROtc s4Y30kRBKCnOATOy5KZ2ir6qUUHC72LyHgId6hI05E7R1ATaYnX1Mz99w6l+Y3Igvixc ppOA== 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=Yd+nulc0Iga+22h749FCWw0jCYaxdTf5XtknT7WGKow=; b=uuiQDF6sVCRdykBT8AcsVeoXShlK7iMvzsNZbDiUllmJEStgJj5K9JFg2rnZYyKFvs npUT8zFRPYsGSNxpcm4iJJQ6PQezO76tE7pJijXInISegqJwWswuWWBczE6g/C4tM/Ci 4e5x4Y7bn8wGQ5gf/46QSLLR/c8Kc+JDn7Beub4KrLIi/QK7JduaVUClfI1O5RKwlpwE TVQR3dhHpbriyJz9ZXm/vgwLbY5ktEeciQLwa7Fj7CN81otDTFcx+KYLS69JhF+VaA6U CTyayLWuCCL7bUQvtG8PUDwteyldKGdkeAJxtiOK5W+YtIBESpYHd8J83iZ3gJZBeZSM IgHQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=ZAhx4gB0; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e5-20020a50bec5000000b00410f19a61a1si8690429edk.120.2022.03.07.01.44.39; Mon, 07 Mar 2022 01:44:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=ZAhx4gB0; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-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 S231480AbiCGCpI (ORCPT + 71 others); Sun, 6 Mar 2022 21:45:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53488 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234852AbiCGCpG (ORCPT ); Sun, 6 Mar 2022 21:45:06 -0500 Received: from mail-vk1-xa36.google.com (mail-vk1-xa36.google.com [IPv6:2607:f8b0:4864:20::a36]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DDABF5D5E5; Sun, 6 Mar 2022 18:44:03 -0800 (PST) Received: by mail-vk1-xa36.google.com with SMTP id i18so1366712vkr.13; Sun, 06 Mar 2022 18:44:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Yd+nulc0Iga+22h749FCWw0jCYaxdTf5XtknT7WGKow=; b=ZAhx4gB0Xu3k3oeGTB5xfMFhqLLeTJxIJsnU+poY8ssPsEj7ziWmqkTxsJmVi3m2O6 4RgvuU7D5OMHwA2kn4eEG2+vubbgzxS+lgzfydvDhyjft4mkZz4QsxdHg0XSGOqWUG3U DzuK78fCsU5BFfW/03psTMu7giU4uVMj2Qke+Gjh8uLnI46OAtZyjIxYsrnP4bFcBjeE sgFAl+MXrHWZrETzf2GF9431RcO0DarQQXdE71j95gud7Am3xVb31cEsjkeIx6j+XY/I IFEsmJnd6Cfi9d6cK1p1e3VDjs+IkiJnUm4KLB1Z8LIzIuEfWoDmidYEVYY5RMfT3YRo ge+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Yd+nulc0Iga+22h749FCWw0jCYaxdTf5XtknT7WGKow=; b=eCLcR6TMgiPxrTyUKrusyaeflWbprMty4qUjn+fBTzfJYUT+awvagF/orp9hixhr8+ 8qVDwIxak7Q06wd+gZv2wkswX9b/+2qXwAljNmXXTFi15xODxF065MroZLEHWN+WiOYX JwPW46LWo0e54GvUurHRv6qawuhu6QVztmwjl0uy5WQrG2H3CW2zxA/H/T7gg0qkuOZv E6yKfrEV3JB2Y4w7Zd/+eBlFgLi9KKJEzVZ0mEA2KMOr7ZUIohfTNcXuLhMZf3XHWB4G 6K7/cway4D0payD8tVDZmb3hNs9J9IAaETKAjQ3WYjm7feazgUF37BBhIuRbSb5qEa1n 7yBg== X-Gm-Message-State: AOAM533ihTAEI//01XCzzNrrb13AT+aJPrZbpw7NolS0pNjS3FQ6soJ2 l1q8vXodb3TVoagHxlI4gY8hBTZV2YawA7EmbNk= X-Received: by 2002:a1f:6101:0:b0:336:ea3c:48b0 with SMTP id v1-20020a1f6101000000b00336ea3c48b0mr3066349vkb.19.1646621043077; Sun, 06 Mar 2022 18:44:03 -0800 (PST) MIME-Version: 1.0 References: <20220223223326.28021-1-ricardo.martinez@linux.intel.com> <20220223223326.28021-4-ricardo.martinez@linux.intel.com> In-Reply-To: <20220223223326.28021-4-ricardo.martinez@linux.intel.com> From: Sergey Ryazanov Date: Mon, 7 Mar 2022 05:44:12 +0300 Message-ID: Subject: Re: [PATCH net-next v5 03/13] net: wwan: t7xx: Add core components To: Ricardo Martinez Cc: netdev@vger.kernel.org, linux-wireless@vger.kernel.org, Jakub Kicinski , David Miller , Johannes Berg , Loic Poulain , M Chetan Kumar , chandrashekar.devegowda@intel.com, Intel Corporation , chiranjeevi.rapolu@linux.intel.com, =?UTF-8?B?SGFpanVuIExpdSAo5YiY5rW35YabKQ==?= , amir.hanania@intel.com, Andy Shevchenko , dinesh.sharma@intel.com, eliot.lee@intel.com, ilpo.johannes.jarvinen@intel.com, moises.veleta@intel.com, pierre-louis.bossart@intel.com, muralidharan.sethuraman@intel.com, Soumya.Prakash.Mishra@intel.com, sreehari.kancharla@intel.com, madhusmita.sahu@intel.com Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On Thu, Feb 24, 2022 at 1:35 AM Ricardo Martinez wrote: > From: Haijun Liu > > Registers the t7xx device driver with the kernel. Setup all the core > components: PCIe layer, Modem Host Cross Core Interface (MHCCIF), > modem control operations, modem state machine, and build > infrastructure. > > * PCIe layer code implements driver probe and removal. > * MHCCIF provides interrupt channels to communicate events > such as handshake, PM and port enumeration. > * Modem control implements the entry point for modem init, > reset and exit. > * The modem status monitor is a state machine used by modem control > to complete initialization and stop. It is used also to propagate > exception events reported by other components. [skipped] > +static struct t7xx_modem *t7xx_md_alloc(struct t7xx_pci_dev *t7xx_dev) > +{ > + struct device *dev = &t7xx_dev->pdev->dev; > + struct t7xx_modem *md; > + > + md = devm_kzalloc(dev, sizeof(*md), GFP_KERNEL); > + if (!md) > + return NULL; > + > + md->t7xx_dev = t7xx_dev; > + t7xx_dev->md = md; > + md->core_md.ready = false; > + spin_lock_init(&md->exp_lock); > + md->handshake_wq = alloc_workqueue("%s", WQ_UNBOUND | WQ_MEM_RECLAIM | WQ_HIGHPRI, > + 0, "md_hk_wq"); > + if (!md->handshake_wq) > + return NULL; > + > + INIT_WORK(&md->handshake_work, t7xx_md_hk_wq); > + return md; > +} > + > +int t7xx_md_reset(struct t7xx_pci_dev *t7xx_dev) > +{ > + struct t7xx_modem *md = t7xx_dev->md; > + > + md->md_init_finish = false; > + md->exp_id = 0; > + spin_lock_init(&md->exp_lock); Looks like a duplicated initialization, the first time the lock was initialized in the t7xx_md_alloc() above. > + t7xx_fsm_reset(md); > + t7xx_cldma_reset(md->md_ctrl[CLDMA_ID_MD]); > + md->md_init_finish = true; > + return 0; > +} [skipped] > +void t7xx_pcie_set_mac_msix_cfg(struct t7xx_pci_dev *t7xx_dev, unsigned int irq_count) > +{ > + u32 val; > + > + val = ffs(irq_count) * 2 - 1; Move this initialization to the variable declaration. > + iowrite32(val, IREG_BASE(t7xx_dev) + T7XX_PCIE_CFG_MSIX); > +} -- Sergey