summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernels/linux-libre-lts-knock/0001-drm-radeon-Make-the-driver-load-without-the-firmwares.patch77
-rw-r--r--kernels/linux-libre-lts-knock/PKGBUILD14
2 files changed, 87 insertions, 4 deletions
diff --git a/kernels/linux-libre-lts-knock/0001-drm-radeon-Make-the-driver-load-without-the-firmwares.patch b/kernels/linux-libre-lts-knock/0001-drm-radeon-Make-the-driver-load-without-the-firmwares.patch
new file mode 100644
index 000000000..15da9c081
--- /dev/null
+++ b/kernels/linux-libre-lts-knock/0001-drm-radeon-Make-the-driver-load-without-the-firmwares.patch
@@ -0,0 +1,77 @@
+From 98e458c66c85472984a4230f34e7386af9e7b8d6 Mon Sep 17 00:00:00 2001
+From: Jason Self <j@jxself.org>
+Date: Wed, 5 Aug 2015 09:16:03 -0700
+Subject: [PATCH 1/1] [PATCH] drm/radeon: Make the driver load without the
+ firmwares.
+
+---
+ drivers/gpu/drm/radeon/r600.c | 8 ++++----
+ drivers/gpu/drm/radeon/r600_cp.c | 5 ++++-
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c
+index 720e599..d6a92ba 100644
+--- a/drivers/gpu/drm/radeon/r600.c
++++ b/drivers/gpu/drm/radeon/r600.c
+@@ -2442,7 +2442,7 @@ int r600_init_microcode(struct radeon_device *rdev)
+ }
+
+ DRM_INFO("Loading %s Microcode\n", chip_name);
+-
++#if 0
+ snprintf(fw_name, sizeof(fw_name), "/*(DEBLOBBED)*/", chip_name);
+ err = reject_firmware(&rdev->pfp_fw, fw_name, rdev->dev);
+ if (err)
+@@ -2494,7 +2494,7 @@ int r600_init_microcode(struct radeon_device *rdev)
+ err = -EINVAL;
+ }
+ }
+-
++#endif
+ out:
+ if (err) {
+ if (err != -EINVAL)
+@@ -3154,7 +3154,7 @@ int r600_init(struct radeon_device *rdev)
+ r = radeon_bo_init(rdev);
+ if (r)
+ return r;
+-
++#if 0
+ if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) {
+ r = r600_init_microcode(rdev);
+ if (r) {
+@@ -3162,7 +3162,7 @@ int r600_init(struct radeon_device *rdev)
+ return r;
+ }
+ }
+-
++#endif
+ /* Initialize power management */
+ radeon_pm_init(rdev);
+
+diff --git a/drivers/gpu/drm/radeon/r600_cp.c b/drivers/gpu/drm/radeon/r600_cp.c
+index af15260..f138df9 100644
+--- a/drivers/gpu/drm/radeon/r600_cp.c
++++ b/drivers/gpu/drm/radeon/r600_cp.c
+@@ -2241,7 +2241,7 @@ int r600_do_init_cp(struct drm_device *dev, drm_radeon_init_t *init,
+ else
+ r600_vm_init(dev);
+ }
+-
++#if 0
+ if (!dev_priv->me_fw || !dev_priv->pfp_fw) {
+ int err = r600_cp_init_microcode(dev_priv);
+ if (err) {
+@@ -2250,6 +2250,9 @@ int r600_do_init_cp(struct drm_device *dev, drm_radeon_init_t *init,
+ return err;
+ }
+ }
++#endif
++ printk("Skipping firmware loading\n");
++#endif
+ if (((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RV770))
+ r700_cp_load_microcode(dev_priv);
+ else
+--
+1.9.1
+
diff --git a/kernels/linux-libre-lts-knock/PKGBUILD b/kernels/linux-libre-lts-knock/PKGBUILD
index 7ac76ac32..605e53671 100644
--- a/kernels/linux-libre-lts-knock/PKGBUILD
+++ b/kernels/linux-libre-lts-knock/PKGBUILD
@@ -9,7 +9,7 @@
pkgbase=linux-libre-lts-knock
_pkgbasever=3.14-gnu
-_pkgver=3.14.49-gnu
+_pkgver=3.14.50-gnu
_knockpatchver=3.16_1
_replacesarchkernel=('linux%') # '%' gets replaced with _kernelname
@@ -46,10 +46,11 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgbasever}/li
'0002-module-allow-multiple-calls-to-MODULE_DEVICE_TABLE-p.patch'
'0003-module-remove-MODULE_GENERIC_TABLE.patch'
'0006-genksyms-fix-typeof-handling.patch'
- 'gcc5_buildfixes.diff')
+ 'gcc5_buildfixes.diff'
+ '0001-drm-radeon-Make-the-driver-load-without-the-firmwares.patch')
sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b'
'SKIP'
- '8146f5e0dda01cb95bf8841bc76acea42fd04a2e864cbe2ecfe55092453cc929'
+ '811f8820610d9c8622229151c638f08d62b693242cac6b0c04428b6f5df863a2'
'SKIP'
'70cbe962aa01989ffa83490bb0765d6e4c781f6133dc8d768d84bd6716ac0209'
'SKIP'
@@ -67,7 +68,8 @@ sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b'
'52dec83a8805a8642d74d764494acda863e0aa23e3d249e80d4b457e20a3fd29'
'65d58f63215ee3c5f9c4fc6bce36fc5311a6c7dbdbe1ad29de40647b47ff9c0d'
'cf2e7a2d00787f754028e7459688c2755a406e632ce48b60952fa4ff7ed6f4b7'
- '9c89039a0f876888fda3be6f574bca5a120e3587d8342747bbc0723b0b4cde7a')
+ '9c89039a0f876888fda3be6f574bca5a120e3587d8342747bbc0723b0b4cde7a'
+ '38cf6bdf70dc070ff0b785937d99347bb91f8531ea2bcca50283c8923a184c6d')
validpgpkeys=(
'474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva
'C92BAA713B8D53D3CAE63FC9E6974752F9704456' # André Silva
@@ -124,6 +126,10 @@ prepare() {
# http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=dc53324060f324e8af6867f57bf4891c13c6ef18
patch -p1 -i "${srcdir}/0006-genksyms-fix-typeof-handling.patch"
+ # Make the radeon driver load without the firmwares
+ # http://www.fsfla.org/pipermail/linux-libre/2015-August/003098.html
+ patch -Np1 -i ../0001-drm-radeon-Make-the-driver-load-without-the-firmwares.patch
+
cat "${srcdir}/config.${CARCH}" > ./.config
# append pkgrel to extraversion