Skip to content
Snippets Groups Projects
Commit 284f0523 authored by Anna Wilcox's avatar Anna Wilcox :fox:
Browse files

Merge branch 'easy-kernel-5.4' into 'master'

Easy kernel 5.4

See merge request !382
parents a237745f f84f4da4
No related branches found
No related tags found
1 merge request!382Easy kernel 5.4
Showing
with 12553 additions and 17122 deletions
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: Adelie Platform Group <adelie-devel@lists.adelielinux.org>
# KEEP THIS IN SYNC with the other easy-kernel packages.
_kflavour=-power8-64k
_pkgname=easy-kernel$_kflavour
pkgver=4.14.149
pkgrel=16
pkgname=$_pkgname-$pkgver-mc$pkgrel
pkgdesc="The Linux kernel, packaged for POWER8 and POWER9 computers (with 64K page size)"
url="https://kernel.org/"
arch="ppc64"
options="!check !dbg !strip !tracedeps"
license="GPL-2.0-only"
depends=""
makedepends="bc gzip kmod lzop openssl-dev xz"
provides="easy-kernel$_kflavour=$pkgver-r$pkgrel"
subpackages="$_pkgname-modules-$pkgver-mc$pkgrel:modules
$_pkgname-src-$pkgver-mc$pkgrel:src
"
_pkgmajver=${pkgver%%.*}
_pkgminver=${pkgver%.*}
source="https://cdn.kernel.org/pub/linux/kernel/v${_pkgmajver}.x/linux-${_pkgminver}.tar.xz
https://distfiles.adelielinux.org/source/linux-${_pkgminver}-mc$pkgrel-patches.tar.xz
ast-endianness.patch
config-ppc64
"
builddir="$srcdir/linux-${_pkgminver}"
prepare() {
for patch in "$srcdir/linux-${_pkgminver}-mc$pkgrel-patches"/*; do
patch -p1 -i "$patch"
done
default_prepare
cd "$srcdir"
cp config-$CARCH linux-${_pkgminver}/.config
cp -pr linux-${_pkgminver} linux-src
}
build() {
make LDFLAGS=""
cd "$srcdir/linux-src"
make LDFLAGS="" modules_prepare clean
cp "$builddir/Module.symvers" .
}
package() {
mkdir -p "$pkgdir"/boot
make INSTALL_PATH="$pkgdir"/boot \
INSTALL_MOD_PATH="$pkgdir" \
install modules_install
if [ -f "$pkgdir"/boot/vmlinuz ]; then
mv "$pkgdir"/boot/vmlinuz \
"$pkgdir"/boot/vmlinuz-$pkgver-mc$pkgrel-easy$_kflavour
fi
if [ -f "$pkgdir"/boot/vmlinux ]; then
mv "$pkgdir"/boot/vmlinux \
"$pkgdir"/boot/vmlinux-$pkgver-mc$pkgrel-easy$_kflavour
fi
mv "$pkgdir"/boot/System.map "$pkgdir"/boot/System.map-$pkgver-mc$pkgrel-easy$_kflavour
install -D "$builddir"/include/config/kernel.release \
"$pkgdir"/usr/share/kernel/easy-$pkgver-mc$pkgrel$_kflavour/kernel.release
}
modules() {
pkgdesc="Modules / device drivers for easy-kernel"
provides="easy-kernel$_kflavour-modules=$pkgver-r$pkgrel"
autodeps=0 # modules should not depend on src just for symlink
mkdir -p "$subpkgdir"/lib
mv "$pkgdir"/lib/modules "$subpkgdir"/lib/
rm "$subpkgdir"/lib/modules/$pkgver-mc$pkgrel-easy$_kflavour/build
rm "$subpkgdir"/lib/modules/$pkgver-mc$pkgrel-easy$_kflavour/source
ln -s "../../../usr/src/linux-$pkgver-mc$pkgrel$_kflavour" \
"$subpkgdir"/lib/modules/$pkgver-mc$pkgrel-easy$_kflavour/build
ln -s "../../../usr/src/linux-$pkgver-mc$pkgrel$_kflavour" \
"$subpkgdir"/lib/modules/$pkgver-mc$pkgrel-easy$_kflavour/source
}
src() {
pkgdesc="Kernel source code used to build the kernel"
provides="easy-kernel$_kflavour-src=$pkgver-r$pkgrel"
mkdir -p "$subpkgdir"/usr/src
mv "$srcdir"/linux-src "$subpkgdir"/usr/src/linux-$pkgver-mc$pkgrel$_kflavour
}
sha512sums="77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8 linux-4.14.tar.xz
c38d64091dfd9bbf326d345c1b488d90a36b8a6c18882d62883c1dc39d4c5394f254b09813252bad57e6ddbbee80c1de90374257bd96ba50fee0241ed53c6bc2 linux-4.14-mc16-patches.tar.xz
e41d9111219342ad13367902242444ecdd847a93575c3f9709d6c6a075bc650f4a15be9db1a8798435fc0a0b56d41705829bfe0d2c2d88f8d1c28931e27ef5be ast-endianness.patch
d77c6ace3efa5d23fc193e263a939708e36fe836d141cd78fef01f04ee2d975387c7a62a309209226240dcb3b361cc6c7676634b56b7e5db9a79bcfec127df01 config-ppc64"
Author: Elizabeth Myers <elizabeth@adelielinux.org>
I'm certain this fix is wrong fwiw, but it's the best I could come with
--- linux-4.14/drivers/gpu/drm/ast/ast_fb.c.old 2017-11-12 12:46:13.000000000 -0600
+++ linux-4.14/drivers/gpu/drm/ast/ast_fb.c 2018-06-30 20:54:43.530000000 -0500
@@ -109,9 +109,30 @@
unmap = true;
}
for (i = y; i <= y2; i++) {
+ int copy_width = x2 - x + 1;
/* assume equal stride for now */
src_offset = dst_offset = i * afbdev->afb.base.pitches[0] + (x * bpp);
- memcpy_toio(bo->kmap.virtual + src_offset, afbdev->sysram + src_offset, (x2 - x + 1) * bpp);
+ switch (bpp) {
+ case 4:
+ while (copy_width) {
+ iowrite32(*(u32 *)(afbdev->sysram + src_offset),
+ bo->kmap.virtual + src_offset);
+ src_offset += 4;
+ copy_width--;
+ }
+ break;
+ case 2:
+ while (copy_width) {
+ iowrite16(*(u16 *)(afbdev->sysram + src_offset),
+ bo->kmap.virtual + src_offset);
+ src_offset += 2;
+ copy_width--;
+ }
+ break;
+ default:
+ memcpy_toio(bo->kmap.virtual + src_offset, afbdev->sysram + src_offset, (x2 - x + 1) * bpp);
+ break;
+ }
}
if (unmap)
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment