From nobody Sun Apr 5 13:15:54 2026 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F75F3DD533 for ; Tue, 24 Mar 2026 12:16:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774354577; cv=none; b=Rh9sxDYZw1C8olQtiKILL0A4H68SvpQXB9Pm/Ne8wbvcXyq+7xrgTKWgTq6xG6s2RwsFhCwMGv7I98smwcatURMDy4jSuCF0Jr/rU11mcNqWvDrBSwGZuBbdO1hsXW8JTCkN79jrtTAv2chLKItTiEb6/h7WAU1+hHwDMb/KF64= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774354577; c=relaxed/simple; bh=hEfF5W4oxX/fqDeA9TTMSfWjXJiIH2rMu+fLN7mIz5U=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Cq8A2lQTjgLuE1+/hUv6qFez9Sc559gvBg71aGoeXGVgZ3dzNWNpaVjRIR+ehkgvM8PasG6dJiXNHZ1Ryc0LddfwTMC5bhSMqT/zjekNoIhuZbnuWnJ9sRjnAoYzg5mV4sWMSmnC/8RLQC/x4e3sfLGUUVsLkUk8p4/AqJWdohM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kSMGyQkx; arc=none smtp.client-ip=209.85.128.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kSMGyQkx" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-486b96760easo11008535e9.2 for ; Tue, 24 Mar 2026 05:16:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774354574; x=1774959374; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=4cOxEkIZIj6Xg1xsxLA1DjkGW5e6LCK9Hqybd5NbOHw=; b=kSMGyQkxczvfdR8ax1E1WJWF4YEMk6Z6uqpvzwSFlWsbu30Mwzgg0ycv/+/fFbbUv+ 8qlx2ya5xktzCX9rROIawx8L0EpDsvsyGjilrxhHvqtUrWSMpvc62OFA6hXUhy1WIdap Ib3uc4Wn9I/q9F60jNiE+jsghcx+yu3yZHeNG96nxR+e1x6213SR78URAtfoeXewbpUy YdGq/Q09aEXSCtRi0T1+hrO0kPGizR2wuN+qfG2RHbWNpIweCNqLiXxcE1wgijhwb4aM f2LoYl6OmAVOfN/HUpCKs3jmy6mdbpWkSEOeidiipuNavlsxrLX7CtV0UHL6+GlBUVLk N/GA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774354574; x=1774959374; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=4cOxEkIZIj6Xg1xsxLA1DjkGW5e6LCK9Hqybd5NbOHw=; b=X7WpSmK5hZu1V6ANqBtijW+QsBCj4VijjoOH21YB4c1dhFm3pWCE10S/ab7wvpAgCs 5yLdJiyrLrHXVYAfqx7BCPPQkO1oSkDoHmktaEVWLRsxmP1ylwsJKFbwvFgGit3216PT oz9KG+Mr5iYUnHiw1GVtv/5E2Rpz2w4Oy+RmngQ8qF9gAbAGHuC0cBgr7bCbxHAHiotK KWvJXz5eLmRcnEql9xQk8elAh1R8CCG3RmroxuAKDw+lFayFMwwGCLfYxiYuo6G//oAg akN2TcY6w8Lt38yMn4jEBYyzt5i5XUWDkww4J7gRJGP4nqZnbYyRUqJRt+ZuLLNDfi0f fGsA== X-Forwarded-Encrypted: i=1; AJvYcCVz/KsLNs9cb9M7UwxOhD/7CyHGD+5Q/Fs0SR8JnMNXg5ldqcZC217QmW+xbbRynmh8Xzp/fYnyHXAH7tc=@vger.kernel.org X-Gm-Message-State: AOJu0YwEXmbuP+wLs2gKSghYuzU6FHUCBEcBxLFaEIpqJuj4C7gfsq2h NPRFhMTwviqI34zXB268gWDrpfKT24pil2DWBhmmZld7iSOBFRGYS6CP X-Gm-Gg: ATEYQzyVlkVhVVWOyy80UqBCi96C5m4Jck/Z2+r8ZhtoTXDuB0Gi2YFn1rg2CQZbBuR kFJ9WrRhsPU3TCA401PL+zfVgCqE0bzA45f/nPZvgLh2QY7GGs5gICu7orR5Uycd/p5P3SuDn+n 2wgY2P8Czvb46iiEbaIwcvaSmB0DysMaNopNA05QEsxYFuAvgW6fjUDHsW8XD2eSj4uejqSf4xf XdpknZMqDa+TRcEcT26fWhwQvfkNcWG1VX+ej6Oq8D8V7AZ4VHYZzKDHMnKljCU5yG51CWFh+AL v0613gjeAHSluNlBoPkx7/CxEYdPNdsQ4T53aSX5WFF40y7GfrqVfnK08e7Jj2FUgzxORKWw0mb M54vkWGRqk7/1wwxcBBDYBy2k1TK1EkRlrUMPfHrZ44JOb8eJAHOlpbYWAan+OZT+L/gxsB2tvI Btx79nH63kg6K6EYR/KbdruxetyHZMuXdczoK2VIWApXuWBn/6TU6poySxz1Cd+GS2/bKwuNBue GLhkBCzsvXsBzKvJhT1vB45he+O1ybgybO8Eg== X-Received: by 2002:a05:600c:608c:b0:487:1114:d42f with SMTP id 5b1f17b1804b1-4871114d526mr30660865e9.1.1774354574154; Tue, 24 Mar 2026 05:16:14 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:439a:df4c:8bc2:631b]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-487110b5589sm17744405e9.26.2026.03.24.05.16.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 05:16:13 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Yoshihiro Shimoda , Vinod Koul , Neil Armstrong , Geert Uytterhoeven , Magnus Damm , Pavel Machek Cc: linux-renesas-soc@vger.kernel.org, linux-phy@lists.infradead.org, linux-kernel@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH] phy: renesas: rcar-gen3-usb2: Simplify ID/VBUS detection logic Date: Tue, 24 Mar 2026 12:16:08 +0000 Message-ID: <20260324121608.3444943-1-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Read the USB2_ADPCTRL register once in rcar_gen3_check_id() and reuse the value instead of performing multiple MMIO reads. Simplify the return logic by comparing the IDDIG and VBUSVALID bits directly. This preserves the existing behaviour while improving code clarity and avoiding redundant register accesses. Reported-by: Pavel Machek Closes: https://lore.kernel.org/all/acJV-Xq-2uq_JFMn@duo.ucw.cz/ Signed-off-by: Lad Prabhakar --- Note, patch applies on top of next-20260323. --- drivers/phy/renesas/phy-rcar-gen3-usb2.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas= /phy-rcar-gen3-usb2.c index 79e820e2fe55..74d7561dbf79 100644 --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c @@ -314,13 +314,14 @@ static void rcar_gen3_init_from_a_peri_to_a_host(stru= ct rcar_gen3_chan *ch) static bool rcar_gen3_check_id(struct rcar_gen3_chan *ch) { if (ch->phy_data->vblvl_ctrl) { + u32 val =3D readl(ch->base + USB2_ADPCTRL); bool vbus_valid; bool device; =20 - device =3D !!(readl(ch->base + USB2_ADPCTRL) & USB2_ADPCTRL_IDDIG); - vbus_valid =3D !!(readl(ch->base + USB2_ADPCTRL) & USB2_ADPCTRL_VBUSVALI= D); + device =3D !!(val & USB2_ADPCTRL_IDDIG); + vbus_valid =3D !!(val & USB2_ADPCTRL_VBUSVALID); =20 - return vbus_valid ? device : !device; + return device =3D=3D vbus_valid; } =20 if (!ch->uses_otg_pins) --=20 2.53.0