From nobody Tue Apr 7 18:47:00 2026 Received: from mail-vs1-f54.google.com (mail-vs1-f54.google.com [209.85.217.54]) (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 58E133921DD for ; Fri, 27 Feb 2026 05:36:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.217.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772170579; cv=none; b=RGVL8s6duh3VnO8oGboDFabkgErycv/ZYmmRPmMjJM99wpAnBylHMGQqxI0XLOGzrVDJP3pxeH/pT6D/xXrt0UYr3uUnsC4TmX4T0pgCK2reHqZsOjy+QcBYz1MuL/LlkVNix1eyy9Y1By8BzdxK/QmK/IJ5OwOLiiDvz67lvGA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772170579; c=relaxed/simple; bh=kPfTUrEw1DJYMp4hBuNTOxzjcE1/QMxV+oH3eKs6vQE=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=KBJDbQqIEPKc6arlA/RUvauT8YBkFXbpVshIfNZY8/E67xT9PR+XQ1ei5arGAhSESqc+8cniBKSSAsf0j29vsN54ZICe9IqTvj0g3RtscSNMchdvX4q5oiJOd2334FmQVjXZfHXwpD/O6XTybBh9H62zzKAT0Dkz2G3UV6AQn+4= 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=B2prSChC; arc=none smtp.client-ip=209.85.217.54 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="B2prSChC" Received: by mail-vs1-f54.google.com with SMTP id ada2fe7eead31-5ff07cb35f2so892063137.3 for ; Thu, 26 Feb 2026 21:36:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772170577; x=1772775377; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=mnj0Ip5rhMpZWME92U2V18suyVnTB8PfAkHzESqzgSg=; b=B2prSChCZxrbO+UmuAQpBDeDSlEV/2ka9gKSBZTrDv7JOfpGVlNfC+1a6rXnl0VO66 eCdgFthrDS/6G2a2v0+DhDGqCP/6A7N6lOSJZHpJmCqTmideww7j0mo3mO1L9O/GVSV6 8zUBG5kfJvA8id/lgYWmtN6ic4QrSPuDZXzcM7CdzIuqyipjdJ4WsEAIFN3TdwbJPfCA OXTCz0BWM/xuHzJqD57qRV49d6h9YFkPzzqdr4mX7BGckZvnr7Jyd7iu9Y4X4qvvxMyP Fa5Rfv1H0AhwBWhrbhsAinb09LeD9T+tDK60UY7KanM1Hf/uVAVfVTCXe0pKqStMc68E ELGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772170577; x=1772775377; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mnj0Ip5rhMpZWME92U2V18suyVnTB8PfAkHzESqzgSg=; b=doQf7aZspQY3uYCTbITZ6k/5eyvb54YqZ4RMkzwtL1tg8sUwiZVwrbr/cdXqnJSHWs Uo8YxYBUrOtvWUX1BmvBv6Qk38RKLMCuowup9sd4uydlVOV8HHWjxIMnV8b3UR/krEC7 nnQt6t6r1q8Qbdg6zselF+cWqaifDpVUNoKNh8raaJPxD59rFhAcqXcBOhoMOOYbqkMr AFeT/DoW/h2lXTssyKJCgnWBJ1kMRRGC+bEZl+KyAfKISUMUfDv5+J3bZTPvBYe6cm9/ zMeWOC///kMMe7RDyEKJA2ODWivZW1Ej03pOVa49J68FndrFR7LMIfWs3xw6NzCHayDW xaYw== X-Forwarded-Encrypted: i=1; AJvYcCXNdbNwnlqu6B200cHz1BNuizcBQ/7IofpA4DFqiTlDnSy/FXDgySf16di9tJ6YRtcla2GS7+ymKnT6xfQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yz6lmC6Erozr6qbbd8zThaonSDtsr/TksHo05rvu+0Ey63I0fY4 52lIpsOop8YrRr6gQdnmh2PxlfQngbhGr3qCvVqFHy/X1VXr4fc3bf3y X-Gm-Gg: ATEYQzyin7yhZBRuzhtFAb/4HI93gH/6pHJD/XFrs3+iEVb4zGBnYJJ0mJ20qsSPBG4 jBxyzHCPKj+RAbByKXaNagklf2L6pSx3Ob5lMy3Ld9awsYdbEtn6XS8pTLHgBJ3Nb205Zeu+w6u McsfCs+Kkf+LIHz/ptzzlQgG4W1KpTPFiiDI1T+JmDyJiF1Az+ZGYxOLPB4gCCX3YVmGwVoOeqn 8CoLsm9rkK5K7G80vrmpYlFrpj6NgywcriZBs7UwSiPxkfUebf2xN0/EJPY4kis/jQRTu2eMZBx L2SdL8K8JOks89QCzsUqYwqdts1hXZLrbVf8RIpE/uuOEYEtYa4swsvErd9IsAiFNZfEAiv4XDp RrAufN3ErGO6IJQKfRFQtdLZX6Vmc42eQ6N4D1kM7KIcgrKOeKogwpdnTgaZGjM8y4zsQQgxNJg T9Xd05ie9r0Q== X-Received: by 2002:a05:6102:c09:b0:5f7:2655:f2c1 with SMTP id ada2fe7eead31-5ff3235cdd6mr1120359137.13.1772170577277; Thu, 26 Feb 2026 21:36:17 -0800 (PST) Received: from geday ([2804:7f2:800b:feb1::dead:c001]) by smtp.gmail.com with ESMTPSA id ada2fe7eead31-5ff1ea15925sm4631041137.8.2026.02.26.21.36.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Feb 2026 21:36:16 -0800 (PST) Date: Fri, 27 Feb 2026 02:36:10 -0300 From: Geraldo Nascimento To: Shawn Lin , Lorenzo Pieralisi , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas , Heiko Stuebner , Geraldo Nascimento , Dragan Simic Cc: linux-rockchip@lists.infradead.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 2/4] PCI: rockchip: drive at 2.5 GT/s only and error out other speeds Message-ID: <9e3754ee0d1f5bc8051e28e1a5b8c046440456f5.1772169998.git.geraldogabriel@gmail.com> References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Configure the core to be driven at 2.5 GT/s Link Speed and error out on any other speed. The reason is that Shawn Lin from Rockchip has reiterated that there may be danger of "catastrophic failure" in using their PCIe with 5.0 GT/s speeds. While Rockchip has done so informally without issuing a proper errata, and the particulars are thus unknown, this may cause data loss or worse. This change is corroborated by RK3399 official datasheet [1], which states maximum link speed for this platform is 2.5 GT/s. [1] https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet= _V2.1-20200323.pdf Fixes: 956cd99b35a8 ("PCI: rockchip: Separate common code from RC driver") Link: https://lore.kernel.org/all/ffd05070-9879-4468-94e3-b88968b4c21b@rock= -chips.com/ Cc: stable@vger.kernel.org Reported-by: Dragan Simic Reported-by: Shawn Lin Signed-off-by: Geraldo Nascimento --- drivers/pci/controller/pcie-rockchip.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/pci/controller/pcie-rockchip.c b/drivers/pci/controlle= r/pcie-rockchip.c index 0f88da378805..26fc350a66c1 100644 --- a/drivers/pci/controller/pcie-rockchip.c +++ b/drivers/pci/controller/pcie-rockchip.c @@ -66,8 +66,9 @@ int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip) } =20 rockchip->link_gen =3D of_pci_get_max_link_speed(node); - if (rockchip->link_gen < 0 || rockchip->link_gen > 2) - rockchip->link_gen =3D 2; + if (rockchip->link_gen < 0 || rockchip->link_gen >=3D 2) + return dev_err_probe(dev, rockchip->link_gen, + "Invalid Link Speed\n"); =20 for (i =3D 0; i < ROCKCHIP_NUM_PM_RSTS; i++) rockchip->pm_rsts[i].id =3D rockchip_pci_pm_rsts[i]; @@ -147,12 +148,8 @@ int rockchip_pcie_init_port(struct rockchip_pcie *rock= chip) goto err_exit_phy; } =20 - if (rockchip->link_gen =3D=3D 2) - rockchip_pcie_write(rockchip, PCIE_CLIENT_GEN_SEL_2, - PCIE_CLIENT_CONFIG); - else - rockchip_pcie_write(rockchip, PCIE_CLIENT_GEN_SEL_1, - PCIE_CLIENT_CONFIG); + rockchip_pcie_write(rockchip, PCIE_CLIENT_GEN_SEL_1, + PCIE_CLIENT_CONFIG); =20 regs =3D PCIE_CLIENT_ARI_ENABLE | PCIE_CLIENT_CONF_LANE_NUM(rockchip->lanes); --=20 2.52.0