linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peter Chen <peter.chen@nxp.com>
To: Aswath Govindraju <a-govindraju@ti.com>,
	Pawel Laszczak <pawell@cadence.com>
Cc: "rogerq@ti.com" <rogerq@ti.com>,
	"nsekhar@ti.com" <nsekhar@ti.com>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"balbi@kernel.org" <balbi@kernel.org>,
	"colin.king@canonical.com" <colin.king@canonical.com>,
	"kurahul@cadence.com" <kurahul@cadence.com>
Subject: Re: [PATCH v4 00/10] Introduced new Cadence USBSSP DRD Driver.
Date: Sat, 5 Dec 2020 11:13:38 +0000	[thread overview]
Message-ID: <20201205111309.GA27585@b29397-desktop> (raw)
In-Reply-To: <f65eb2d5-7afb-788f-3ada-8fb529a0cfba@ti.com>

On 20-12-05 11:12:44, Aswath Govindraju wrote:
> Hi,
> On 04/12/20 6:49 am, Peter Chen wrote:
> >  
> >> This patch introduce new Cadence USBSS DRD driver to linux kernel.
> >>
> >> The Cadence USBSS DRD Controller is a highly configurable IP Core which can
> >> be instantiated as Dual-Role Device (DRD), Peripheral Only and Host Only
> >> (XHCI)configurations.
> >>
> >> The current driver has been validated with FPGA burned. We have support for
> >> PCIe bus, which is used on FPGA prototyping.
> >>
> >> The host side of USBSS-DRD controller is compliance with XHCI specification, so
> >> it works with standard XHCI Linux driver.
> >>
> >> The device side of USBSS DRD controller is compliant with XHCI.
> >> The architecture for device side is almost the same as for host side, and most
> >> of the XHCI specification can be used to understand how this controller
> >> operates.
> >>
> >> This controller and driver support Full Speed, Hight Speed, Supper Speed and
> >> Supper Speed Plus USB protocol.
> >>
> >> The prefix cdnsp used in driver has chosen by analogy to cdn3 driver.
> >> The last letter of this acronym means PLUS. The formal name of controller is
> >> USBSSP but it's to generic so I've decided to use CDNSP.
> >>
> >> The patch 1: adds support for DRD CDNSP.
> >> The patch 2: separates common code that can be reusable by cdnsp driver.
> >> The patch 3: moves reusable code to separate module.
> >> The patch 4: changes prefixes in reusable code from cdns3 to common cdns.
> >> The patch 5: adopts gadget_dev pointer in cdns structure to make possible
> >>              use it in both drivers.
> >> The patches 6-8: add the main part of driver and has been intentionally
> >>              split into 3 part. In my opinion such division should not
> >>              affect understanding and reviewing the driver, and cause that
> >>              main patch (7/8) is little smaller. Patch 6 introduces main
> >>              header file for driver, 7 is the main part that implements all
> >>              functionality of driver and 8 introduces tracepoints.
> >> The patch 9: Adds cdns3 prefixes to files related with USBSS driver.
> >> the patch 10: Adds USBSSP DRD IP driver entry to MAINTAINERS file.
> >>
> > 
> > Hi Roger & Sekhar,
> > 
> > Would you please test this patch set and see if it works well at TI platforms?
> > 
> 
> Tested this patch series on TI SOC J7200. All given below tests were
> performed and they passed,
> 
> Host mode:
>  - Connected a mass storage device (USB flash stick) and performed read
>        and write tests
>  - Connected mouse and keyboard to check enumeration
> 
> Device mode:
>  - Tested g_mass_storage module by performing read and write
>  - Tested g_ether module by the pinging host and device from either sides
> 
> OTG:
>  - Switching between host and device mode based on the device connected.
> 
> 
> Tested-by: Aswath Govindraju <a-govindraju@ti.com>

Thanks Aswath.

Basic functions at NXP also work. Pawel, you could post your v5 with my last comments.

