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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