Re: [PATCH v5 07/12] usb: cdns3-ti: add J7200 support with reset-on-resume behavior

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 26/07/2024 21:17, Théo Lebrun wrote:
> Add ti,j7200-usb compatible. Match data indicates the controller resets
> on resume which tells that to the cdns3 core. This in turn silences a
> xHCI warning visible in cases of unexpected resets.
> 
> We also inherit the errata quirk CDNS3_DRD_SUSPEND_RESIDENCY_ENABLE from
> the default `cdns_ti_auxdata` configuration.
> 
> Signed-off-by: Théo Lebrun <theo.lebrun@xxxxxxxxxxx>
> ---
>  drivers/usb/cdns3/cdns3-ti.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/drivers/usb/cdns3/cdns3-ti.c b/drivers/usb/cdns3/cdns3-ti.c
> index 159814dfc856..65b8b6f4c654 100644
> --- a/drivers/usb/cdns3/cdns3-ti.c
> +++ b/drivers/usb/cdns3/cdns3-ti.c
> @@ -258,7 +258,21 @@ static const struct of_dev_auxdata cdns_ti_auxdata[] = {
>  	{},
>  };
>  
> +static struct cdns3_platform_data cdns_ti_j7200_pdata = {
> +	.quirks = CDNS3_RESET_ON_RESUME |

But you mentioned that the behavior can be different based on which
idle state the system went into.
Setting this flag will means Reset is required on every resume.


Instead, you just need to rely on the runtime check and set the xhci->lost_power flag at resume.


> +		  CDNS3_DRD_SUSPEND_RESIDENCY_ENABLE,   /* Errata i2409 */
> +};
> +
> +static const struct of_dev_auxdata cdns_ti_j7200_auxdata[] = {
> +	{
> +		.compatible = "cdns,usb3",
> +		.platform_data = &cdns_ti_j7200_pdata,
> +	},
> +	{},
> +};
> +
>  static const struct of_device_id cdns_ti_of_match[] = {
> +	{ .compatible = "ti,j7200-usb", .data = cdns_ti_j7200_auxdata },
>  	{ .compatible = "ti,j721e-usb", .data = cdns_ti_auxdata },
>  	{ .compatible = "ti,am64-usb", .data = cdns_ti_auxdata },
>  	{},
> 

-- 
cheers,
-roger




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux