From mboxrd@z Thu Jan 1 00:00:00 1970 From: Martyn Welch Subject: Re: [RFC 0/8] Add support for NVIDIA Tegra XUSB Date: Mon, 02 Nov 2015 17:35:25 +0000 Message-ID: <56379EDD.50007@collabora.co.uk> References: <1446465323-9493-1-git-send-email-martyn.welch@collabora.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-tegra-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Andrew Bresticker Cc: "linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Thierry Reding , Stephen Warren , Jon Hunter , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" List-Id: linux-tegra@vger.kernel.org On 02/11/15 17:27, Andrew Bresticker wrote: > Hi Martyn, > > On Mon, Nov 2, 2015 at 3:55 AM, Martyn Welch > wrote: >> This series is based on commits that can be found in the git tree here: >> >> https://github.com/thierryreding/linux/commits/staging/xhci >> >> I have included the patches I've used from that tree as patches 1-5. >> >> The above patches were submitted for review back in May: >> >> https://lkml.org/lkml/2015/5/4/574 >> >> The approach taken in these patches was deemed not appropriate (treating >> the XUSB as a MFD). >> >> In patch 6 I add the bindings based in those submitted for review here >> (with a few modifications currently required by the driver): >> >> https://www.spinics.net/lists/linux-usb/msg130940.html >> >> I have included my changes to the original patch series in patch 7. With >> these modifications the patch series builds and works, but is rather hacky. >> Devices for the mailbox driver and xHCI driver are now created in the xusb >> driver (still under the mfd directory for now - it will be moved before >> this series is submitted properly). As the child devices use >> infrastructure which expects the device to be associated with a of_node, >> it has been necessary to point the child device at the parents of_node >> where this is needed. This approach did not seem viable for the mailbox >> API, so to get that working the child device node was pointed to the >> parents of_node (in tegra_xusb_add_device). The unfortunate side effect of >> this is that upon device creation the parents probe routine gets called... >> >> Not good. >> >> Patch 8 attempts to resolve this. When passing the parents device node to >> the mailbox API, the mailbox's receive callback was raising errors as >> that function is looking for the drvdata stored in the child's device node, >> but getting the parents. This patch jumps though a few hoops to get to the >> child's device node. > After my last submission, we had a discussion about the mailbox and > decided not to use the mailbox framework and instead use a private API > between the xHCI driver and the XUSB_PADCTL driver. > Ok. >> Unfortunately, whilst the receive callback seems to be getting the right >> drvdata, USB3 devices are being enumerated as USB2 devices rather than >> USB3 devices, so something is clearly not right. > Tegra124? Tegra210? Which board? Tegra124, nyan-blaze. Martyn