Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp3314781ybb; Mon, 6 Apr 2020 06:35:54 -0700 (PDT) X-Google-Smtp-Source: APiQypJLX0nS1Egn13kC8eOnXBTHWRNQvjVO5tH4fxFYoF0PxQrONpJvgODWMeu0azdFpBXZeyIl X-Received: by 2002:a4a:2a09:: with SMTP id k9mr17331545oof.64.1586180154146; Mon, 06 Apr 2020 06:35:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586180154; cv=none; d=google.com; s=arc-20160816; b=qyIFPEGC/nMPx67GR4oI1TL9j3btUFHbkWB4yA7pq2yNOSWRHRa97ztHAImpEIUUPH WQau3QuVhi5ERyKrgJ1hNYF9xtLnqEGDJ+zWlSEYwTZpY5n6FSpS6A39HNIfP6eGQouI pO3vjNCJvvkbFhLBi0j2hlVYJ57/irJr98XMx/W1d4CskaGWrJM/18hoSuFIYe1c2+kt pfTyb14awIMxbY34w3wCf7/y4X2hf0tRp3wJkX1GCldNnYD1xw+DCC5apKnGeFGhstzx +1IgcupD8OWXlSksQToEe9utj/7/fmjNBliRw3/42k8vemHQvmk2diZEE2lfUsXCZTXp BD/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version; bh=xVmyTgqvXyr1C+QA3tWQCyWfqt1jZSLV13ncrjqc1j8=; b=W32ioaMC/Rw5z5A9dZF/TrVgolJxSmKZtpcnBlRd5emH67AscomYUthI3ZhIVjU+cn 05lwWXZX7RwLJnLvwe35VauY18YSPgnng8j1q1jjGtUeALa7OjUOSI8I1uuFHEZYPN5t 0LzHDxHkrznXjfAc+lrsMHoCQBot4l0IOEFkiRwj3JkOQv01Jt6ov9Y4x/ctUWO7q/00 xtQ2vM1LwSYtyaVAHZLFjW9MRoW3aTClllhcXMb4SV/RecZW2HXes2pAyvJIOhBcZ8iV PArmRy2JzFIoBDRrQlRKcPG0Pu/vdL600gQAANmEOJziJw1vZ4SWkQOg3SlBcg0oHCW5 KA1Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c31si7348317otb.281.2020.04.06.06.35.41; Mon, 06 Apr 2020 06:35:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728503AbgDFNff convert rfc822-to-8bit (ORCPT + 99 others); Mon, 6 Apr 2020 09:35:35 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:33905 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728447AbgDFNff (ORCPT ); Mon, 6 Apr 2020 09:35:35 -0400 Received: from mail-pj1-f69.google.com ([209.85.216.69]) by youngberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jLRuX-0001tw-Q0 for linux-wireless@vger.kernel.org; Mon, 06 Apr 2020 13:35:34 +0000 Received: by mail-pj1-f69.google.com with SMTP id f94so14837735pjg.6 for ; Mon, 06 Apr 2020 06:35:33 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=CSKUSqRfNTXzOLX6+efSm/2vYgKbSyfaW2ix36hULHI=; b=riUplpFdIo8WtBjRu1rP3nrVnn22hsAh5OSKzh2DYADEKMTD1zcDaPDNgXaGWLhppe uxogStoHCpgFVC/CEOR7qgvxkRgko0vn6XzpME41/se24sZ8/A1R3aorioY77RWT7OeH GrQm75hCXBTS3yopUokmK1j3Cj7tS+ImP+Wo9iQ/mvoavuPrUklRNY6AR92pbYHIK+eJ Ey/PIqPbeOw4k4PCmKpWaKrRZP0cHhLfwzajJKvHaJWUqHYkpBS9O2Yf0cIpI6jKRgJI adkt2i4pyVkP8MyGS6Hym22sLaocUA1+vbH1Ec3p0ysly0yDfjhNdMmxI3/21L+D5ds9 RPrA== X-Gm-Message-State: AGi0PuaRCecZKt4TrCmpMDIp9RoXEY1LCVUrQ6C50YwBjgTmp/4dtXwl 6CGiTJPYwHWbI6mcf4qeWsbi77ikZyJF/gSjVmYzJjWCIzrivXRKShMS8hHY70Sj4K2kHtWnmxk nf384r8NkM6p6rpTtF8sQZV6PoX7AiiEDQoeNGgs1FJm5 X-Received: by 2002:a17:90a:db02:: with SMTP id g2mr26642889pjv.49.1586180132472; Mon, 06 Apr 2020 06:35:32 -0700 (PDT) X-Received: by 2002:a17:90a:db02:: with SMTP id g2mr26642844pjv.49.1586180132092; Mon, 06 Apr 2020 06:35:32 -0700 (PDT) Received: from [192.168.1.208] (220-133-187-190.HINET-IP.hinet.net. [220.133.187.190]) by smtp.gmail.com with ESMTPSA id a8sm10783890pgg.79.2020.04.06.06.35.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 06 Apr 2020 06:35:31 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\)) Subject: Re: [PATCH] rtw88: Add delay on polling h2c command status bit From: Kai-Heng Feng In-Reply-To: <87zhboycfr.fsf@kamboji.qca.qualcomm.com> Date: Mon, 6 Apr 2020 21:35:29 +0800 Cc: Tony Chuang , "David S. Miller" , "open list:REALTEK WIRELESS DRIVER (rtw88)" , "open list:NETWORKING DRIVERS" , open list Content-Transfer-Encoding: 8BIT Message-Id: <83B3A3D8-833A-42BE-9EB0-59C95B349B01@canonical.com> References: <20200406093623.3980-1-kai.heng.feng@canonical.com> <87v9mczu4h.fsf@kamboji.qca.qualcomm.com> <94EAAF7E-66C5-40E2-B6A9-0787CB13A3A9@canonical.com> <87zhboycfr.fsf@kamboji.qca.qualcomm.com> To: Kalle Valo X-Mailer: Apple Mail (2.3608.80.23.2.2) Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org > On Apr 6, 2020, at 21:24, Kalle Valo wrote: > > Kai-Heng Feng writes: > >>> On Apr 6, 2020, at 20:17, Kalle Valo wrote: >>> >>> Kai-Heng Feng writes: >>> >>>> --- a/drivers/net/wireless/realtek/rtw88/hci.h >>>> +++ b/drivers/net/wireless/realtek/rtw88/hci.h >>>> @@ -253,6 +253,10 @@ rtw_write8_mask(struct rtw_dev *rtwdev, u32 >>>> addr, u32 mask, u8 data) >>>> rtw_write8(rtwdev, addr, set); >>>> } >>>> >>>> +#define rr8(addr) rtw_read8(rtwdev, addr) >>>> +#define rr16(addr) rtw_read16(rtwdev, addr) >>>> +#define rr32(addr) rtw_read32(rtwdev, addr) >>> >>> For me these macros reduce code readability, not improve anything. They >>> hide the use of rtwdev variable, which is evil, and a name like rr8() is >>> just way too vague. Please keep the original function names as is. >> >> The inspiration is from another driver. >> readx_poll_timeout macro only takes one argument for the op. >> Some other drivers have their own poll_timeout implementation, >> and I guess it makes sense to make one specific for rtw88. > > I'm not even understanding the problem you are tying to fix with these > macros. The upstream philosopyhy is to have the source code readable and > maintainable, not to use minimal number of characters. There's a reason > why we don't name our functions a(), b(), c() and so on. The current h2c polling doesn't have delay between each interval, so the polling is too fast and the following logic considers it's a timeout. The readx_poll_timeout() macro provides a generic mechanism to setup an interval delay and timeout which is what we need here. However readx_poll_timeout only accepts one parameter which usually is memory address, while we need to pass both rtwdev and address. So if hiding rtwdev is evil, we can roll our own variant of readx_poll_timeout() to make the polling readable. Kai-Heng > > -- > https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches