From: Hans de Goede <hdegoede@redhat.com>
To: Mathias Nyman <mathias.nyman@linux.intel.com>,
MyungJoo Ham <myungjoo.ham@samsung.com>,
Chanwoo Choi <cw00.choi@samsung.com>,
Guenter Roeck <linux@roeck-us.net>,
Heikki Krogerus <heikki.krogerus@linux.intel.com>,
Darren Hart <dvhart@infradead.org>,
Andy Shevchenko <andy@infradead.org>,
Peter Rosin <peda@axentia.se>,
Mathias Nyman <mathias.nyman@intel.com>
Cc: linux-kernel@vger.kernel.org,
platform-driver-x86@vger.kernel.org, devel@driverdev.osuosl.org,
Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy@linux.intel.com>,
Sathyanarayanan Kuppuswamy Natarajan <sathyaosid@gmail.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-usb@vger.kernel.org
Subject: Re: [PATCH v2 04/11] usb: xhci: Add Intel cherrytrail extended cap / otg phy mux handling
Date: Thu, 21 Sep 2017 13:55:54 +0200 [thread overview]
Message-ID: <e7e99900-85d7-0e88-afde-adc3342d41ea@redhat.com> (raw)
In-Reply-To: <59C1103A.9030509@linux.intel.com>
Hi,
On 19-09-17 14:40, Mathias Nyman wrote:
> Hi,
>
> sorry about the long delay
>
> On 07.09.2017 18:49, Hans de Goede wrote:
>> Hi,
>>
>> On 07-09-17 15:14, Mathias Nyman wrote:
>>> On 05.09.2017 19:42, Hans de Goede wrote:
>>>> The Intel cherrytrail xhci controller has an extended cap mmio-range
>>>> which contains registers to control the muxing to the xhci (host mode)
>>>> or the dwc3 (device mode) and vbus-detection for the otg usb-phy.
>>>>
>>>> Having a mux driver included in the xhci code (or under drivers/usb/host)
>>>> is not desirable. So this commit adds a simple handler for this extended
>>>> capability, which creates a platform device with the caps mmio region as
>>>> resource, this allows us to write a separate platform mux driver for the
>>>> mux.
>>>>
>>> I think it would be better to have one place where we add handlers for
>>> vendor specific extended capabilities.
>>>
>>> Something like xhci-vendor-ext-caps.c, or just xhci-ext-caps.c as
>>> there's a xhci-ext-caps.h header already
>>>
>>> We could walk through the capability list once and add the needed handlers.
>>> Something like:
>>>
>>> +int xhci_ext_cap_init(void __iomem *base)
>>
>> This will need to take a struct xhci_hcd *xhci param instead
>> as some of the ext_cap handling (including the cht mux code)
>> will need access to this.
>>
>
> yes, sample code added in second patch for reference/testing.
>
>>
>> So I see 2 options here (without making this function PCI specific)
>> 1) Add an u32 product_id field to struct xhci_hcd; or
>> 2) Use a quirk flag as my current code is doing.
>>
>> I'm fine with doing this either way, please let me know your preference.
>
> Lets go with the quirk for now, I'll sort that out later
>
>>
>> Can you do a "git format-patch" of that and send it to me? If you
>> can give me that + your preference for how to check if we're
>> dealing with a cht xhci hcd in xhci_ext_cap_init I can do a v3
>> with your suggestions applied.
>
> Ended up modifying xhci_find_next_ext_cap() using id = 0 for
> the next capability in list. Patch attached,
>
> Second patch is just for reference how to use it.
Thank you for the patches, I'm working on prepping a v3 of
this series which includes and uses the first patch.
Regards,
Hans
next prev parent reply other threads:[~2017-09-21 11:55 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-05 16:42 [PATCH v2 00/11] mux/typec: Add USB / TypeC mux drivers and hook them up on some x86 systems Hans de Goede
[not found] ` <20170905164221.11266-1-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-09-05 16:42 ` [PATCH v2 01/11] mux: core: Add of_mux_control_get helper function Hans de Goede
2017-09-05 16:42 ` [PATCH v2 07/11] extcon: intel-int3496: Add support for controlling the USB-role mux Hans de Goede
2017-09-05 16:42 ` [PATCH v2 11/11] platform/x86: intel_cht_int33fe: Add mux mappings for the Type-C port Hans de Goede
2017-09-05 16:42 ` [PATCH v2 02/11] mux: core: Add support for getting a mux controller on a non DT platform Hans de Goede
2017-09-05 16:42 ` [PATCH v2 03/11] mux: core: Add usb.h header with MUX_USB_* and and MUX_TYPEC_* state constants Hans de Goede
2017-09-08 15:47 ` Peter Rosin
2017-09-08 17:07 ` Hans de Goede
2017-09-10 21:36 ` Peter Rosin
2017-09-21 12:07 ` Hans de Goede
2017-09-05 16:42 ` [PATCH v2 04/11] usb: xhci: Add Intel cherrytrail extended cap / otg phy mux handling Hans de Goede
2017-09-07 13:14 ` Mathias Nyman
[not found] ` <59B14628.5030700-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-09-07 15:49 ` Hans de Goede
2017-09-19 12:40 ` Mathias Nyman
2017-09-21 11:55 ` Hans de Goede [this message]
2017-09-08 15:47 ` Peter Rosin
2017-09-05 16:42 ` [PATCH v2 05/11] mux: Add Intel Cherrytrail USB mux driver Hans de Goede
2017-09-08 15:45 ` Peter Rosin
2017-09-08 15:45 ` [PATCH 1/2] mux: add mux_control_get_optional() API Peter Rosin
2017-09-08 15:54 ` Peter Rosin
2017-09-19 18:35 ` Hans de Goede
2017-09-20 16:11 ` Stephen Boyd
2017-09-08 15:45 ` [PATCH 2/2] mux: add explicit hook to leave the mux as-is on init/registration Peter Rosin
[not found] ` <20170908154514.4463-1-peda-koto5C5qi+TLoDKTGw+V6w@public.gmane.org>
2017-09-19 16:38 ` [PATCH v2 05/11] mux: Add Intel Cherrytrail USB mux driver Hans de Goede
2017-09-05 16:42 ` [PATCH v2 06/11] mux: Add Pericom PI3USB30532 Type-C " Hans de Goede
2017-09-05 16:42 ` [PATCH v2 08/11] staging: typec: tcpm: Set mux to device mode when configured as such Hans de Goede
2017-09-10 22:56 ` Guenter Roeck
2017-09-22 14:02 ` Hans de Goede
2017-09-05 16:42 ` [PATCH v2 09/11] staging: typec: Add Generic TCPC mux driver using the mux subsys Hans de Goede
2017-09-05 16:42 ` [PATCH v2 10/11] staging: typec: fusb302: Hook up mux support using tcpc_gen_mux support Hans de Goede
[not found] ` <20170905164221.11266-11-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-09-12 22:20 ` Rob Herring
2017-09-13 8:56 ` Hans de Goede
2017-09-13 13:38 ` Rob Herring
2017-09-13 14:06 ` Hans de Goede
2017-09-13 15:07 ` Rob Herring
[not found] ` <e442bb48-a038-4e2e-6950-4220e28692d3@redhat.com>
[not found] ` <e442bb48-a038-4e2e-6950-4220e28692d3-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-09-13 16:17 ` Guenter Roeck
2017-09-25 10:34 ` Peter Rosin
2017-09-25 11:35 ` Hans de Goede
2017-09-25 13:45 ` Peter Rosin
2017-09-25 14:17 ` Hans de Goede
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=e7e99900-85d7-0e88-afde-adc3342d41ea@redhat.com \
--to=hdegoede@redhat.com \
--cc=andy@infradead.org \
--cc=cw00.choi@samsung.com \
--cc=devel@driverdev.osuosl.org \
--cc=dvhart@infradead.org \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=mathias.nyman@intel.com \
--cc=mathias.nyman@linux.intel.com \
--cc=myungjoo.ham@samsung.com \
--cc=peda@axentia.se \
--cc=platform-driver-x86@vger.kernel.org \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=sathyaosid@gmail.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