PCI-E patch for kirkwoods, updated cryptodev to v1.5

This commit is contained in:
moonman 2012-12-11 18:28:40 -07:00
parent c56600f3c9
commit 363055c817
3 changed files with 45 additions and 5 deletions

View file

@ -10,17 +10,17 @@ pkgname=('linux' 'linux-headers')
_kernelname=${pkgname#linux}
_basekernel=3.1
pkgver=${_basekernel}.10
pkgrel=14
cryptover=1.4
pkgrel=15
cryptover=1.5
arch=('arm')
url="http://www.kernel.org/"
license=('GPL2')
makedepends=('xmlto' 'docbook-xsl' 'uboot-mkimage')
options=('!strip')
source=("ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-${_basekernel}.tar.bz2"
"ftp://ftp.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.bz2"
'archlinuxarm.patch'
'pciefix.patch'
'support.patch'
'aufs3-kbuild.patch'
'aufs3-base.patch'
@ -38,6 +38,9 @@ build() {
# add upstream patch
patch -p1 -i "${srcdir}/patch-${pkgver}"
#Add the pci-e patch backported from 3.6.10 for kirkwoods
patch -Np1 -i "${srcdir}/pciefix.patch"
# Add the USB_QUIRK_RESET_RESUME for several webcams
# FS#26528
patch -Np1 -i "${srcdir}/usb-add-reset-resume-quirk-for-several-webcams.patch"

View file

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm 3.1.10-13 Kernel Configuration
# Linux/arm 3.1.10-15 Kernel Configuration
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@ -1502,7 +1502,7 @@ CONFIG_ATH5K_PCI=y
CONFIG_ATH9K_HW=m
CONFIG_ATH9K_COMMON=m
CONFIG_ATH9K=m
# CONFIG_ATH9K_PCI is not set
CONFIG_ATH9K_PCI=y
# CONFIG_ATH9K_AHB is not set
# CONFIG_ATH9K_DEBUGFS is not set
CONFIG_ATH9K_RATE_CONTROL=y

37
core/linux/pciefix.patch Normal file
View file

@ -0,0 +1,37 @@
diff -rupN linux-3.1.old/arch/arm/Kconfig linux-3.1/arch/arm/Kconfig
--- linux-3.1.old/arch/arm/Kconfig 2011-10-24 01:10:05.000000000 -0600
+++ linux-3.1/arch/arm/Kconfig 2012-12-11 10:53:26.000000000 -0700
@@ -503,6 +503,7 @@ config ARCH_KIRKWOOD
bool "Marvell Kirkwood"
select CPU_FEROCEON
select PCI
+ select PCI_QUIRKS
select ARCH_REQUIRE_GPIOLIB
select GENERIC_CLOCKEVENTS
select PLAT_ORION
diff -rupN linux-3.1.old/arch/arm/mach-kirkwood/pcie.c linux-3.1/arch/arm/mach-kirkwood/pcie.c
--- linux-3.1.old/arch/arm/mach-kirkwood/pcie.c 2011-10-24 01:10:05.000000000 -0600
+++ linux-3.1/arch/arm/mach-kirkwood/pcie.c 2012-12-11 10:56:22.000000000 -0700
@@ -213,14 +213,19 @@ static int __init kirkwood_pcie_setup(in
return 1;
}
+/*
+ * The root complex has a hardwired class of PCI_CLASS_MEMORY_OTHER, when it
+ * is operating as a root complex this needs to be switched to
+ * PCI_CLASS_BRIDGE_HOST or Linux will errantly try to process the BAR's on
+ * the device. Decoding setup is handled by the orion code.
+ */
static void __devinit rc_pci_fixup(struct pci_dev *dev)
{
- /*
- * Prevent enumeration of root complex.
- */
if (dev->bus->parent == NULL && dev->devfn == 0) {
int i;
+ dev->class &= 0xff;
+ dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
dev->resource[i].start = 0;
dev->resource[i].end = 0;