Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp1194951pxb; Fri, 21 Jan 2022 12:00:16 -0800 (PST) X-Google-Smtp-Source: ABdhPJwoze5g6rbS1wU7e0MLdlezHemAzFXBjAG9sqAmbOoQg95LfUpBVz4b/l/zBEmROkWUDr7C X-Received: by 2002:a17:902:e8c8:b0:149:eb6d:23fb with SMTP id v8-20020a170902e8c800b00149eb6d23fbmr5492983plg.53.1642795215930; Fri, 21 Jan 2022 12:00:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642795215; cv=none; d=google.com; s=arc-20160816; b=B92z4A9i0C3Y0Vlk67fbvqRZxeNkSXQHOfrxh2k+bFfgjreZ7l4aLW54Ebtk4jPFEH OCW8jgmYDnNfd3in1A5AgvX+UY72p72Ct2O3Zwta/s4z9wptgBWt5X2mRFsLsbKtU222 EzyDpmDSpEe5CTqpvHTsWKi3RR2bCXF9x13UYqoKYCRAqI9+ehEMJrWtpq9IT/Esa2Th jcJos5tvVt2v4em4xD42jdIDwu206MC7lEx8RDKOuXU7/0Oz3A2+viL0nrRBUMRpf60s /pM+Mc5rvKl9EFft3p92lARkf7TQXfNuNHNMNFhXMwRtGV7dGIScCqrCamoKcSwVY1d/ Vihg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=K6NLcHhVOZshsj1zbAaS/jaBjiaLYnZk+rtv1ZRMIr4=; b=PtM5wdolZncet7nib+uf8u5BtMWkxtFQdlmrnNdyX7NWSdA/Xu0uCzw6CFV17IBg+I fZm7GEJzkDV4jm0JIucF601qR0fxkwNyfDvINIFkNoCpOYXlqpsseqLGy2I2js28j6k/ gKBEGy8mV1g9Dgj9SzkhC75bjITk5C1k7vkN0Hqze1G3ud5Dpm7lgb1PPxb8BVSs3F2u o2VXi71Vv9z8ruwD05b+ko4lZ3CZ4ypCUQAeSBu+wL/gwA5b2D2H3wBX+ebP22PyXaSa svoDMv80WzCg/w1Z/VPZMlBerQV4qOPCgXuQNHCPGLvPORV65/R0jXbmXPV1emCRom0U GrLQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=ZjkTueia; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d70si2654508pgc.182.2022.01.21.12.00.06; Fri, 21 Jan 2022 12:00:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-wireless-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=@intel.com header.s=Intel header.b=ZjkTueia; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239762AbiASTZb (ORCPT + 70 others); Wed, 19 Jan 2022 14:25:31 -0500 Received: from mga17.intel.com ([192.55.52.151]:45691 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229593AbiASTZb (ORCPT ); Wed, 19 Jan 2022 14:25:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642620330; x=1674156330; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=S8PG7gZp2otKCowmiUMvM8LzYrUNIUF5vgPa0CPgwVY=; b=ZjkTueiapwqwiOUrcd4OXbOxCLLSfCh/m+dQW8iVp5jz9hdcWFO1WmbJ bGSqLJ7aYz5zJ9qi5LUi/EXeN9T/p9CJTVaJ+kj1o+b8kFOaPHHrosvTx AOoBRqipBr5/5QQFxAFv3O1ezRkD/L6bi+s6K3WNhF2K7eNb/zixH+xSR xk+78Mp6Fo4vfoVF98spqKO70s2E8cIjtIl0La/lOvyhgcr6q2MHlFdI/ jSpGH3/BdqLQcd0Res0L9vt+/yi7lol6iL3u7j0E3yNtWy32ERDwTC28q 5JaTVmTgxadGMgt2OX7DVXG6fTjIZUPn1fgsdWzEoODuhawMTpSoIwlSM w==; X-IronPort-AV: E=McAfee;i="6200,9189,10231"; a="225839952" X-IronPort-AV: E=Sophos;i="5.88,300,1635231600"; d="scan'208";a="225839952" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jan 2022 11:04:20 -0800 X-IronPort-AV: E=Sophos;i="5.88,300,1635231600"; d="scan'208";a="578929424" Received: from rmarti10-mobl2.amr.corp.intel.com (HELO [10.251.31.79]) ([10.251.31.79]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jan 2022 11:04:19 -0800 Message-ID: Date: Wed, 19 Jan 2022 11:04:18 -0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: [PATCH net-next v4 02/13] net: wwan: t7xx: Add control DMA interface Content-Language: en-US To: =?UTF-8?Q?Ilpo_J=c3=a4rvinen?= Cc: Netdev , linux-wireless@vger.kernel.org, kuba@kernel.org, davem@davemloft.net, johannes@sipsolutions.net, ryazanov.s.a@gmail.com, loic.poulain@linaro.org, m.chetan.kumar@intel.com, chandrashekar.devegowda@intel.com, linuxwwan@intel.com, chiranjeevi.rapolu@linux.intel.com, haijun.liu@mediatek.com, amir.hanania@intel.com, Andy Shevchenko , dinesh.sharma@intel.com, eliot.lee@intel.com, moises.veleta@intel.com, pierre-louis.bossart@intel.com, muralidharan.sethuraman@intel.com, Soumya.Prakash.Mishra@intel.com, sreehari.kancharla@intel.com References: <20220114010627.21104-1-ricardo.martinez@linux.intel.com> <20220114010627.21104-3-ricardo.martinez@linux.intel.com> <4a4b2848-d665-c9ba-c66a-dd4408e94ea5@linux.intel.com> From: "Martinez, Ricardo" In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On 1/19/2022 1:52 AM, Ilpo Järvinen wrote: > On Tue, 18 Jan 2022, Martinez, Ricardo wrote: > >> On 1/18/2022 6:13 AM, Ilpo Järvinen wrote: >>> On Thu, 13 Jan 2022, Ricardo Martinez wrote: ... >>> +static bool t7xx_cldma_qs_are_active(struct t7xx_cldma_hw *hw_info) >>> +{ >>> + unsigned int tx_active; >>> + unsigned int rx_active; >>> + >>> + tx_active = t7xx_cldma_hw_queue_status(hw_info, CLDMA_ALL_Q, MTK_TX); >>> + rx_active = t7xx_cldma_hw_queue_status(hw_info, CLDMA_ALL_Q, MTK_RX); >>> + if (tx_active == CLDMA_INVALID_STATUS || rx_active == >>> CLDMA_INVALID_STATUS) >>> These cannot ever be true because of mask in t7xx_cldma_hw_queue_status(). >> t7xx_cldma_hw_queue_status() shouldn't apply the mask for CLDMA_ALL_Q. > I guess it shouldn't but it currently does apply 0xff (CLDMA_ALL_Q) as > mask in that case. However, this now raises another question, if > 0xffffffff (CLDMA_INVALID_STATUS) means status is invalid, should all > callers both single Q and CLDMA_ALL_Q be returned/check/handle that value? > > Why would CLDMA_ALL_Q be special in this respect that the INVALID_STATUS > means invalid only with it? Reading 0xffffffff is used to detect if the PCI link was disconnected, it is relevant in t7xx_cldma_qs_are_active() because it is a helper function polled by t7xx_cldma_stop() to wait until the queues are not active anymore. I think a cleaner implementation would be to use pci_device_is_present() instead of the CLDMA_INVALID_STATUS check inside t7xx_cldma_qs_are_active() and keep t7xx_cldma_hw_queue_status() free of that logic. ...