mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
To: f.fainelli@gmail.com, gregkh@linuxfoundation.org,
	robh@kernel.org, wahrenst@gmx.net, p.zabel@pengutronix.de,
	andy.shevchenko@gmail.com
Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-rpi-kernel@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	bcm-kernel-feedback-list@broadcom.com, tim.gover@raspberrypi.org,
	linux-pci@vger.kernel.org, helgaas@kernel.org,
	mathias.nyman@linux.intel.com, lorenzo.pieralisi@arm.com
Subject: Re: [PATCH v5 0/9] Raspberry Pi 4 USB firmware initialization rework
Date: Thu, 13 Aug 2020 12:01:14 +0200	[thread overview]
Message-ID: <a6aecb7a4d270cb23430d25850c85a332555af55.camel@suse.de> (raw)
In-Reply-To: <20200629161845.6021-1-nsaenzjulienne@suse.de>

Hi everyone.

On Mon, 2020-06-29 at 18:18 +0200, Nicolas Saenz Julienne wrote:
> On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be
> loaded directly from an EEPROM or, if not present, by the SoC's
> co-processor, VideoCore. This series reworks how we handle this.
> 
> The previous solution makes use of PCI quirks and exporting platform
> specific functions. Albeit functional it feels pretty shoehorned. This
> proposes an alternative way of handling the triggering of the xHCI chip
> initialization trough means of a reset controller.
> 
> The benefits are pretty evident: less platform churn in core xHCI code,
> and no explicit device dependency management in pcie-brcmstb.
> 
> Note that patch #1 depends on another series[1], that was just applied
> into the clk maintainer's tree.
> 
> The series is based on v5.8-rc3
> 
> v3: https://www.spinics.net/lists/arm-kernel/msg813612.html
> v2: https://lkml.org/lkml/2020/6/9/875
> v1: https://lore.kernel.org/linux-usb/20200608192701.18355-1-nsaenzjulienne@suse.de/T/#t
> 
> [1] https://lore.kernel.org/linux-clk/159304773261.62212.983376627029743900@swboyd.mtv.corp.google.com/T/#t
> 
> ---

We were waiting on a dependency to be merged upstream to get this. They are now
in, so could we move things forward?

I can take the device tree patches, I guess philipp can take the reset
controller code. But I'm not so sure who should be taking the PCI/USB
counterparts.

Regards,
Nicolas

> 
> Changes since v4:
>  - Adress Andy's comments
> 
> Changes since v3:
>  - Rework dt patch to include root bridge as a separate node
>  - Update xhci-pci patch now that the xhci dev has a dt node (it was
>    getting it in the past from its bus)
> 
> Changes since v2:
>  - Add reset to resume routine in xhci-pci
>  - Correct of refcount in pci-quirks
>  - Correct typos
>  - Use include file to define firmware reset IDs
> 
> Changes since v1:
>  - Rework reset controller so it's less USB centric
>  - Use correct reset controller API in xhci-pci
>  - Correct typos
> 
> Nicolas Saenz Julienne (9):
>   dt-bindings: reset: Add a binding for the RPi Firmware reset
>     controller
>   reset: Add Raspberry Pi 4 firmware reset controller
>   ARM: dts: bcm2711: Add firmware usb reset node
>   ARM: dts: bcm2711: Add reset controller to xHCI node
>   usb: xhci-pci: Add support for reset controllers
>   Revert "USB: pci-quirks: Add Raspberry Pi 4 quirk"
>   usb: host: pci-quirks: Bypass xHCI quirks for Raspberry Pi 4
>   Revert "firmware: raspberrypi: Introduce vl805 init routine"
>   Revert "PCI: brcmstb: Wait for Raspberry Pi's firmware when present"
> 
>  .../arm/bcm/raspberrypi,bcm2835-firmware.yaml |  21 +++
>  arch/arm/boot/dts/bcm2711-rpi-4-b.dts         |  22 ++++
>  drivers/firmware/Kconfig                      |   3 +-
>  drivers/firmware/raspberrypi.c                |  61 ---------
>  drivers/pci/controller/pcie-brcmstb.c         |  17 ---
>  drivers/reset/Kconfig                         |  11 ++
>  drivers/reset/Makefile                        |   1 +
>  drivers/reset/reset-raspberrypi.c             | 122 ++++++++++++++++++
>  drivers/usb/host/pci-quirks.c                 |  22 ++--
>  drivers/usb/host/xhci-pci.c                   |  10 ++
>  drivers/usb/host/xhci.h                       |   2 +
>  .../reset/raspberrypi,firmware-reset.h        |  13 ++
>  include/soc/bcm2835/raspberrypi-firmware.h    |   7 -
>  13 files changed, 215 insertions(+), 97 deletions(-)
>  create mode 100644 drivers/reset/reset-raspberrypi.c
>  create mode 100644 include/dt-bindings/reset/raspberrypi,firmware-reset.h
> 


  parent reply	other threads:[~2020-08-13 10:01 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-29 16:18 Nicolas Saenz Julienne
2020-06-29 16:18 ` [PATCH v5 1/9] dt-bindings: reset: Add a binding for the RPi Firmware reset controller Nicolas Saenz Julienne
2020-06-29 16:18 ` [PATCH v5 2/9] reset: Add Raspberry Pi 4 firmware " Nicolas Saenz Julienne
2020-06-29 16:18 ` [PATCH v5 3/9] ARM: dts: bcm2711: Add firmware usb reset node Nicolas Saenz Julienne
2020-06-29 16:18 ` [PATCH v5 4/9] ARM: dts: bcm2711: Add reset controller to xHCI node Nicolas Saenz Julienne
2020-06-29 16:26   ` Florian Fainelli
2020-06-29 16:18 ` [PATCH v5 5/9] usb: xhci-pci: Add support for reset controllers Nicolas Saenz Julienne
2020-06-29 16:26   ` Florian Fainelli
2020-06-29 16:18 ` [PATCH v5 6/9] Revert "USB: pci-quirks: Add Raspberry Pi 4 quirk" Nicolas Saenz Julienne
2020-06-29 16:18 ` [PATCH v5 7/9] usb: host: pci-quirks: Bypass xHCI quirks for Raspberry Pi 4 Nicolas Saenz Julienne
2020-06-29 16:18 ` [PATCH v5 8/9] Revert "firmware: raspberrypi: Introduce vl805 init routine" Nicolas Saenz Julienne
2020-06-29 16:18 ` [PATCH v5 9/9] Revert "PCI: brcmstb: Wait for Raspberry Pi's firmware when present" Nicolas Saenz Julienne
2020-08-14 10:15   ` Lorenzo Pieralisi
2020-08-13 10:01 ` Nicolas Saenz Julienne [this message]
2020-08-13 19:17   ` [PATCH v5 0/9] Raspberry Pi 4 USB firmware initialization rework Florian Fainelli
2020-08-14  6:11     ` Greg KH
2020-08-14 10:04       ` Nicolas Saenz Julienne
2020-08-18 11:03         ` Greg KH

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=a6aecb7a4d270cb23430d25850c85a332555af55.camel@suse.de \
    --to=nsaenzjulienne@suse.de \
    --cc=andy.shevchenko@gmail.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=f.fainelli@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=helgaas@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-rpi-kernel@lists.infradead.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=mathias.nyman@linux.intel.com \
    --cc=p.zabel@pengutronix.de \
    --cc=robh@kernel.org \
    --cc=tim.gover@raspberrypi.org \
    --cc=wahrenst@gmx.net \
    /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

all inboxes | Powered by JetHome®