Peter
> 
> Thanks,
> Aswath
> 
> > Peter
> > 
> >> Changlog from v3:
> >> - added 'T' to MAINTAINERS file for CDNSP entry
> >> - updated common code with latest cdns3 fixes
> >>
> >> Changlog from v2:
> >> - removed not used pdev parameter from cdnsp_read/wite_64 functions
> >> - fixed incorrect value assigned to CDNSP_ENDPOINTS_NUM (32 -> 31)
> >> - replaced some constant value with CDNSP_ENDPOINTS_NUM macro
> >> - replaced 'true' with '1' in bits description in cdnsp-gadget.h file
> >> - fixed some typos
> >> - some other less important changes suggested by Peter Chen
> >>
> >> Changlog from v1:
> >> - updated common code to latest cdns3 driver
> >> - moved cdnsp driver files to cdns3 as sugested by Peter Chan
> >> - removed duplicate code from cdnsp_ep0_set_config function
> >> - added cdns3 prefixes to file related with USBSS driver
> >> - updated MAINTAINERS file
> >> - fixed issue with U1
> >> - fixed issue with L1
> >> - some less improtant changes sugested by Chunfeng Yun
> >> ---
> >>
> >> Pawel Laszczak (10):
> >>   usb: cdns3: Add support for DRD CDNSP
> >>   usb: cdns3: Split core.c into cdns3-plat and core.c file
> >>   usb: cdns3: Moves reusable code to separate module
> >>   usb: cdns3: Refactoring names in reusable code
> >>   usb: cdns3: Changed type of gadget_dev in cdns structure
> >>   usb: cdnsp: Device side header file for CDNSP driver
> >>   usb: cdnsp: cdns3 Add main part of Cadence USBSSP DRD Driver
> >>   usb: cdnsp: Add tracepoints for CDNSP driver
> >>   usb: cdns3: Change file names for cdns3 driver.
> >>   MAINTAINERS: add Cadence USBSSP DRD IP driver entry
> >>
> >>  MAINTAINERS                                   |    9 +
> >>  drivers/usb/Makefile                          |    2 +
> >>  drivers/usb/cdns3/Kconfig                     |   61 +-
> >>  drivers/usb/cdns3/Makefile                    |   30 +-
> >>  drivers/usb/cdns3/{debug.h => cdns3-debug.h}  |    0
> >>  drivers/usb/cdns3/{ep0.c => cdns3-ep0.c}      |    4 +-
> >>  .../usb/cdns3/{gadget.c => cdns3-gadget.c}    |   28 +-
> >>  .../usb/cdns3/{gadget.h => cdns3-gadget.h}    |    0
> >>  drivers/usb/cdns3/cdns3-imx.c                 |    2 +-
> >>  drivers/usb/cdns3/cdns3-plat.c                |  315 +++
> >>  drivers/usb/cdns3/{trace.c => cdns3-trace.c}  |    2 +-
> >>  drivers/usb/cdns3/{trace.h => cdns3-trace.h}  |    6 +-
> >>  drivers/usb/cdns3/cdnsp-debug.h               |  583 ++++
> >>  drivers/usb/cdns3/cdnsp-ep0.c                 |  495 ++++
> >>  drivers/usb/cdns3/cdnsp-gadget.c              | 2017 ++++++++++++++
> >>  drivers/usb/cdns3/cdnsp-gadget.h              | 1600 +++++++++++
> >>  drivers/usb/cdns3/cdnsp-mem.c                 | 1325 +++++++++
> >>  drivers/usb/cdns3/cdnsp-pci.c                 |  255 ++
> >>  drivers/usb/cdns3/cdnsp-ring.c                | 2439
> >> +++++++++++++++++
> >>  drivers/usb/cdns3/cdnsp-trace.c               |   12 +
> >>  drivers/usb/cdns3/cdnsp-trace.h               |  840 ++++++
> >>  drivers/usb/cdns3/core.c                      |  455 +--
> >>  drivers/usb/cdns3/core.h                      |   54 +-
> >>  drivers/usb/cdns3/drd.c                       |  222 +-
> >>  drivers/usb/cdns3/drd.h                       |   94 +-
> >>  drivers/usb/cdns3/gadget-export.h             |   22 +-
> >>  drivers/usb/cdns3/host-export.h               |   13 +-
> >>  drivers/usb/cdns3/host.c                      |   22 +-
> >>  28 files changed, 10400 insertions(+), 507 deletions(-)  rename
> >> drivers/usb/cdns3/{debug.h => cdns3-debug.h} (100%)  rename
> >> drivers/usb/cdns3/{ep0.c => cdns3-ep0.c} (99%)  rename
> >> drivers/usb/cdns3/{gadget.c => cdns3-gadget.c} (99%)  rename
> >> drivers/usb/cdns3/{gadget.h => cdns3-gadget.h} (100%)  create mode 100644
> >> drivers/usb/cdns3/cdns3-plat.c  rename drivers/usb/cdns3/{trace.c =>
> >> cdns3-trace.c} (89%)  rename drivers/usb/cdns3/{trace.h => cdns3-trace.h}
> >> (99%)  create mode 100644 drivers/usb/cdns3/cdnsp-debug.h  create mode
> >> 100644 drivers/usb/cdns3/cdnsp-ep0.c  create mode 100644
> >> drivers/usb/cdns3/cdnsp-gadget.c  create mode 100644
> >> drivers/usb/cdns3/cdnsp-gadget.h  create mode 100644
> >> drivers/usb/cdns3/cdnsp-mem.c  create mode 100644
> >> drivers/usb/cdns3/cdnsp-pci.c  create mode 100644
> >> drivers/usb/cdns3/cdnsp-ring.c  create mode 100644
> >> drivers/usb/cdns3/cdnsp-trace.c  create mode 100644
> >> drivers/usb/cdns3/cdnsp-trace.h
> >>
> >> --
> >> 2.17.1
> > 
> 

