diff options
author | Jeremy Cline <jcline@redhat.com> | 2020-04-23 16:47:21 -0400 |
---|---|---|
committer | Jeremy Cline <jcline@redhat.com> | 2020-04-23 16:47:21 -0400 |
commit | d1b6f8c7af0eb9a0a44b2d4723e58dde5eafa236 (patch) | |
tree | 842b7a6410c2572bc8c1643196f83d2e19d80e1e /0001-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch | |
parent | 4f478aae8055f932b9a8fdd88d93db6b9da5709e (diff) | |
download | kernel-d1b6f8c7af0eb9a0a44b2d4723e58dde5eafa236.tar.gz kernel-d1b6f8c7af0eb9a0a44b2d4723e58dde5eafa236.tar.xz kernel-d1b6f8c7af0eb9a0a44b2d4723e58dde5eafa236.zip |
kernel-5.7.0-0.rc2.20200423git7adc4b399952.1
* Thu Apr 23 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc2.20200423git7adc4b399952.1]
- 7adc4b399952 rebase
- Match template format in kernel.spec.template ("Justin M. Forbes")
- Break out the Patches into individual files for dist-git ("Justin M. Forbes")
- Break the Red Hat patch into individual commits (Jeremy Cline)
- Adjust module filtering so CONFIG_DRM_DP_CEC can be set (Jeremy Cline)
- Add a script to generate release tags and branches (Jeremy Cline)
- Set CONFIG_VDPA for fedora ("Justin M. Forbes")
- Provide defaults in ark-rebase-patches.sh (Jeremy Cline)
- Default ark-rebase-patches.sh to not report issues (Jeremy Cline)
Resolves: rhbz#
Signed-off-by: Jeremy Cline <jcline@redhat.com>
Diffstat (limited to '0001-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch')
-rw-r--r-- | 0001-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/0001-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch b/0001-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch new file mode 100644 index 000000000..a59f99c73 --- /dev/null +++ b/0001-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch @@ -0,0 +1,72 @@ +From 998e1590b5b2441d9bd381f7cab24c3644ccd8f4 Mon Sep 17 00:00:00 2001 +From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +Date: Tue, 10 Mar 2020 13:52:42 +0100 +Subject: [PATCH] USB: pci-quirks: Add Raspberry Pi 4 quirk + +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. Inform VideCore that VL805 was just reset. + +Also, as this creates a dependency between XHCI_PCI and VideoCore's +firmware interface, reflect that on the firmware interface Kconfg. + +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +--- + drivers/firmware/Kconfig | 1 + + drivers/usb/host/pci-quirks.c | 16 ++++++++++++++++ + 2 files changed, 17 insertions(+) + +diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig +index 8007d4aa76dc..7ca346d3d337 100644 +--- a/drivers/firmware/Kconfig ++++ b/drivers/firmware/Kconfig +@@ -180,6 +180,7 @@ config ISCSI_IBFT + config RASPBERRYPI_FIRMWARE + tristate "Raspberry Pi Firmware Driver" + depends on BCM2835_MBOX ++ default XHCI_PCI + help + This option enables support for communicating with the firmware on the + Raspberry Pi. +diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c +index beb2efa71341..0dc34668bb2a 100644 +--- a/drivers/usb/host/pci-quirks.c ++++ b/drivers/usb/host/pci-quirks.c +@@ -16,6 +16,9 @@ + #include <linux/export.h> + #include <linux/acpi.h> + #include <linux/dmi.h> ++ ++#include <soc/bcm2835/raspberrypi-firmware.h> ++ + #include "pci-quirks.h" + #include "xhci-ext-caps.h" + +@@ -1243,11 +1246,24 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev) + + static void quirk_usb_early_handoff(struct pci_dev *pdev) + { ++ int ret; ++ + /* Skip Netlogic mips SoC's internal PCI USB controller. + * This device does not need/support EHCI/OHCI handoff + */ + if (pdev->vendor == 0x184e) /* vendor Netlogic */ + return; ++ ++ if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) { ++ ret = rpi_firmware_init_vl805(pdev); ++ if (ret) { ++ /* Firmware might be outdated, or something failed */ ++ dev_warn(&pdev->dev, ++ "Failed to load VL805's firmware: %d. Will continue to attempt to work, but bad things might happen. You should fix this...\n", ++ ret); ++ } ++ } ++ + if (pdev->class != PCI_CLASS_SERIAL_USB_UHCI && + pdev->class != PCI_CLASS_SERIAL_USB_OHCI && + pdev->class != PCI_CLASS_SERIAL_USB_EHCI && +-- +2.26.0 + |