All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Wahren <wahrenst@gmx.net>
To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Cc: Rob Herring <robh@kernel.org>,
	f.fainelli@gmail.com, gregkh@linuxfoundation.org,
	helgaas@kernel.org, linux-kernel@vger.kernel.org,
	Ray Jui <rjui@broadcom.com>,
	Scott Branden <sbranden@broadcom.com>,
	bcm-kernel-feedback-list@broadcom.com, linux-pci@vger.kernel.org,
	tim.gover@raspberrypi.org, linux-usb@vger.kernel.org,
	linux-rpi-kernel@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v8 2/4] firmware: raspberrypi: Introduce vl805 init routine
Date: Sat, 9 May 2020 12:02:55 +0200	[thread overview]
Message-ID: <c9449111-f646-3925-36e6-f4492ad5f90a@gmx.net> (raw)
In-Reply-To: <20200507214859.GA562@bogus>

Hi Nicolas,

Am 07.05.20 um 23:48 schrieb Rob Herring:
> On Tue,  5 May 2020 18:13:15 +0200, Nicolas Saenz Julienne wrote:
>> The Raspberry Pi 4 gets its USB functionality from VL805, a PCIe chip
>> that implements xHCI. 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. RPi4's VideoCore OS contains both the non public
>> firmware load logic and the VL805 firmware blob. The function this patch
>> introduces triggers the aforementioned process.
>>
>> Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
>>
>> ---
>>
>> Change since v7:
>> - Use usleep_delay()
>> - Add comment about PCI errors
>> - Don't wait on error
>> - Typos
>>
>> Change since v6:
>> - Add test to avoid loading the firmware when not needed
>> - Since we have it around, print VL805's firmware version, it'll make
>> debugging easier in the future
>> - Correct typos
>> - Add a clearer view of HW topology in patch description
>>
>> Changes since v4:
>> - Inline function definition when RASPBERRYPI_FIRMWARE is not defined
>>
>> Changes since v1:
>> - Move include into .c file and add forward declaration to .h
>>
>>  drivers/firmware/raspberrypi.c             | 61 ++++++++++++++++++++++
>>  include/soc/bcm2835/raspberrypi-firmware.h |  7 +++
>>  2 files changed, 68 insertions(+)
>>
> Reviewed-by: Rob Herring <robh@kernel.org>

i modified the code a little bit for testing, but also successfully
tested it without my modifications:

diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c
index 0d1422b..f3f4c2d 100644
--- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c
@@ -337,8 +337,10 @@ int rpi_firmware_init_vl805(struct pci_dev *pdev)
         * further down the line.
         */
        pci_read_config_dword(pdev, VL805_PCI_CONFIG_VERSION_OFFSET,
&version);
-       if (version)
-               goto exit;
+       if (version) {
+               pci_info(pdev, "VL805 EEPROM firmware version %08x\n",
version);
+               return 0;
+       }
 
        dev_addr = pdev->bus->number << 20 | PCI_SLOT(pdev->devfn) << 15 |
                   PCI_FUNC(pdev->devfn) << 12;
@@ -353,9 +355,8 @@ int rpi_firmware_init_vl805(struct pci_dev *pdev)
 
        pci_read_config_dword(pdev, VL805_PCI_CONFIG_VERSION_OFFSET,
                              &version);
-exit:
-       pci_info(pdev, "VL805 firmware version %08x\n", version);
 
+       pci_info(pdev, "VL805 RAM firmware version %08x\n", version);
        return 0;
 }
 EXPORT_SYMBOL_GPL(rpi_firmware_init_vl805);

Here are the my results with 3x Raspberry Pi 4:

VL805 EEPROM firmware version 000137ad
VL805 EEPROM firmware version 00013701
VL805 RAM firmware version 000137ad

So the whole patch series is:

Tested-by: Stefan Wahren <stefan.wahren@i2se.com>


WARNING: multiple messages have this Message-ID (diff)
From: Stefan Wahren <wahrenst@gmx.net>
To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Cc: Rob Herring <robh@kernel.org>,
	f.fainelli@gmail.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,
	helgaas@kernel.org, linux-rpi-kernel@lists.infradead.org,
	gregkh@linuxfoundation.org,
	bcm-kernel-feedback-list@broadcom.com,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v8 2/4] firmware: raspberrypi: Introduce vl805 init routine
Date: Sat, 9 May 2020 12:02:55 +0200	[thread overview]
Message-ID: <c9449111-f646-3925-36e6-f4492ad5f90a@gmx.net> (raw)
In-Reply-To: <20200507214859.GA562@bogus>

Hi Nicolas,

Am 07.05.20 um 23:48 schrieb Rob Herring:
> On Tue,  5 May 2020 18:13:15 +0200, Nicolas Saenz Julienne wrote:
>> The Raspberry Pi 4 gets its USB functionality from VL805, a PCIe chip
>> that implements xHCI. 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. RPi4's VideoCore OS contains both the non public
>> firmware load logic and the VL805 firmware blob. The function this patch
>> introduces triggers the aforementioned process.
>>
>> Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
>>
>> ---
>>
>> Change since v7:
>> - Use usleep_delay()
>> - Add comment about PCI errors
>> - Don't wait on error
>> - Typos
>>
>> Change since v6:
>> - Add test to avoid loading the firmware when not needed
>> - Since we have it around, print VL805's firmware version, it'll make
>> debugging easier in the future
>> - Correct typos
>> - Add a clearer view of HW topology in patch description
>>
>> Changes since v4:
>> - Inline function definition when RASPBERRYPI_FIRMWARE is not defined
>>
>> Changes since v1:
>> - Move include into .c file and add forward declaration to .h
>>
>>  drivers/firmware/raspberrypi.c             | 61 ++++++++++++++++++++++
>>  include/soc/bcm2835/raspberrypi-firmware.h |  7 +++
>>  2 files changed, 68 insertions(+)
>>
> Reviewed-by: Rob Herring <robh@kernel.org>

