From nobody Sun May 10 15:05:39 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 45583C433EF for ; Sun, 1 May 2022 19:12:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1352146AbiEATQB (ORCPT ); Sun, 1 May 2022 15:16:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56108 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243750AbiEATPy (ORCPT ); Sun, 1 May 2022 15:15:54 -0400 Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com [IPv6:2a00:1450:4864:20::629]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 88CDD3B285 for ; Sun, 1 May 2022 12:12:27 -0700 (PDT) Received: by mail-ej1-x629.google.com with SMTP id kq17so24359968ejb.4 for ; Sun, 01 May 2022 12:12:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=date:from:to:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=K5sAjOjXvlka5n0wtB6ed8J2qZIqF9rJOXwWBP4pWf8=; b=I6A4D++r3MlMConrbLk1uVWYkQ4yEbL74nyKsE3s4wrK9npG5wM66Qw8Ei9GJ9Ai6f 7g1xAkmVKZVCIccpCc5YoSOjakC1L7+ApfffQOZLIvPwFqRYvIYb/UoeRR7ObOC8vitf 88SqNlW9FqJCFkdX/8K9ujU98O6xckKB7j4l2f0HEw2OkQkZkIHg9PGMhl6IG+CiKhHS 1hryevwOsjUYlfWz4WFNhCgxkIhWEsmOW+6A8eCFTlssn+e3cU8c37c1RjWjWleoKzYV RPlajvj/m8K8qxZ1OXE4ytRj/zHiPw0s0jbG9Wfj5JDYCUMgKKvPiIuZi/1NU+xaA4Y4 8TFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=K5sAjOjXvlka5n0wtB6ed8J2qZIqF9rJOXwWBP4pWf8=; b=sUCxMmV+wiXYTnkPjdD1CubKEjDW+q20ljgbaqCJPSC4AZ9g36l8LnHtPBwSQXeI7b nfj1ipzuz4CKOjyZqdsRLZCiFOoIsDKOsUR+JS8NJYX80c9Xdhfr/pX2sG96fiL3DQI9 q7DoHl7w234p9YJv5mZnP3TtaywRBImZxUhxab87y5F2lbTgCUJ/698EReAB73h0Ff5I QhzbYso66HOK8czyZKbrrKm4W+SSE7oJJ9NWgRE9sGQbYsSMjyRadIWIkIozbMdAkSEj neX0cMrS/3FvZu2Wbe9gH/b5FMu5lyE3V4kzrhxSIXeWxIPImtoSXnmneWch0nrarGKr yxEA== X-Gm-Message-State: AOAM531tz4GNHZ+joID/pM8V2h/Q5AOANw00FTiqO4G26puUrd7HBW9R XfNMrSNlAAlq3EDmsv3bQ2btSKtwRuB4Sw== X-Google-Smtp-Source: ABdhPJweRtvsKp/Pht5YxwI6bOBZCEmCm/G8kKuhjQ0gougFXMhtLhtO5+OUYzwFuauTAfd1Vci0AQ== X-Received: by 2002:a17:907:da7:b0:6df:9ff4:10c7 with SMTP id go39-20020a1709070da700b006df9ff410c7mr8319382ejc.106.1651432346035; Sun, 01 May 2022 12:12:26 -0700 (PDT) Received: from matrix-ESPRIMO-P710 (p54a074e9.dip0.t-ipconnect.de. [84.160.116.233]) by smtp.gmail.com with ESMTPSA id hv6-20020a17090760c600b006f3ef214e34sm2833130ejc.154.2022.05.01.12.12.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 01 May 2022 12:12:25 -0700 (PDT) Date: Sun, 1 May 2022 21:12:23 +0200 From: Philipp Hortmann To: Forest Bond , Greg Kroah-Hartman , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, David Laight Subject: [PATCH v5 1/2] staging: vt6655: Replace VNSvInPortD with ioread32 Message-ID: <3945d32053898e5f9771d6f742ae118ca56943ce.1651431640.git.philipp.g.hortmann@gmail.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Replace macro VNSvInPortD with ioread32 and as it was the only user, it can now be removed. The name of macro and the arguments use CamelCase which is not accepted by checkpatch.pl Reported-by: kernel test robot Signed-off-by: Philipp Hortmann --- V1 -> V2: This patch was 5/7 and is now 4/6 V2 -> V3: Inserted patch that was before in a different way in "Rename macros VNSvInPortB,W,D with CamelCase ..." This patch was part of 4/6 and is now 3/7 V3 -> V4: Removed casting of the output variable V4 -> V5: Joint patch "Replace two VNSvInPortD with ioread64_lo_hi" with this patch. Changed ioread64 to two ioread32 as ioread64 does not work with 32 Bit computers. Shorted and simplified patch description. V5 -> V6: Added missing version in subject V6 -> V7: Added below testing example V7 -> V8: No changes Code for testing: u32 high, low; VNSvInPortD(iobase + MAC_REG_TSFCNTR, (u32 *)pqwCurrTSF); VNSvInPortD(iobase + MAC_REG_TSFCNTR + 4, (u32 *)pqwCurrTSF + 1); dev_info(&priv->pcid->dev, "CARDbGetCurrentTSF *pqwCurrTSF from VNSvInPort= D: 0x%016llx", *pqwCurrTSF); low =3D ioread32(iobase + MAC_REG_TSFCNTR); high =3D ioread32(iobase + MAC_REG_TSFCNTR + 4); *pqwCurrTSF =3D low + ((u64)high << 32); dev_info(&priv->pcid->dev, "CARDbGetCurrentTSF *pqwCurrTSF from ioread32: = 0x%016llx", *pqwCurrTSF); Log from testing: vt6655 0000:01:05.0: CARDbGetCurrentTSF *pqwCurrTSF from VNSvInPortD: 0x000= 0000d c025dd7c vt6655 0000:01:05.0: CARDbGetCurrentTSF *pqwCurrTSF from ioread32: 0x000= 0000d c025dd7c vt6655 0000:01:05.0: CARDbGetCurrentTSF *pqwCurrTSF from VNSvInPortD: 0x000= 0000d c025dd8a vt6655 0000:01:05.0: CARDbGetCurrentTSF *pqwCurrTSF from ioread32: 0x000= 0000d c025dd8a --- drivers/staging/vt6655/card.c | 6 ++++-- drivers/staging/vt6655/device_main.c | 6 +++--- drivers/staging/vt6655/mac.h | 18 +++++++++--------- drivers/staging/vt6655/rf.c | 2 +- drivers/staging/vt6655/upc.h | 3 --- 5 files changed, 17 insertions(+), 18 deletions(-) diff --git a/drivers/staging/vt6655/card.c b/drivers/staging/vt6655/card.c index 022310af5485..0dd13e475d6b 100644 --- a/drivers/staging/vt6655/card.c +++ b/drivers/staging/vt6655/card.c @@ -744,6 +744,7 @@ bool CARDbGetCurrentTSF(struct vnt_private *priv, u64 *= pqwCurrTSF) void __iomem *iobase =3D priv->port_offset; unsigned short ww; unsigned char data; + u32 low, high; =20 MACvRegBitsOn(iobase, MAC_REG_TFTCTL, TFTCTL_TSFCNTRRD); for (ww =3D 0; ww < W_MAX_TIMEOUT; ww++) { @@ -753,8 +754,9 @@ bool CARDbGetCurrentTSF(struct vnt_private *priv, u64 *= pqwCurrTSF) } if (ww =3D=3D W_MAX_TIMEOUT) return false; - VNSvInPortD(iobase + MAC_REG_TSFCNTR, (u32 *)pqwCurrTSF); - VNSvInPortD(iobase + MAC_REG_TSFCNTR + 4, (u32 *)pqwCurrTSF + 1); + low =3D ioread32(iobase + MAC_REG_TSFCNTR); + high =3D ioread32(iobase + MAC_REG_TSFCNTR + 4); + *pqwCurrTSF =3D low + ((u64)high << 32); =20 return true; } diff --git a/drivers/staging/vt6655/device_main.c b/drivers/staging/vt6655/= device_main.c index c21787f32252..12fd825c23fe 100644 --- a/drivers/staging/vt6655/device_main.c +++ b/drivers/staging/vt6655/device_main.c @@ -1029,7 +1029,7 @@ static void vnt_interrupt_process(struct vnt_private = *priv) u32 isr; unsigned long flags; =20 - VNSvInPortD(priv->port_offset + MAC_REG_ISR, &isr); + isr =3D ioread32(priv->port_offset + MAC_REG_ISR); =20 if (isr =3D=3D 0) return; @@ -1042,7 +1042,7 @@ static void vnt_interrupt_process(struct vnt_private = *priv) spin_lock_irqsave(&priv->lock, flags); =20 /* Read low level stats */ - VNSvInPortD(priv->port_offset + MAC_REG_MIBCNTR, &mib_counter); + mib_counter =3D ioread32(priv->port_offset + MAC_REG_MIBCNTR); =20 low_stats->dot11RTSSuccessCount +=3D mib_counter & 0xff; low_stats->dot11RTSFailureCount +=3D (mib_counter >> 8) & 0xff; @@ -1116,7 +1116,7 @@ static void vnt_interrupt_process(struct vnt_private = *priv) ieee80211_queue_stopped(priv->hw, 0)) ieee80211_wake_queues(priv->hw); =20 - VNSvInPortD(priv->port_offset + MAC_REG_ISR, &isr); + isr =3D ioread32(priv->port_offset + MAC_REG_ISR); =20 MACvReceive0(priv->port_offset); MACvReceive1(priv->port_offset); diff --git a/drivers/staging/vt6655/mac.h b/drivers/staging/vt6655/mac.h index 5aaa0de20e67..5b684194745c 100644 --- a/drivers/staging/vt6655/mac.h +++ b/drivers/staging/vt6655/mac.h @@ -618,7 +618,7 @@ do { \ #define MACvReceive0(iobase) \ do { \ unsigned long dwData; \ - VNSvInPortD(iobase + MAC_REG_RXDMACTL0, &dwData); \ + dwData =3D ioread32(iobase + MAC_REG_RXDMACTL0); \ if (dwData & DMACTL_RUN) \ VNSvOutPortD(iobase + MAC_REG_RXDMACTL0, DMACTL_WAKE); \ else \ @@ -628,7 +628,7 @@ do { \ #define MACvReceive1(iobase) \ do { \ unsigned long dwData; \ - VNSvInPortD(iobase + MAC_REG_RXDMACTL1, &dwData); \ + dwData =3D ioread32(iobase + MAC_REG_RXDMACTL1); \ if (dwData & DMACTL_RUN) \ VNSvOutPortD(iobase + MAC_REG_RXDMACTL1, DMACTL_WAKE); \ else \ @@ -638,7 +638,7 @@ do { \ #define MACvTransmit0(iobase) \ do { \ unsigned long dwData; \ - VNSvInPortD(iobase + MAC_REG_TXDMACTL0, &dwData); \ + dwData =3D ioread32(iobase + MAC_REG_TXDMACTL0); \ if (dwData & DMACTL_RUN) \ VNSvOutPortD(iobase + MAC_REG_TXDMACTL0, DMACTL_WAKE); \ else \ @@ -648,7 +648,7 @@ do { \ #define MACvTransmitAC0(iobase) \ do { \ unsigned long dwData; \ - VNSvInPortD(iobase + MAC_REG_AC0DMACTL, &dwData); \ + dwData =3D ioread32(iobase + MAC_REG_AC0DMACTL); \ if (dwData & DMACTL_RUN) \ VNSvOutPortD(iobase + MAC_REG_AC0DMACTL, DMACTL_WAKE); \ else \ @@ -684,7 +684,7 @@ do { \ #define MACvEnableProtectMD(iobase) \ do { \ unsigned long dwOrgValue; \ - VNSvInPortD(iobase + MAC_REG_ENCFG, &dwOrgValue); \ + dwOrgValue =3D ioread32(iobase + MAC_REG_ENCFG); \ dwOrgValue =3D dwOrgValue | ENCFG_PROTECTMD; \ VNSvOutPortD(iobase + MAC_REG_ENCFG, dwOrgValue); \ } while (0) @@ -692,7 +692,7 @@ do { \ #define MACvDisableProtectMD(iobase) \ do { \ unsigned long dwOrgValue; \ - VNSvInPortD(iobase + MAC_REG_ENCFG, &dwOrgValue); \ + dwOrgValue =3D ioread32(iobase + MAC_REG_ENCFG); \ dwOrgValue =3D dwOrgValue & ~ENCFG_PROTECTMD; \ VNSvOutPortD(iobase + MAC_REG_ENCFG, dwOrgValue); \ } while (0) @@ -700,7 +700,7 @@ do { \ #define MACvEnableBarkerPreambleMd(iobase) \ do { \ unsigned long dwOrgValue; \ - VNSvInPortD(iobase + MAC_REG_ENCFG, &dwOrgValue); \ + dwOrgValue =3D ioread32(iobase + MAC_REG_ENCFG); \ dwOrgValue =3D dwOrgValue | ENCFG_BARKERPREAM; \ VNSvOutPortD(iobase + MAC_REG_ENCFG, dwOrgValue); \ } while (0) @@ -708,7 +708,7 @@ do { \ #define MACvDisableBarkerPreambleMd(iobase) \ do { \ unsigned long dwOrgValue; \ - VNSvInPortD(iobase + MAC_REG_ENCFG, &dwOrgValue); \ + dwOrgValue =3D ioread32(iobase + MAC_REG_ENCFG); \ dwOrgValue =3D dwOrgValue & ~ENCFG_BARKERPREAM; \ VNSvOutPortD(iobase + MAC_REG_ENCFG, dwOrgValue); \ } while (0) @@ -716,7 +716,7 @@ do { \ #define MACvSetBBType(iobase, byTyp) \ do { \ unsigned long dwOrgValue; \ - VNSvInPortD(iobase + MAC_REG_ENCFG, &dwOrgValue); \ + dwOrgValue =3D ioread32(iobase + MAC_REG_ENCFG); \ dwOrgValue =3D dwOrgValue & ~ENCFG_BBTYPE_MASK; \ dwOrgValue =3D dwOrgValue | (unsigned long)byTyp; \ VNSvOutPortD(iobase + MAC_REG_ENCFG, dwOrgValue); \ diff --git a/drivers/staging/vt6655/rf.c b/drivers/staging/vt6655/rf.c index 4498c9d400f2..036f48572334 100644 --- a/drivers/staging/vt6655/rf.c +++ b/drivers/staging/vt6655/rf.c @@ -175,7 +175,7 @@ bool IFRFbWriteEmbedded(struct vnt_private *priv, unsig= ned long dwData) =20 /* W_MAX_TIMEOUT is the timeout period */ for (ww =3D 0; ww < W_MAX_TIMEOUT; ww++) { - VNSvInPortD(iobase + MAC_REG_IFREGCTL, &dwValue); + dwValue =3D ioread32(iobase + MAC_REG_IFREGCTL); if (dwValue & IFREGCTL_DONE) break; } diff --git a/drivers/staging/vt6655/upc.h b/drivers/staging/vt6655/upc.h index 4d09cf18ebe0..a5b74aaadcd3 100644 --- a/drivers/staging/vt6655/upc.h +++ b/drivers/staging/vt6655/upc.h @@ -20,9 +20,6 @@ =20 /* For memory mapped IO */ =20 -#define VNSvInPortD(dwIOAddress, pdwData) \ - (*(pdwData) =3D ioread32(dwIOAddress)) - #define VNSvOutPortB(dwIOAddress, byData) \ iowrite8((u8)(byData), dwIOAddress) =20 --=20 2.25.1 From nobody Sun May 10 15:05:39 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6DA5CC4332F for ; Sun, 1 May 2022 19:12:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1352661AbiEATQH (ORCPT ); Sun, 1 May 2022 15:16:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56436 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1351162AbiEATP7 (ORCPT ); Sun, 1 May 2022 15:15:59 -0400 Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com [IPv6:2a00:1450:4864:20::52e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E4A0A3B286 for ; Sun, 1 May 2022 12:12:32 -0700 (PDT) Received: by mail-ed1-x52e.google.com with SMTP id b24so14519256edu.10 for ; Sun, 01 May 2022 12:12:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=date:from:to:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=fPAKDdmXBdJMtKsOYAMIgR2qPey6myfkQrqj9b4T7kQ=; b=mquq9QDLG4YQOQw2YK+tNZ2CxsDVKs3CmJhirS48PnPHpp38tJ0nAO/MIqZSdSui91 6i5LHa/1z8+17KK9I3vtIn9xbWcl1QobgNjyK1oQMbhAJ3s+i2oJ7eg3zRSyIVsC6dbe 1sjDsWDM5Bb3Jjv/b1NgU76wlZLdR0E7Pxz/xTafM0eGhdTtAvqXePltZ+GUVEpkUv5c h3z/Ic1/FcfXR8ry9H+38muP0OVNSU7tixPCkb7ufDrNB+ZiiMY8lTBBvuqkzepM3fV5 TZuffIg9iBV1Lh2koMDFCFBScJxfIOHBHL9QdzjuBAaXaZwNz8D3E1gp3yT/S7N9psph eXYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=fPAKDdmXBdJMtKsOYAMIgR2qPey6myfkQrqj9b4T7kQ=; b=3CpXF8M7JTzkK/sMd7BN7StyZeZNrY8TKp2kJkEWEuqq9IvOgYdBlXWD+0KE9cDNVa rF3H6EtnUOHnFCnN9iuyPrKv0SrFX3vmRDsjsDVg9EisAYJjDT7KNartryPcK4HWHgy5 Xp6gXSRNlPvG6zSqFZVlrSx9PGiI/gmrGjTabA0uE2Rp/StxZyuXGkA2Cg0mXwON4KUL jM2XU0AOEMZ6c5Y54p0/vZps/zhGVfwzrhGP43Gh5Tdun13VhgsNFiLqkmWR5w7q/qJJ QJzhyDwBiRhQz6HM55fk8PSH6lyZxY2R7p17dzyPq9ZPrN2f58xscnqtfxaEwl14jvVF JwpA== X-Gm-Message-State: AOAM531iWbZplvSBEo2SiX8g5obyxs7VHmIBOUWouyBV3sqPEhCeGHKX hQ6OmwLTk7tcbmQ9DAmJuaw= X-Google-Smtp-Source: ABdhPJxaCrSAlgVDTRM9GNIuugZBy6CEehr31k/z44uPq8PcEaHBQ1LTDi8j/KGg1Glqfh/ocGQs4w== X-Received: by 2002:a05:6402:27c9:b0:427:ba7f:6288 with SMTP id c9-20020a05640227c900b00427ba7f6288mr4332277ede.416.1651432351503; Sun, 01 May 2022 12:12:31 -0700 (PDT) Received: from matrix-ESPRIMO-P710 (p54a074e9.dip0.t-ipconnect.de. [84.160.116.233]) by smtp.gmail.com with ESMTPSA id hv6-20020a17090760c600b006f3ef214e34sm2833206ejc.154.2022.05.01.12.12.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 01 May 2022 12:12:31 -0700 (PDT) Date: Sun, 1 May 2022 21:12:29 +0200 From: Philipp Hortmann To: Forest Bond , Greg Kroah-Hartman , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, David Laight Subject: [PATCH v5 2/2] staging: vt6655: Added missing BE support in CARDbGetCurrentTSF Message-ID: <25c80e3eb889ef2e530f26b4a97a9f5fe88e01ab.1651431640.git.philipp.g.hortmann@gmail.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Added missing big-endian support in CARDbGetCurrentTSF. Reported-by: David Laight Signed-off-by: Philipp Hortmann --- V1 -> V2: Replaced #ifdef __BIG_ENDIAN with le64_to_cpu() Updated below example Code for testing: low =3D ioread32(iobase + MAC_REG_TSFCNTR); high =3D ioread32(iobase + MAC_REG_TSFCNTR + 4); *pqwCurrTSF =3D le64_to_cpu(low + ((u64)high << 32)); dev_info(&priv->pcid->dev, "CARDbGetCurrentTSF little endian: 0x%016llx", *= pqwCurrTSF); dev_info(&priv->pcid->dev, "CARDbGetCurrentTSF big-endian: 0x%016llx", b= e64_to_cpu(low + ((u64)high << 32))); Log of the microsecond counter: vt6655 0000:01:05.0: CARDbGetCurrentTSF little endian: 0x00 00 00 03 6a ce = 0d 7d vt6655 0000:01:05.0: CARDbGetCurrentTSF big-endian: 0x7d 0d ce 6a 03 00 = 00 00 vt6655 0000:01:05.0: CARDbGetCurrentTSF little endian: 0x00 00 00 03 6a ce = 0d 89 vt6655 0000:01:05.0: CARDbGetCurrentTSF big-endian: 0x89 0d ce 6a 03 00 = 00 00 --- drivers/staging/vt6655/card.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/vt6655/card.c b/drivers/staging/vt6655/card.c index 0dd13e475d6b..431890e6b8d2 100644 --- a/drivers/staging/vt6655/card.c +++ b/drivers/staging/vt6655/card.c @@ -756,7 +756,7 @@ bool CARDbGetCurrentTSF(struct vnt_private *priv, u64 *= pqwCurrTSF) return false; low =3D ioread32(iobase + MAC_REG_TSFCNTR); high =3D ioread32(iobase + MAC_REG_TSFCNTR + 4); - *pqwCurrTSF =3D low + ((u64)high << 32); + *pqwCurrTSF =3D le64_to_cpu(low + ((u64)high << 32)); =20 return true; } --=20 2.25.1