> >The mass storage gadget has one IN and one OUT endpoint. The below (Fixes) >commit aimed to utilize all hardware FIFO to support composited gadget >devices. This resulted in an ep_buf_size of 15 when a single gadget was >enabled, such as the mass storage gadget. > >However, it was found that there are unknown limitations on the imx8qm and >imx8qxp B0 platforms. The device would fail to work if ep_buf_size exceeded >9. > >To resolve this issue, this patch reverts to the old settings used before the >below commit for the imx8qm and imx8qxp B0 platforms. > >Fixes: dce49449e04f ("usb: cdns3: allocate TX FIFO size according to >composite EP number") > >Signed-off-by: Frank Li <Frank.Li@xxxxxxx> >--- > >I hope cdns engineer, such as pawell@xxxxxxxxxxx help identfy the root >cause. >Look like old version ip use more memory then what ep_cfg show. > > drivers/usb/cdns3/cdns3-gadget.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > >diff --git a/drivers/usb/cdns3/cdns3-gadget.c b/drivers/usb/cdns3/cdns3- >gadget.c >index 5adcb349718c..497c8e87dabf 100644 >--- a/drivers/usb/cdns3/cdns3-gadget.c >+++ b/drivers/usb/cdns3/cdns3-gadget.c >@@ -3005,6 +3005,17 @@ static int cdns3_gadget_check_config(struct >usb_gadget *gadget) > priv_dev->ep_buf_size = priv_dev->ep_iso_burst = > (priv_dev->onchip_buffers - 2) / (n_in + 1); > >+ /* >+ * There are unknown hardware limition: when work at super speed >mode, >+ * ep_buffer_size can't bigger than 9 for one IN and OUT case at >i.MX8QM >+ * and i.MX8QXP B0, which report there are 32k memory. >+ * Rollback to original settings for the these chipes. >+ */ >+ if (priv_dev->dev_ver < DEV_VER_V2) { >+ priv_dev->ep_buf_size = min_t(u8, priv_dev->ep_buf_size, 4); >+ priv_dev->ep_iso_burst = min_t(u8, priv_dev->ep_iso_burst, >3); >+ } >+ > return 0; > } I'm not sure whether you have 32KB. I remember that you had a Soc which have only 18KB on-chip memory and value in usb_cap2 was incorrect. It was the reason why the on-chip-buff-size property has been added to driver. Please confirm that you have 32KB, then I will recreate such test on my testing board. Regards, Pawel > >-- >2.34.1