i modified the code a little bit for testing, but also successfully
tested it without my modifications:

diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c
index 0d1422b..f3f4c2d 100644
--- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c
@@ -337,8 +337,10 @@ int rpi_firmware_init_vl805(struct pci_dev *pdev)
         * further down the line.
         */
        pci_read_config_dword(pdev, VL805_PCI_CONFIG_VERSION_OFFSET,
&version);
-       if (version)
-               goto exit;
+       if (version) {
+               pci_info(pdev, "VL805 EEPROM firmware version %08x\n",
version);
+               return 0;
+       }
 
        dev_addr = pdev->bus->number << 20 | PCI_SLOT(pdev->devfn) << 15 |
                   PCI_FUNC(pdev->devfn) << 12;
@@ -353,9 +355,8 @@ int rpi_firmware_init_vl805(struct pci_dev *pdev)
 
        pci_read_config_dword(pdev, VL805_PCI_CONFIG_VERSION_OFFSET,
                              &version);
-exit:
-       pci_info(pdev, "VL805 firmware version %08x\n", version);
 
+       pci_info(pdev, "VL805 RAM firmware version %08x\n", version);
        return 0;
 }
 EXPORT_SYMBOL_GPL(rpi_firmware_init_vl805);

Here are the my results with 3x Raspberry Pi 4:

VL805 EEPROM firmware version 000137ad
VL805 EEPROM firmware version 00013701
VL805 RAM firmware version 000137ad

So the whole patch series is:

Tested-by: Stefan Wahren <stefan.wahren@i2se.com>


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-05-09 10:03 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-05 16:13 [PATCH v8 0/4] USB: pci-quirks: Add Raspberry Pi 4 quirk Nicolas Saenz Julienne
2020-05-05 16:13 ` Nicolas Saenz Julienne
2020-05-05 16:13 ` [PATCH v8 1/4] soc: bcm2835: Add notify xHCI reset property Nicolas Saenz Julienne
2020-05-05 16:13   ` Nicolas Saenz Julienne
2020-05-07 21:48   ` Rob Herring
2020-05-07 21:48     ` Rob Herring
2020-05-05 16:13 ` [PATCH v8 2/4] firmware: raspberrypi: Introduce vl805 init routine Nicolas Saenz Julienne
2020-05-05 16:13   ` Nicolas Saenz Julienne
2020-05-07 21:48   ` Rob Herring
2020-05-07 21:48     ` Rob Herring
2020-05-09 10:02     ` Stefan Wahren [this message]
2020-05-09 10:02       ` Stefan Wahren
2020-05-09 10:09       ` Stefan Wahren
2020-05-09 10:09         ` Stefan Wahren
2020-05-09 19:20       ` Nicolas Saenz Julienne
2020-05-09 19:20         ` Nicolas Saenz Julienne
2020-05-05 16:13 ` [PATCH v8 3/4] PCI: brcmstb: Wait for Raspberry Pi's firmware when present Nicolas Saenz Julienne
2020-05-05 16:13   ` Nicolas Saenz Julienne
2020-05-07 21:49   ` Rob Herring
2020-05-07 21:49     ` Rob Herring
2020-05-05 16:13 ` [PATCH v8 4/4] USB: pci-quirks: Add Raspberry Pi 4 quirk Nicolas Saenz Julienne
2020-05-05 16:13   ` Nicolas Saenz Julienne
2020-05-07 21:52   ` Rob Herring
2020-05-07 21:52     ` Rob Herring
2020-05-11 14:25   ` Lorenzo Pieralisi
2020-05-11 14:25     ` Lorenzo Pieralisi
2020-05-13  7:05     ` Mathias Nyman
2020-05-13  7:05       ` Mathias Nyman
2020-06-02 10:05   ` Nicolas Saenz Julienne
2020-06-02 10:05     ` Nicolas Saenz Julienne
2020-06-02 21:57     ` Florian Fainelli
2020-06-02 21:57       ` Florian Fainelli
2020-05-13 11:17 ` [PATCH v8 0/4] " Lorenzo Pieralisi
2020-05-13 11:17   ` Lorenzo Pieralisi
2020-05-13 11:26   ` Nicolas Saenz Julienne
2020-05-13 11:26     ` Nicolas Saenz Julienne
2020-05-13 15:47 ` Lorenzo Pieralisi
2020-05-13 15:47   ` Lorenzo Pieralisi

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=c9449111-f646-3925-36e6-f4492ad5f90a@gmx.net \
    --to=wahrenst@gmx.net \
    --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=nsaenzjulienne@suse.de \
    --cc=rjui@broadcom.com \
    --cc=robh@kernel.org \
    --cc=sbranden@broadcom.com \
    --cc=tim.gover@raspberrypi.org \
    /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.