diff options
author | Timo Teräs <timo.teras@iki.fi> | 2015-11-19 20:45:59 +0000 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2015-11-19 20:45:59 +0000 |
commit | 3461a042bb5c7618c37217a192636503e7356e69 (patch) | |
tree | 24faa748b1a3d2f16bba2506267b54dce2a0e7b4 | |
parent | 3adb6561f830cc6f7eade5e2c465e3f51bb0324e (diff) | |
download | aports-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/APKBUILD | 32 | ||||
-rw-r--r-- | main/linux-rpi/config-rpi.armhf | 10 | ||||
-rw-r--r-- | main/linux-rpi/config-rpi2.armhf | 10 | ||||
-rw-r--r-- | main/linux-rpi/rpi-dma-i2s-fix.patch | 66 |
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 + |