From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out.google.com ([216.239.44.51]:10323 "EHLO smtp-out.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753313Ab0KJGWl convert rfc822-to-8bit (ORCPT ); Wed, 10 Nov 2010 01:22:41 -0500 Received: from kpbe13.cbf.corp.google.com (kpbe13.cbf.corp.google.com [172.25.105.77]) by smtp-out.google.com with ESMTP id oAA6Meux004879 for ; Tue, 9 Nov 2010 22:22:40 -0800 Received: from yxn22 (yxn22.prod.google.com [10.190.4.86]) by kpbe13.cbf.corp.google.com with ESMTP id oAA6Md6B015374 for ; Tue, 9 Nov 2010 22:22:39 -0800 Received: by yxn22 with SMTP id 22so166988yxn.35 for ; Tue, 09 Nov 2010 22:22:38 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <320241.1412.qm@web180311.mail.gq1.yahoo.com> References: <20101110021259.GA16558@codeaurora.org> <320241.1412.qm@web180311.mail.gq1.yahoo.com> Date: Tue, 9 Nov 2010 22:22:37 -0800 Message-ID: Subject: Re: [PATCH v2] USB: Add MSM USB Device Controller driver From: Brian Swetland Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-arm-msm-owner@vger.kernel.org List-ID: To: David Brownell Cc: Matthieu CASTET , Pavan Kondeti , "greg@kroah.com" , "linux-usb@vger.kernel.org" , "linux-arm-msm@vger.kernel.org" , Mike Lockwood On Tue, Nov 9, 2010 at 6:54 PM, David Brownell wrote: > > > --- On Tue, 11/9/10, Pavan Kondeti wrote: > >> >> Hi Matthieu, >> >> >> >>> This look like the arc/chipidea/mips ehci otg >> core. >> >> >> >> Yes. It is chipidea core for ARM. >> >>> Why can't you reuse the ci13xxx_udc.c driver > > That basic approach is FAR PREFERABLE.  Fix > the bugs once, tune once, and so forth, reuse > the ULPI support, etc.  Work on more > platforms, since the silicon IP is reused. > > You'll end up with more folk who can help > maintain the driver too, since the pool of > potential helpers won't be limited to those > who have/use MSM hardware. > > Just be sure to cleanly factor the bus > (PCI vs MSM-s ARM platform flavor and > SoC glues (bus-related).  That factoring > will likely be the hardest part; but there > are examples of similar stuff in Linux today. The main headache is that this particular IP has different bugs in different instantiations (I know, for example, it exists in Tegra with a different set of issues around fetching descriptor heads and cache alignment, on MSM7201A after extensive testing we discovered there was no reliable way of adding a descriptor to a list of transactions once that queue was active, etc...), so things that work in one SoC may break another, etc, etc, but that's part of the adventure I suppose. I certainly agree that one unified driver is the way to go if you can make it all work. Brian