aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2015-11-19 20:45:59 +0000
committerTimo Teräs <timo.teras@iki.fi>2015-11-19 20:45:59 +0000
commit3461a042bb5c7618c37217a192636503e7356e69 (patch)
tree24faa748b1a3d2f16bba2506267b54dce2a0e7b4
parent3adb6561f830cc6f7eade5e2c465e3f51bb0324e (diff)
downloadaports-3461a042bb5c7618c37217a192636503e7356e69.tar.bz2
aports-3461a042bb5c7618c37217a192636503e7356e69.tar.xz
main/linux-rpi: upgrade to 4.1.13, update patches
refresh rpi patch, add some i2s fixes and enable some more modules
-rw-r--r--main/linux-rpi/APKBUILD32
-rw-r--r--main/linux-rpi/config-rpi.armhf10
-rw-r--r--main/linux-rpi/config-rpi2.armhf10
-rw-r--r--main/linux-rpi/rpi-dma-i2s-fix.patch66
4 files changed, 96 insertions, 22 deletions
diff --git a/main/linux-rpi/APKBUILD b/main/linux-rpi/APKBUILD
index b6be6b99d8..bb12d59160 100644
--- a/main/linux-rpi/APKBUILD
+++ b/main/linux-rpi/APKBUILD
@@ -2,7 +2,7 @@
_mainflavor=rpi
pkgname=linux-$_mainflavor
-pkgver=4.1.12
+pkgver=4.1.13
case $pkgver in
*.*.*) _kernver=${pkgver%.*};;
*.*) _kernver=${pkgver};;
@@ -16,7 +16,8 @@ options="!strip"
install=
source="http://ftp.kernel.org/pub/linux/kernel/v4.x/linux-$_kernver.tar.xz
http://ftp.kernel.org/pub/linux/kernel/v4.x/patch-$pkgver.xz
- http://dev.alpinelinux.org/~tteras/linux-4.1.y-rpi-20151025.patch
+ http://dev.alpinelinux.org/~tteras/linux-4.1.y-rpi-20151119.patch
+ rpi-dma-i2s-fix.patch
rpi-cirrus-4.1.x-20151025.patch
config-rpi.armhf
@@ -196,23 +197,26 @@ dev() {
}
md5sums="fe9dc0f6729f36400ea81aa41d614c37 linux-4.1.tar.xz
-e790ae84e0109a3d95cc617be448171b patch-4.1.12.xz
-28edef874a4c2c9789605a30fda0a5b6 linux-4.1.y-rpi-20151025.patch
+e1005015404c53692e8aa6dd14efff74 patch-4.1.13.xz
+351cb861020321c0fd23fdc5a201463a linux-4.1.y-rpi-20151119.patch
+52787712305201c60ab9bc128c9e373b rpi-dma-i2s-fix.patch
e3429d7772cb3bf73ff4c51aabb2a5cf rpi-cirrus-4.1.x-20151025.patch
-e2e2333bbbf3e420b770c54c63e2c235 config-rpi.armhf
-f22be75c5c4f65fc06ae606eaf79b736 config-rpi2.armhf
+cb71e2a517e7d019596eab9cbc91a080 config-rpi.armhf
+59f634c4646dab6bc1fe059efaf773e9 config-rpi2.armhf
e587cae1dca2f5992555d9bcf53deecf markdt"
sha256sums="caf51f085aac1e1cea4d00dbbf3093ead07b551fc07b31b2a989c05f8ea72d9f linux-4.1.tar.xz
-f3520b06e6a2b9929173c680de75f11cde9f0a380e04195d538b5de820a549ae patch-4.1.12.xz
-471375facefd099de01eae67215e74e31db1e113157c0e43a21e7df27e64ca75 linux-4.1.y-rpi-20151025.patch
+1c3ba78cbaa1a260798d6d0d2aa319ff41ae676b443e5bf06ab441436dcdd171 patch-4.1.13.xz
+cdb26705b8841bbadcf4e862dc3f582049fe8169a4951e4c4a34de1f3dac4293 linux-4.1.y-rpi-20151119.patch
+f1349b95149f4a21949ebc3dae1c2b144278d170322afeb7975d2cea7f64f10c rpi-dma-i2s-fix.patch
b1b5b8bf16e2eacec19931279984f2bc96851da6e9786d4c9422caa1ac7af2fe rpi-cirrus-4.1.x-20151025.patch
-17a112f574b066bc210aa4d8f7090f053596b4cb7dc02c6cb9926a994d7304fd config-rpi.armhf
-f480a726e92d871d1c9f7ef68abcc9f61f06f8027fc60a6668219909b6b657a2 config-rpi2.armhf
+c38d092ae49c4d3f642c4a99432d139092c331f2b33e81c5855b38381ad79411 config-rpi.armhf
+5f450314b5af2d6079d32c3a67eb7df49dd73c4732cff392a953b19838fa6e6a config-rpi2.armhf
0f6681fc5c3590e1dbe13a2bde796403bd1529cf0fe19720899eaa0db79bcb49 markdt"
sha512sums="168ef84a4e67619f9f53f3574e438542a5747f9b43443363cb83597fcdac9f40d201625c66e375a23226745eaada9176eb006ca023613cec089349e91751f3c0 linux-4.1.tar.xz
-164f216faa8fef6a28fe03bdb69c7bee5ff99cf560271264b52e62aec63c1d4d6475d4a6f2b4b4c02d235568ebe8bafd3b36be75c8a505cde8edbb70136d89b4 patch-4.1.12.xz
-26752f27d0f2ca977e3d3a2132c150147b2263ce85ab5dfed67864b1adc2827a039ceaac14642d9c680a0572b7721d0f10d25786c2584fbc853817f487ef5ac3 linux-4.1.y-rpi-20151025.patch
+0fa60b9fceb6103c11ed1df8d4f264d1c4efcd75da258709f1d0a6813f8117977fa2279b36da22bd69cc2bc808b092207a438c2e80a65a988f4c72363a605832 patch-4.1.13.xz
+cae26e2303fccf5246d1b3f8c78425860410ad7667ab7a9805497493d4926978b99ebe95486f00324e3af9cd86fb9e1965f719531ccff9c56efab8ea29b180d0 linux-4.1.y-rpi-20151119.patch
+080ba354e40f86338278339b8b3fc2cfd5b77c38c34067b0b7e2b31d07834baf99b3bf04153844e86433bda6fc0de5d86679e1d99521109b1a9a5dbeee6df2b6 rpi-dma-i2s-fix.patch
3e4717c21def19d7c9714b1d9d07f8dbf8fd27e986cbd978eda50c586cc21d1399b50db4255589d09abb6fe5b532c3959481098f229c4ea4526a044fc1da17b0 rpi-cirrus-4.1.x-20151025.patch
-3999e7defbc14681288febc420aa7f370c8fdbc047ad36b3c8d5bbee80a969af3c3f8b909a0d719d16cedf697a6a546cceceab39468ecb88554f73e422b7e076 config-rpi.armhf
-0f501be130951b2bfee26a3f056aaede9fac2b6becb6ffd28cd53f91571a70a69fe86d09589b3c61ecb04f40a6399ba6334aa8780601d709c95bfa74476a3e32 config-rpi2.armhf
+69b5beae27dc58e7e7cf1aa351923a980ae453b39f9092fe97220f0b508f46e7e45197da22a2088723bafd6f9293c31475741c63a9ed8e587a1d45392addb9af config-rpi.armhf
+7d2f238f0a460fa4cbf6b26188fdbe8241a07846eaf3f6c6f4be33bdb836e9e26c58312109d51092e6faeb304c9281541c62da46539faa1614ef4c1bdacc08eb config-rpi2.armhf
a4ecd1f48db64f9d6a189250d1937d7f2cd3a049a3d24cc527d04d05db06137722f1ba44bcd6033794781c3f2cfe2fbe065410a16de4bfdf4b1cd95d89322a77 markdt"
diff --git a/main/linux-rpi/config-rpi.armhf b/main/linux-rpi/config-rpi.armhf
index c40ee50462..b1bdf46d09 100644
--- a/main/linux-rpi/config-rpi.armhf
+++ b/main/linux-rpi/config-rpi.armhf
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/arm 4.1.11 Kernel Configuration
+# Linux/arm 4.1.13 Kernel Configuration
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -1762,6 +1762,7 @@ CONFIG_TOUCHSCREEN_ADS7846=m
# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
# CONFIG_TOUCHSCREEN_EETI is not set
# CONFIG_TOUCHSCREEN_EGALAX is not set
+CONFIG_TOUCHSCREEN_FT6236=m
# CONFIG_TOUCHSCREEN_FUJITSU is not set
# CONFIG_TOUCHSCREEN_GOODIX is not set
# CONFIG_TOUCHSCREEN_ILI210X is not set
@@ -1951,7 +1952,7 @@ CONFIG_I2C_BCM2708_BAUDRATE=100000
CONFIG_I2C_BCM2835=m
# CONFIG_I2C_CBUS_GPIO is not set
# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
-# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_GPIO=m
# CONFIG_I2C_NOMADIK is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
@@ -2052,6 +2053,7 @@ CONFIG_OF_GPIO=y
CONFIG_GPIOLIB_IRQCHIP=y
# CONFIG_DEBUG_GPIO is not set
CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_MAX730X=m
#
# Memory mapped GPIO drivers
@@ -2087,8 +2089,8 @@ CONFIG_GPIO_STMPE=y
# SPI GPIO expanders
#
# CONFIG_GPIO_74X164 is not set
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
+CONFIG_GPIO_MAX7301=m
+CONFIG_GPIO_MCP23S08=m
# CONFIG_GPIO_MC33880 is not set
#
diff --git a/main/linux-rpi/config-rpi2.armhf b/main/linux-rpi/config-rpi2.armhf
index 0121fc3e6f..46cee9af4a 100644
--- a/main/linux-rpi/config-rpi2.armhf
+++ b/main/linux-rpi/config-rpi2.armhf
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/arm 4.1.11 Kernel Configuration
+# Linux/arm 4.1.13 Kernel Configuration
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -1813,6 +1813,7 @@ CONFIG_TOUCHSCREEN_ADS7846=m
# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
# CONFIG_TOUCHSCREEN_EETI is not set
# CONFIG_TOUCHSCREEN_EGALAX is not set
+CONFIG_TOUCHSCREEN_FT6236=m
# CONFIG_TOUCHSCREEN_FUJITSU is not set
# CONFIG_TOUCHSCREEN_GOODIX is not set
# CONFIG_TOUCHSCREEN_ILI210X is not set
@@ -2002,7 +2003,7 @@ CONFIG_I2C_BCM2708_BAUDRATE=100000
CONFIG_I2C_BCM2835=m
# CONFIG_I2C_CBUS_GPIO is not set
# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
-# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_GPIO=m
# CONFIG_I2C_NOMADIK is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
@@ -2103,6 +2104,7 @@ CONFIG_OF_GPIO=y
CONFIG_GPIOLIB_IRQCHIP=y
# CONFIG_DEBUG_GPIO is not set
CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_MAX730X=m
#
# Memory mapped GPIO drivers
@@ -2138,8 +2140,8 @@ CONFIG_GPIO_STMPE=y
# SPI GPIO expanders
#
# CONFIG_GPIO_74X164 is not set
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
+CONFIG_GPIO_MAX7301=m
+CONFIG_GPIO_MCP23S08=m
# CONFIG_GPIO_MC33880 is not set
#
diff --git a/main/linux-rpi/rpi-dma-i2s-fix.patch b/main/linux-rpi/rpi-dma-i2s-fix.patch
new file mode 100644
index 0000000000..82fa6dcf7c
--- /dev/null
+++ b/main/linux-rpi/rpi-dma-i2s-fix.patch
@@ -0,0 +1,66 @@
+From 8a2e9aec63f46deceacd0a92a66835a07fb18a31 Mon Sep 17 00:00:00 2001
+From: Matthias Reichl <hias@horus.com>
+Date: Sun, 8 Nov 2015 16:58:57 +0100
+Subject: [PATCH] bcm2708-dmaengine: fix calculation of cyclic DMA frames
+
+The calculation of the number of required frames was wrong which
+could lead to the last frame being longer than the requested period
+length and even the maximum supported transfer size.
+
+eg when requesting a 88208 bytes buffer with a period len of 22052
+(the defaults when playing a 44.1kHz stereo 16bit file with aplay)
+the code would allocate 3 frames, two with 22052 bytes and the
+last one with 44104 bytes instead of the expected 4 frames with
+22052 bytes each.
+
+Signed-off-by: Matthias Reichl <hias@horus.com>
+---
+ drivers/dma/bcm2708-dmaengine.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/dma/bcm2708-dmaengine.c b/drivers/dma/bcm2708-dmaengine.c
+index 85ce18b..91eac60 100644
+--- a/drivers/dma/bcm2708-dmaengine.c
++++ b/drivers/dma/bcm2708-dmaengine.c
+@@ -710,7 +710,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic(
+ max_size = MAX_NORMAL_TRANSFER;
+ period_len = min(period_len, max_size);
+
+- d->frames = (buf_len-1) / period_len + 1;
++ d->frames = DIV_ROUND_UP(buf_len, period_len);
+
+ /* Allocate memory for control blocks */
+ d->control_block_size = d->frames * sizeof(struct bcm2835_dma_cb);
+--
+2.6.3
+
+
+From 8e469d0e00fa0f337e0e5ccdb504ce0ecf6ea6d6 Mon Sep 17 00:00:00 2001
+From: Matthias Reichl <hias@horus.com>
+Date: Sun, 8 Nov 2015 17:00:45 +0100
+Subject: [PATCH] bcm2708-i2s: match period_bytes_max to DMA controller limit
+
+bcm2708-dmaengine supports a maximum transfer length of 32k bytes on
+the lite channels. period_bytes_max should reflect this limit.
+
+Signed-off-by: Matthias Reichl <hias@horus.com>
+---
+ sound/soc/bcm/bcm2708-i2s.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sound/soc/bcm/bcm2708-i2s.c b/sound/soc/bcm/bcm2708-i2s.c
+index 5e93cd6..b65d785 100644
+--- a/sound/soc/bcm/bcm2708-i2s.c
++++ b/sound/soc/bcm/bcm2708-i2s.c
+@@ -881,7 +881,7 @@ static struct snd_pcm_hardware bcm2708_pcm_hardware = {
+ SNDRV_PCM_FMTBIT_S24_LE |
+ SNDRV_PCM_FMTBIT_S32_LE,
+ .period_bytes_min = 32,
+- .period_bytes_max = 64 * PAGE_SIZE,
++ .period_bytes_max = SZ_32K,
+ .periods_min = 2,
+ .periods_max = 255,
+ .buffer_bytes_max = 128 * PAGE_SIZE,
+--
+2.6.3
+