All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felipe Balbi <balbi@kernel.org>
To: Michael Grzeschik <mgr@pengutronix.de>,
	Manish Narani <manish.narani@xilinx.com>
Cc: gregkh@linuxfoundation.org, robh+dt@kernel.org,
	michal.simek@xilinx.com, p.zabel@pengutronix.de,
	devicetree@vger.kernel.org, linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org, git@xilinx.com,
	linux-arm-kernel@lists.infradead.org, kernel@pengutronix.de
Subject: Re: [RESEND PATCH v3 2/2] usb: dwc3: Add driver for Xilinx platforms
Date: Mon, 18 Jan 2021 17:24:38 +0200	[thread overview]
Message-ID: <87r1miuv2h.fsf@kernel.org> (raw)
In-Reply-To: <20210118134223.GE12316@pengutronix.de>


Hi,

Michael Grzeschik <mgr@pengutronix.de> writes:
> On Tue, Dec 15, 2020 at 12:24:51PM +0530, Manish Narani wrote:
>>Add a new driver for supporting Xilinx platforms. This driver is used
>>for some sequence of operations required for Xilinx USB controllers.
>>This driver is also used to choose between PIPE clock coming from SerDes
>>and the Suspend Clock. Before the controller is out of reset, the clock
>>selection should be changed to PIPE clock in order to make the USB
>>controller work. There is a register added in Xilinx USB controller
>>register space for the same.
>
> I tried out this driver with the vanilla kernel on an zynqmp. Without
> this patch the USB-Gadget is already acting buggy. In the gadget mode,
> some iterations of plug/unplug results to an stalled gadget which will
> never come back without a reboot.
>
> With the corresponding code of this driver (reset assert, clk modify,
> reset deassert) in the downstream kernels phy driver we found out it is
> totaly stable. But using this exact glue driver which should do the same
> as the downstream code, the gadget still was buggy the way described
> above.
>
> I suspect the difference lays in the different order of operations.
> While the downstream code is runing the resets inside the phy driver
> which is powered and initialized in the dwc3-core itself. With this glue
> layser approach of this patch the whole phy init is done before even
> touching dwc3-core in any way. It seems not to have the same effect,
> though.
>
> If really the order of operations is limiting us, we probably need
> another solution than this glue layer. Any Ideas?

might be a good idea to collect dwc3 trace events. Can you do that?

-- 
balbi

WARNING: multiple messages have this Message-ID (diff)
From: Felipe Balbi <balbi@kernel.org>
To: Michael Grzeschik <mgr@pengutronix.de>,
	Manish Narani <manish.narani@xilinx.com>
Cc: devicetree@vger.kernel.org, kernel@pengutronix.de,
	gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
	michal.simek@xilinx.com, linux-kernel@vger.kernel.org,
	robh+dt@kernel.org, git@xilinx.com, p.zabel@pengutronix.de,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [RESEND PATCH v3 2/2] usb: dwc3: Add driver for Xilinx platforms
Date: Mon, 18 Jan 2021 17:24:38 +0200	[thread overview]
Message-ID: <87r1miuv2h.fsf@kernel.org> (raw)
In-Reply-To: <20210118134223.GE12316@pengutronix.de>


Hi,

Michael Grzeschik <mgr@pengutronix.de> writes:
> On Tue, Dec 15, 2020 at 12:24:51PM +0530, Manish Narani wrote:
>>Add a new driver for supporting Xilinx platforms. This driver is used
>>for some sequence of operations required for Xilinx USB controllers.
>>This driver is also used to choose between PIPE clock coming from SerDes
>>and the Suspend Clock. Before the controller is out of reset, the clock
>>selection should be changed to PIPE clock in order to make the USB
>>controller work. There is a register added in Xilinx USB controller
>>register space for the same.
>
> I tried out this driver with the vanilla kernel on an zynqmp. Without
> this patch the USB-Gadget is already acting buggy. In the gadget mode,
> some iterations of plug/unplug results to an stalled gadget which will
> never come back without a reboot.
>
> With the corresponding code of this driver (reset assert, clk modify,
> reset deassert) in the downstream kernels phy driver we found out it is
> totaly stable. But using this exact glue driver which should do the same
> as the downstream code, the gadget still was buggy the way described
> above.
>
> I suspect the difference lays in the different order of operations.
> While the downstream code is runing the resets inside the phy driver
> which is powered and initialized in the dwc3-core itself. With this glue
> layser approach of this patch the whole phy init is done before even
> touching dwc3-core in any way. It seems not to have the same effect,
> though.
>
> If really the order of operations is limiting us, we probably need
> another solution than this glue layer. Any Ideas?

might be a good idea to collect dwc3 trace events. Can you do that?

-- 
balbi

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-01-18 15:31 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-15  6:54 [RESEND PATCH v3 0/2] Add a separate DWC3 OF driver for Xilinx platforms Manish Narani
2020-12-15  6:54 ` Manish Narani
2020-12-15  6:54 ` [RESEND PATCH v3 1/2] dt-bindings: usb: dwc3-xilinx: Add documentation for Versal DWC3 Controller Manish Narani
2020-12-15  6:54   ` Manish Narani
2020-12-15  6:54 ` [RESEND PATCH v3 2/2] usb: dwc3: Add driver for Xilinx platforms Manish Narani
2020-12-15  6:54   ` Manish Narani
2020-12-21 18:05   ` Michael Tretter
2020-12-21 18:05     ` Michael Tretter
2021-01-18 13:42   ` Michael Grzeschik
2021-01-18 13:42     ` Michael Grzeschik
2021-01-18 15:24     ` Felipe Balbi [this message]
2021-01-18 15:24       ` Felipe Balbi
2021-01-19 16:39       ` Michael Grzeschik
2021-01-19 16:39         ` Michael Grzeschik
2021-01-22  8:08     ` Michael Grzeschik
2021-01-22  8:08       ` Michael Grzeschik
2021-01-22 13:06       ` Manish Narani
2021-01-22 13:06         ` Manish Narani
2021-01-22 13:34         ` Michael Grzeschik
2021-01-22 13:34           ` Michael Grzeschik
2021-01-27 23:36           ` Michael Grzeschik
2021-01-27 23:36             ` Michael Grzeschik
2021-02-08 23:56             ` Michael Grzeschik
2021-02-08 23:56               ` Michael Grzeschik
2021-02-09  6:01               ` Manish Narani
2021-02-09  6:01                 ` Manish Narani
2021-02-09 20:02                 ` Michael Grzeschik
2021-02-09 20:02                   ` Michael Grzeschik
2021-02-10 12:07                   ` Michael Grzeschik
2021-02-10 12:07                     ` Michael Grzeschik
2021-02-22 15:31   ` Michael Grzeschik
2021-02-22 15:31     ` Michael Grzeschik
2021-02-25 11:41     ` Manish Narani
2021-02-25 11:41       ` Manish Narani

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87r1miuv2h.fsf@kernel.org \
    --to=balbi@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=git@xilinx.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=manish.narani@xilinx.com \
    --cc=mgr@pengutronix.de \
    --cc=michal.simek@xilinx.com \
    --cc=p.zabel@pengutronix.de \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.