From: Bjorn Helgaas <helgaas@kernel.org>
To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Cc: linux-kernel@vger.kernel.org,
Florian Fainelli <f.fainelli@gmail.com>,
Ray Jui <rjui@broadcom.com>,
Scott Branden <sbranden@broadcom.com>,
bcm-kernel-feedback-list@broadcom.com, linux-usb@vger.kernel.org,
linux-rpi-kernel@lists.infradead.org,
linux-arm-kernel@lists.infradead.org, gregkh@linuxfoundation.org,
tim.gover@raspberrypi.org, linux-pci@vger.kernel.org,
wahrenst@gmx.net, sergei.shtylyov@cogentembedded.com
Subject: Re: [PATCH v6 2/4] firmware: raspberrypi: Introduce vl805 init routine
Date: Thu, 2 Apr 2020 14:40:05 -0500 [thread overview]
Message-ID: <20200402194005.GA35725@google.com> (raw)
In-Reply-To: <88456b80396331814fca9c929c2129861aaa35bd.camel@suse.de>
On Thu, Apr 02, 2020 at 01:32:35PM +0200, Nicolas Saenz Julienne wrote:
> On Wed, 2020-04-01 at 15:37 -0500, Bjorn Helgaas wrote:
> > On Tue, Mar 24, 2020 at 07:28:10PM +0100, 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 VideCore. The function informs VideCore that VL805 was
> > > just reset, or requests for a probe defer.
Is VL805 the XHCI USB device? A hint here would help non-RPi experts
know how this fits into the topology.
> > > Based on Tim Gover's downstream implementation.
> >
> > Maybe a URL?
>
> I was under the impression that adding links in the commit log that
> are likely to be short-lived was frowned upon. That said I could've
> added it into the cover letter. For reference here it is:
>
> https://github.com/raspberrypi/linux/commit/9935b4c7e360b4494b4cb6e3ce797238a1ab78bd
I think your impression is correct. If this was posted to a mailing
list archived on lore.kernel.org, a link to the cover letter would be
ideal.
> To pass messages down the mailbox, you call rpi_firmware_property(),
> which takes care of contention, formating and DMA issues, before
> passing it into the actual mailbox interface and beyond.
OK. The "rpi_firmware_property" name doesn't give much of a hint that
it is sending messages. It sounds like it might be a lookup function.
But that's an existing thing, not something you're changing here.
> > > + */
> > > +int rpi_firmware_init_vl805(struct pci_dev *pdev)
> > > +{
> > > + struct device_node *fw_np;
> > > + struct rpi_firmware *fw;
> > > + u32 dev_addr;
> > > + int ret;
> > > +
> > > + fw_np = of_find_compatible_node(NULL, NULL,
> > > + "raspberrypi,bcm2835-firmware");
> > > + if (!fw_np)
> > > + return 0;
> > > +
> > > + fw = rpi_firmware_get(fw_np);
> > > + of_node_put(fw_np);
> > > + if (!fw)
> > > + return -EPROBE_DEFER;
> > > +
> > > + dev_addr = pdev->bus->number << 20 | PCI_SLOT(pdev->devfn) << 15 |
> > > + PCI_FUNC(pdev->devfn) << 12;
> > > +
> > > + ret = rpi_firmware_property(fw, RPI_FIRMWARE_NOTIFY_XHCI_RESET,
> > > + &dev_addr, sizeof(dev_addr));
> > > + if (ret)
> > > + return ret;
> > > +
> > > + dev_dbg(&pdev->dev, "loaded Raspberry Pi's VL805 firmware\n");
> > > +
> > > + return 0;
> > > +}
> > > +EXPORT_SYMBOL_GPL(rpi_firmware_init_vl805);
> > > +
> > > static const struct of_device_id rpi_firmware_of_match[] = {
> > > { .compatible = "raspberrypi,bcm2835-firmware", },
> > > {},
>
> [...]
>
> Regards,
> Nicolas
>
WARNING: multiple messages have this Message-ID (diff)
From: Bjorn Helgaas <helgaas@kernel.org>
To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Cc: Florian Fainelli <f.fainelli@gmail.com>,
sergei.shtylyov@cogentembedded.com,
Scott Branden <sbranden@broadcom.com>,
Ray Jui <rjui@broadcom.com>,
linux-usb@vger.kernel.org, linux-pci@vger.kernel.org,
linux-kernel@vger.kernel.org, tim.gover@raspberrypi.org,
bcm-kernel-feedback-list@broadcom.com,
linux-rpi-kernel@lists.infradead.org, gregkh@linuxfoundation.org,
linux-arm-kernel@lists.infradead.org, wahrenst@gmx.net
Subject: Re: [PATCH v6 2/4] firmware: raspberrypi: Introduce vl805 init routine
Date: Thu, 2 Apr 2020 14:40:05 -0500 [thread overview]
Message-ID: <20200402194005.GA35725@google.com> (raw)
In-Reply-To: <88456b80396331814fca9c929c2129861aaa35bd.camel@suse.de>
On Thu, Apr 02, 2020 at 01:32:35PM +0200, Nicolas Saenz Julienne wrote:
> On Wed, 2020-04-01 at 15:37 -0500, Bjorn Helgaas wrote:
> > On Tue, Mar 24, 2020 at 07:28:10PM +0100, 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 VideCore. The function informs VideCore that VL805 was
> > > just reset, or requests for a probe defer.
Is VL805 the XHCI USB device? A hint here would help non-RPi experts
know how this fits into the topology.
> > > Based on Tim Gover's downstream implementation.
> >
> > Maybe a URL?
>
> I was under the impression that adding links in the commit log that
> are likely to be short-lived was frowned upon. That said I could've
> added it into the cover letter. For reference here it is:
>
> https://github.com/raspberrypi/linux/commit/9935b4c7e360b4494b4cb6e3ce797238a1ab78bd
I think your impression is correct. If this was posted to a mailing
list archived on lore.kernel.org, a link to the cover letter would be
ideal.
> To pass messages down the mailbox, you call rpi_firmware_property(),
> which takes care of contention, formating and DMA issues, before
> passing it into the actual mailbox interface and beyond.
OK. The "rpi_firmware_property" name doesn't give much of a hint that
it is sending messages. It sounds like it might be a lookup function.
But that's an existing thing, not something you're changing here.
> > > + */
> > > +int rpi_firmware_init_vl805(struct pci_dev *pdev)
> > > +{
> > > + struct device_node *fw_np;
> > > + struct rpi_firmware *fw;
> > > + u32 dev_addr;
> > > + int ret;
> > > +
> > > + fw_np = of_find_compatible_node(NULL, NULL,
> > > + "raspberrypi,bcm2835-firmware");
> > > + if (!fw_np)
> > > + return 0;
> > > +
> > > + fw = rpi_firmware_get(fw_np);
> > > + of_node_put(fw_np);
> > > + if (!fw)
> > > + return -EPROBE_DEFER;
> > > +
> > > + dev_addr = pdev->bus->number << 20 | PCI_SLOT(pdev->devfn) << 15 |
> > > + PCI_FUNC(pdev->devfn) << 12;
> > > +
> > > + ret = rpi_firmware_property(fw, RPI_FIRMWARE_NOTIFY_XHCI_RESET,
> > > + &dev_addr, sizeof(dev_addr));
> > > + if (ret)
> > > + return ret;
> > > +
> > > + dev_dbg(&pdev->dev, "loaded Raspberry Pi's VL805 firmware\n");
> > > +
> > > + return 0;
> > > +}
> > > +EXPORT_SYMBOL_GPL(rpi_firmware_init_vl805);
> > > +
> > > static const struct of_device_id rpi_firmware_of_match[] = {
> > > { .compatible = "raspberrypi,bcm2835-firmware", },
> > > {},
>
> [...]
>
> Regards,
> Nicolas
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-04-02 19:40 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-24 18:28 [PATCH v6 0/4] USB: pci-quirks: Add Raspberry Pi 4 quirk Nicolas Saenz Julienne
2020-03-24 18:28 ` Nicolas Saenz Julienne
2020-03-24 18:28 ` [PATCH v6 1/4] soc: bcm2835: Sync xHCI reset firmware property with downstream Nicolas Saenz Julienne
2020-03-24 18:28 ` Nicolas Saenz Julienne
2020-04-02 18:01 ` Bjorn Helgaas
2020-04-02 18:01 ` Bjorn Helgaas
2020-04-04 20:11 ` Florian Fainelli
2020-04-04 20:11 ` Florian Fainelli
2020-03-24 18:28 ` [PATCH v6 2/4] firmware: raspberrypi: Introduce vl805 init routine Nicolas Saenz Julienne
2020-03-24 18:28 ` Nicolas Saenz Julienne
2020-04-01 20:37 ` Bjorn Helgaas
2020-04-01 20:37 ` Bjorn Helgaas
2020-04-02 11:32 ` Nicolas Saenz Julienne
2020-04-02 11:32 ` Nicolas Saenz Julienne
2020-04-02 19:40 ` Bjorn Helgaas [this message]
2020-04-02 19:40 ` Bjorn Helgaas
2020-04-04 18:56 ` Nicolas Saenz Julienne
2020-04-04 18:56 ` Nicolas Saenz Julienne
2020-03-24 18:28 ` [PATCH v6 3/4] PCI: brcmstb: Wait for Raspberry Pi's firmware when present Nicolas Saenz Julienne
2020-03-24 18:28 ` Nicolas Saenz Julienne
2020-04-01 20:41 ` Bjorn Helgaas
2020-04-01 20:41 ` Bjorn Helgaas
2020-04-02 14:27 ` Nicolas Saenz Julienne
2020-04-02 14:27 ` Nicolas Saenz Julienne
2020-04-02 19:38 ` Bjorn Helgaas
2020-04-02 19:38 ` Bjorn Helgaas
2020-04-04 19:20 ` Nicolas Saenz Julienne
2020-04-04 19:20 ` Nicolas Saenz Julienne
2020-04-04 20:09 ` Florian Fainelli
2020-04-04 20:09 ` Florian Fainelli
2020-03-24 18:28 ` [PATCH v6 4/4] USB: pci-quirks: Add Raspberry Pi 4 quirk Nicolas Saenz Julienne
2020-03-24 18:28 ` Nicolas Saenz Julienne
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=20200402194005.GA35725@google.com \
--to=helgaas@kernel.org \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=f.fainelli@gmail.com \
--cc=gregkh@linuxfoundation.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=nsaenzjulienne@suse.de \
--cc=rjui@broadcom.com \
--cc=sbranden@broadcom.com \
--cc=sergei.shtylyov@cogentembedded.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.