lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <YzqiiG/E+Bs1pbdy@kuha.fi.intel.com> Date: Mon, 3 Oct 2022 11:51:20 +0300 From: Heikki Krogerus <heikki.krogerus@...ux.intel.com> To: Wayne Chang <waynec@...dia.com> Cc: gregkh@...uxfoundation.org, Sanket.Goswami@....com, singhanc@...dia.com, linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org Subject: Re: [PATCH v2 1/1] usb: typec: ucsi_ccg: Disable UCSI ALT support on Tegra On Wed, Sep 28, 2022 at 11:08:40PM +0800, Wayne Chang wrote: > From: Sing-Han Chen <singhanc@...dia.com> > > Firmware built for Tegra doesn't support UCSI ALT command and has known > issue of reporting wrong capability info. > > This commit disables UCSI ALT support when reading the capability on > Tegra. > > Signed-off-by: Sing-Han Chen <singhanc@...dia.com> > Signed-off-by: Wayne Chang <waynec@...dia.com> Acked-by: Heikki Krogerus <heikki.krogerus@...ux.intel.com> > --- > V1 -> V2: updated the commit message and removed the unnecessary changes for RTX > We are now enabling the NVIDIA Tegra products on upstream kernel. > The change is to add the Cypress cypd 4226 support for NVIDA Tegra > products including Xavier AGX, Xavier Orin and the upcoming products. > The Cypress cypd4226 is not enabled in current kernel codebase. > And thus, we shall not need it for stable kernels and backporting > > drivers/usb/typec/ucsi/ucsi_ccg.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c b/drivers/usb/typec/ucsi/ucsi_ccg.c > index 5c0bf48be766..cbd93f893e48 100644 > --- a/drivers/usb/typec/ucsi/ucsi_ccg.c > +++ b/drivers/usb/typec/ucsi/ucsi_ccg.c > @@ -125,6 +125,11 @@ struct version_format { > #define CCG_FW_BUILD_NVIDIA (('n' << 8) | 'v') > #define CCG_OLD_FW_VERSION (CCG_VERSION(0x31) | CCG_VERSION_PATCH(10)) > > +/* Firmware for Tegra doesn't support UCSI ALT command, built > + * for NVIDIA has known issue of reporting wrong capability info > + */ > +#define CCG_FW_BUILD_NVIDIA_TEGRA (('g' << 8) | 'n') > + > /* Altmode offset for NVIDIA Function Test Board (FTB) */ > #define NVIDIA_FTB_DP_OFFSET (2) > #define NVIDIA_FTB_DBG_OFFSET (3) > @@ -513,6 +518,7 @@ static int ucsi_ccg_read(struct ucsi *ucsi, unsigned int offset, > { > struct ucsi_ccg *uc = ucsi_get_drvdata(ucsi); > u16 reg = CCGX_RAB_UCSI_DATA_BLOCK(offset); > + struct ucsi_capability *cap; > struct ucsi_altmode *alt; > int ret; > > @@ -536,6 +542,12 @@ static int ucsi_ccg_read(struct ucsi *ucsi, unsigned int offset, > ucsi_ccg_nvidia_altmode(uc, alt); > } > break; > + case UCSI_GET_CAPABILITY: > + if (uc->fw_build == CCG_FW_BUILD_NVIDIA_TEGRA) { > + cap = val; > + cap->features &= ~UCSI_CAP_ALT_MODE_DETAILS; > + } > + break; > default: > break; > } thanks, -- heikki
Powered by blists - more mailing lists