-- 

Thanks,
Peter Chen

  reply	other threads:[~2020-12-05 11:36 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-02 13:25 [PATCH v4 00/10] Introduced new Cadence USBSSP DRD Driver Pawel Laszczak
2020-12-02 13:25 ` [PATCH v4 01/10] usb: cdns3: Add support for DRD CDNSP Pawel Laszczak
2020-12-02 13:25 ` [PATCH v4 02/10] usb: cdns3: Split core.c into cdns3-plat and core.c file Pawel Laszczak
2020-12-02 13:25 ` [PATCH v4 03/10] usb: cdns3: Moves reusable code to separate module Pawel Laszczak
2020-12-02 13:25 ` [PATCH v4 04/10] usb: cdns3: Refactoring names in reusable code Pawel Laszczak
2020-12-02 13:25 ` [PATCH v4 05/10] usb: cdns3: Changed type of gadget_dev in cdns structure Pawel Laszczak
2020-12-02 13:25 ` [PATCH v4 06/10] usb: cdnsp: Device side header file for CDNSP driver Pawel Laszczak
2020-12-02 13:25 ` [PATCH v4 07/10] usb: cdnsp: cdns3 Add main part of Cadence USBSSP DRD Driver Pawel Laszczak
2020-12-02 13:25 ` [PATCH v4 08/10] usb: cdnsp: Add tracepoints for CDNSP driver Pawel Laszczak
2020-12-02 13:25 ` [PATCH v4 09/10] usb: cdns3: Change file names for cdns3 driver Pawel Laszczak
2020-12-02 13:25 ` [PATCH v4 10/10] MAINTAINERS: add Cadence USBSSP DRD IP driver entry Pawel Laszczak
2020-12-04  1:19 ` [PATCH v4 00/10] Introduced new Cadence USBSSP DRD Driver Peter Chen
2020-12-05  5:42   ` Aswath Govindraju
2020-12-05 11:13     ` Peter Chen [this message]
2020-12-04  3:10 ` Peter Chen
2020-12-04  5:05   ` Pawel Laszczak

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=20201205111309.GA27585@b29397-desktop \
    --to=peter.chen@nxp.com \
    --cc=a-govindraju@ti.com \
    --cc=balbi@kernel.org \
    --cc=colin.king@canonical.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=kurahul@cadence.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=nsekhar@ti.com \
    --cc=pawell@cadence.com \
    --cc=rogerq@ti.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).