From 835a49ff92f6836d7d2ec7864f29475793430a2e Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 29 Mar 2014 02:55:53 +0100 Subject: [PATCH] projects/RPi/patches: update RPi kernel patch Signed-off-by: Stephan Raue --- ...tch => linux-01-RPi_support-2514e94.patch} | 1136 +++++++++++++---- 1 file changed, 906 insertions(+), 230 deletions(-) rename projects/RPi/patches/linux/{linux-01-RPi_support-d404f17.patch => linux-01-RPi_support-2514e94.patch} (98%) diff --git a/projects/RPi/patches/linux/linux-01-RPi_support-d404f17.patch b/projects/RPi/patches/linux/linux-01-RPi_support-2514e94.patch similarity index 98% rename from projects/RPi/patches/linux/linux-01-RPi_support-d404f17.patch rename to projects/RPi/patches/linux/linux-01-RPi_support-2514e94.patch index 611ca5ee13..f858829d34 100644 --- a/projects/RPi/patches/linux/linux-01-RPi_support-d404f17.patch +++ b/projects/RPi/patches/linux/linux-01-RPi_support-2514e94.patch @@ -1,7 +1,7 @@ -From f2a0e9ea514bb20c79f9678f6849aecd8adc7043 Mon Sep 17 00:00:00 2001 +From 1f02e316c486f346622a9d667f1546e8d7a63e66 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 001/114] Main bcm2708 linux port +Subject: [PATCH 001/118] Main bcm2708 linux port Signed-off-by: popcornmix --- @@ -97,7 +97,7 @@ Signed-off-by: popcornmix create mode 100644 drivers/mmc/host/sdhci-bcm2708.c diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index c1f1a7e..1488f2d 100644 +index 47085a0..99605f2 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -373,6 +373,22 @@ config ARCH_AT91 @@ -8562,10 +8562,10 @@ index 362927c4..e23fffb 100644 1.8.5.5 -From 8d8c0af2b43c0b0818e634673eee55c0897cc89b Mon Sep 17 00:00:00 2001 +From 7a13d7edb47f433fb1733853bb43e0f3386e61c5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 7 May 2013 22:20:24 +0100 -Subject: [PATCH 002/114] Add quick config. +Subject: [PATCH 002/118] Add quick config. This is designed for quick compiling when developing. No modules are needed and it includes all Pi specific drivers @@ -8781,10 +8781,10 @@ index 0000000..e5efe75 1.8.5.5 -From db70a1fdce50c0957c303e33151d2f0436c9b4a4 Mon Sep 17 00:00:00 2001 +From 0cba8b7abbde7612778e91df5f45d4b3f2a983ce Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 003/114] Add dwc_otg driver +Subject: [PATCH 003/118] Add dwc_otg driver Signed-off-by: popcornmix --- @@ -65856,10 +65856,10 @@ index 0000000..cdc9963 1.8.5.5 -From 4b849c0d4013a8561f918e79f64aaadbd30e45da Mon Sep 17 00:00:00 2001 +From 8086eaa83b8775d04fabf882b8f1545337262c2c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:54:32 +0100 -Subject: [PATCH 004/114] bcm2708 watchdog driver +Subject: [PATCH 004/118] bcm2708 watchdog driver Signed-off-by: popcornmix --- @@ -66292,10 +66292,10 @@ index 0000000..2f19203 1.8.5.5 -From 4fe339a280839f023b7f72020770c435e58c0cd7 Mon Sep 17 00:00:00 2001 +From 18c3c0ec43007d771d2959c8b5305735b2fef695 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:55:09 +0100 -Subject: [PATCH 005/114] bcm2708 framebuffer driver +Subject: [PATCH 005/118] bcm2708 framebuffer driver Signed-off-by: popcornmix --- @@ -69334,10 +69334,10 @@ index 3c14e43..7626beb 100644 1.8.5.5 -From a58b4b4f0b4bd91b39dc02f3152aef84c7a4c82a Mon Sep 17 00:00:00 2001 +From ea589c3d2b47930a2e9de46114746e75a6bf294b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 2 Jul 2013 23:42:01 +0100 -Subject: [PATCH 006/114] bcm2708 vchiq driver +Subject: [PATCH 006/118] bcm2708 vchiq driver Signed-off-by: popcornmix --- @@ -81838,10 +81838,10 @@ index 0000000..b6bfa21 1.8.5.5 -From 17620b27115fe005b653620aab7ec3415a4da22f Mon Sep 17 00:00:00 2001 +From 0a06a49fa0fca87e169ed3d0e4defe63bad620a5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:31:47 +0100 -Subject: [PATCH 007/114] cma: Add vc_cma driver to enable use of CMA +Subject: [PATCH 007/118] cma: Add vc_cma driver to enable use of CMA Signed-off-by: popcornmix --- @@ -83131,10 +83131,10 @@ index 0000000..5325832 1.8.5.5 -From 8ada8642472402426d3ca8adf7df0ed228db21b3 Mon Sep 17 00:00:00 2001 +From acdc48586e5a7650b2ce59e4d24e67c9e4309c1e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 26 Mar 2012 22:15:50 +0100 -Subject: [PATCH 008/114] bcm2708: alsa sound driver +Subject: [PATCH 008/118] bcm2708: alsa sound driver Signed-off-by: popcornmix --- @@ -85456,10 +85456,10 @@ index 0000000..af3e6eb 1.8.5.5 -From efca2e15978a2d5fd87853a1990fc4ae8d614397 Mon Sep 17 00:00:00 2001 +From 57834ddba388a4fd93a172543c353ee049325423 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 009/114] Allow mac address to be set in smsc95xx +Subject: [PATCH 009/118] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -85553,10 +85553,10 @@ index 9375b8c..f024562 100644 1.8.5.5 -From 7fa8e3f3cc902e9d26508e88b4a8332cb4e68691 Mon Sep 17 00:00:00 2001 +From 7f2a7eccaca9f5f92bb5867859c123d8549ea48a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 8 May 2012 23:12:13 +0100 -Subject: [PATCH 010/114] Fixes for sdhci-bcm2708 +Subject: [PATCH 010/118] Fixes for sdhci-bcm2708 possible fix for sdcard missing status. Thank naren @@ -86808,10 +86808,10 @@ index e23fffb..b1b6537 100644 1.8.5.5 -From 8b6014492ae1ba89be37c882e4834130f9a2a7c4 Mon Sep 17 00:00:00 2001 +From b1b2f1f4d1f2b82f55f62dbb76a97852470dacf3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 4 Nov 2013 18:56:10 +0000 -Subject: [PATCH 011/114] Add Chris Boot's i2c and spi drivers. +Subject: [PATCH 011/118] Add Chris Boot's i2c and spi drivers. --- arch/arm/configs/bcmrpi_cutdown_defconfig | 9 + @@ -87053,7 +87053,7 @@ index 110ce07..4d3c15d 100644 #define MCORE_BASE (BCM2708_PERI_BASE + 0x0000) /* Fake frame buffer device (actually the multicore sync block*/ diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig -index faa3e8e..808a674 100644 +index 2469ee0..91562c1 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -347,6 +347,25 @@ config I2C_BCM2835 @@ -88175,10 +88175,10 @@ index 0000000..180264a 1.8.5.5 -From 44fa86d19dfce204158bb17b18d9cbe89c386069 Mon Sep 17 00:00:00 2001 +From e677388002600cccbb23dde2c8f0ad2437e3f06c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 012/114] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 012/118] enabling the realtime clock 1-wire chip DS1307 and 1-wire on GPIO4 (as a module) --- @@ -88241,10 +88241,10 @@ index 63b8273..2a36411 100644 1.8.5.5 -From 1d2dc959408773e9ea8a83557705feed704a5138 Mon Sep 17 00:00:00 2001 +From a11c4058fffd7006238b732f8edf07b68bda5a5e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:46:42 +0100 -Subject: [PATCH 013/114] Add FIQ patch to dwc_otg driver. Enable with +Subject: [PATCH 013/118] Add FIQ patch to dwc_otg driver. Enable with dwc_otg.fiq_fix_enable=1. Should give about 10% more ARM performance. Thanks to Gordon and Costas @@ -88275,7 +88275,7 @@ Subject: [PATCH 013/114] Add FIQ patch to dwc_otg driver. Enable with create mode 100755 drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 1488f2d..d667223 100644 +index 99605f2..97ad2d2 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -386,6 +386,7 @@ config ARCH_BCM2708 @@ -89404,10 +89404,10 @@ index e46d9bb..6b2c7d0 100644 1.8.5.5 -From 8bd0cae670b92565acdf67c3aa313edb8f76fdce Mon Sep 17 00:00:00 2001 +From d8fd0c98550d39b967174d5359e20a637afc7925 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 8 Sep 2012 15:17:53 +0100 -Subject: [PATCH 016/114] Avoid dynamic memory allocation for channel lock in +Subject: [PATCH 016/118] Avoid dynamic memory allocation for channel lock in USB driver. Thanks ddv2005. --- @@ -89514,10 +89514,10 @@ index b7b6b0c..76b5085 100644 1.8.5.5 -From 4d4b88681d36f7af523f25d18fc490e37855b9e9 Mon Sep 17 00:00:00 2001 +From d8e89ec2e7ca815a752bd3494693cad10539157e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 017/114] Add cpufreq driver +Subject: [PATCH 017/118] Add cpufreq driver --- arch/arm/Kconfig | 1 + @@ -89528,7 +89528,7 @@ Subject: [PATCH 017/114] Add cpufreq driver create mode 100755 drivers/cpufreq/bcm2835-cpufreq.c diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index d667223..a97dd15 100644 +index 97ad2d2..2d051ab 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -382,6 +382,7 @@ config ARCH_BCM2708 @@ -89819,10 +89819,10 @@ index 0000000..7bc55bd 1.8.5.5 -From 46bf013f5a0c9027bc28b208c127bb447dc2b1ff Mon Sep 17 00:00:00 2001 +From 1d76275b7ebebe837fc27dd97fd4d30050083372 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 12 Apr 2013 23:58:47 +0100 -Subject: [PATCH 018/114] config: add missing options from 3.6.y kernel +Subject: [PATCH 018/118] config: add missing options from 3.6.y kernel --- arch/arm/configs/bcmrpi_defconfig | 742 ++++++++++++++++++++++++++++++++------ @@ -90859,10 +90859,10 @@ index 31f5afaa..88f930c 100644 1.8.5.5 -From 9db94dd39f5c207a67b3d327e7082d5f225885ff Mon Sep 17 00:00:00 2001 +From 9fb25e7329b5f67f918b35253b25778656c6317c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 8 Apr 2013 21:12:48 +0100 -Subject: [PATCH 019/114] Add NAK holdoff scheme. Enabled by default, disable +Subject: [PATCH 019/118] Add NAK holdoff scheme. Enabled by default, disable with dwc_otg.nak_holdoff_enable=0. Thanks gsh --- @@ -91072,10 +91072,10 @@ index a9dea55..ebee73a 100644 1.8.5.5 -From 8354e68e0cc1d5bc2dea0badc7e84ddc863f2a83 Mon Sep 17 00:00:00 2001 +From 3eb94600c9feb5566b3e03e9f48eea4a1dbf6020 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 19:24:24 +0000 -Subject: [PATCH 020/114] Added hwmon/thermal driver for reporting core +Subject: [PATCH 020/118] Added hwmon/thermal driver for reporting core temperature. Thanks Dorian --- @@ -91623,10 +91623,10 @@ index 0000000..3f9a733 1.8.5.5 -From 88c82c40b210426f1fea496ed7493c32a617b783 Mon Sep 17 00:00:00 2001 +From 07ad0788db5094fb8d622f3dea58eeade391df0e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Apr 2013 12:16:36 +0100 -Subject: [PATCH 021/114] Enable multiple ALSA channels +Subject: [PATCH 021/118] Enable multiple ALSA channels --- arch/arm/mach-bcm2708/bcm2708.c | 54 ++++++++++++++++++++++++++++++++++++----- @@ -91701,10 +91701,10 @@ index 8b6ff52..b4d94bf 100644 1.8.5.5 -From f11e6d0620eb918df1783b02043807de456b0057 Mon Sep 17 00:00:00 2001 +From 20f223d7e15226ff90de5a3367563f90731706fd Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Sun, 4 Nov 2012 15:55:01 +0000 -Subject: [PATCH 022/114] Make sure we wait for the reset to finish +Subject: [PATCH 022/118] Make sure we wait for the reset to finish --- drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 2 ++ @@ -91727,10 +91727,10 @@ index aff59df..1a23d4b 100644 1.8.5.5 -From 22f45c590d672a330100cb9a7866f8f32dcb8c9f Mon Sep 17 00:00:00 2001 +From f7ed2c5705d6846b3362cc376fa8ffda87cf6cc3 Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 023/114] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 023/118] lirc: added support for RaspberryPi GPIO --- drivers/staging/media/lirc/Kconfig | 6 + @@ -92471,10 +92471,10 @@ index 0000000..c76f696 1.8.5.5 -From 5c4979b2f8564ba16e845cd165acf9dd733d9277 Mon Sep 17 00:00:00 2001 +From f3886f0063216ef7dbc435cf9351202b1c95eec2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 11 Dec 2012 18:23:03 +0000 -Subject: [PATCH 024/114] Default to dwc_otp.lpm_enable=0 +Subject: [PATCH 024/118] Default to dwc_otp.lpm_enable=0 --- drivers/usb/host/dwc_otg/dwc_otg_driver.c | 2 +- @@ -92497,10 +92497,10 @@ index d58ebd7..c2bb596 100644 1.8.5.5 -From 01948adb4c3e773c977f74f97b090baa734bf5fd Mon Sep 17 00:00:00 2001 +From 545f11fa079a2ecd458798ca34d8da1496ca29a8 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 9 Jan 2013 16:12:04 +0000 -Subject: [PATCH 025/114] dwc_otg: fix bug in dwc_otg_hcd.c resulting in silent +Subject: [PATCH 025/118] dwc_otg: fix bug in dwc_otg_hcd.c resulting in silent kernel memory corruption, escalating to OOPS under high USB load. --- @@ -92537,10 +92537,10 @@ index ebee73a..b3efaf4 100644 1.8.5.5 -From 5bda150bac73da6334f99b39e2eac7e4c7a49051 Mon Sep 17 00:00:00 2001 +From 09edc4634fb1b5c8b4b030a6727b6258f9020d8e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:51:55 +0100 -Subject: [PATCH 026/114] Add hwrng (hardware random number generator) driver +Subject: [PATCH 026/118] Add hwrng (hardware random number generator) driver --- arch/arm/mach-bcm2708/include/mach/platform.h | 1 + @@ -92721,10 +92721,10 @@ index 0000000..1ffa7d7 1.8.5.5 -From 2a2d2de7676c507eddcb114a5d0363f53f55bced Mon Sep 17 00:00:00 2001 +From 8981b8d18960aee68f42504f05b8f90bf0993e08 Mon Sep 17 00:00:00 2001 From: Technion Date: Mon, 11 Feb 2013 22:08:53 +1100 -Subject: [PATCH 027/114] Changed wording on logging. Previously, we received +Subject: [PATCH 027/118] Changed wording on logging. Previously, we received errors like this: mmc0: could read SD Status register (SSR) at the 3th attempt A more sensible response is now returned. A typo also fixed in comments. @@ -92759,10 +92759,10 @@ index 897cea6..ea11f9c 100644 1.8.5.5 -From 36afab412c71e1e1c0ac8783aa12817c2ba0a6b9 Mon Sep 17 00:00:00 2001 +From 317b349cffa0055c73d7220557edfc225a53efce Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 15 Feb 2013 22:36:47 +0000 -Subject: [PATCH 028/114] dwc_otg: Fix unsafe access of QTD during URB enqueue +Subject: [PATCH 028/118] dwc_otg: Fix unsafe access of QTD during URB enqueue In dwc_otg_hcd_urb_enqueue during qtd creation, it was possible that the transaction could complete almost immediately after the qtd was assigned @@ -92849,10 +92849,10 @@ index b3efaf4..1554be5 100644 1.8.5.5 -From 8f93708fc874e3dd8ba52011fa58f6c9f3955a12 Mon Sep 17 00:00:00 2001 +From 110a5ae130cfa68eb37a19d6aa855a1e5f077980 Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 15 Feb 2013 22:38:40 +0000 -Subject: [PATCH 029/114] dwc_otg: Fix incorrect URB allocation error handling +Subject: [PATCH 029/118] dwc_otg: Fix incorrect URB allocation error handling If the memory allocation for a dwc_otg_urb failed, the kernel would OOPS because for some reason a member of the *unallocated* struct was set to @@ -92893,10 +92893,10 @@ index 35d03d1..6fe30e3 100644 1.8.5.5 -From 1fe2110899201cbe7ad312076ce85b4330abd248 Mon Sep 17 00:00:00 2001 +From b35d631f88561c4b98ad8c34a620f5a288aa557a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 24 Feb 2013 16:30:57 +0000 -Subject: [PATCH 030/114] Add retry on error and tidy of temperature driver +Subject: [PATCH 030/118] Add retry on error and tidy of temperature driver --- drivers/thermal/bcm2835-thermal.c | 78 ++++++++++++++------------------------- @@ -93023,10 +93023,10 @@ index 3f9a733..85fceb5 100644 1.8.5.5 -From 9b64ecd7eaf2cf6eb18b6639c80163661a2ce61c Mon Sep 17 00:00:00 2001 +From ee657da96982efef20ebaab6342c46c7e5c7af29 Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 28 Feb 2013 16:52:51 +0000 -Subject: [PATCH 031/114] dwc_otg: fix potential use-after-free case in +Subject: [PATCH 031/118] dwc_otg: fix potential use-after-free case in interrupt handler If a transaction had previously aborted, certain interrupts are @@ -93058,10 +93058,10 @@ index 1a23d4b..7af455d 100644 1.8.5.5 -From 9c7c33226408c157cc2f9ea482c2e96a5d2fff32 Mon Sep 17 00:00:00 2001 +From ce210021215a608a69375ab2aacd1137eedc57f8 Mon Sep 17 00:00:00 2001 From: P33M Date: Sun, 3 Mar 2013 14:45:53 +0000 -Subject: [PATCH 032/114] dwc_otg: add handling of SPLIT transaction data +Subject: [PATCH 032/118] dwc_otg: add handling of SPLIT transaction data toggle errors Previously a data toggle error on packets from a USB1.1 device behind @@ -93116,10 +93116,10 @@ index 7af455d..a27dacd 100644 1.8.5.5 -From fd07f8d65aecd03063272f4f737e0da08c3747c0 Mon Sep 17 00:00:00 2001 +From e526afa3a38131cefb76a8b9b629b781950b2e32 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 21:14:28 +0100 -Subject: [PATCH 033/114] Add bitbanging pullups, use them for w1-gpio +Subject: [PATCH 033/118] Add bitbanging pullups, use them for w1-gpio Allows parasite power to work, uses module option pullup=1 --- @@ -93258,10 +93258,10 @@ index e10acc2..667fdd5 100644 1.8.5.5 -From cba0d44ee6f8be6a7c8ea930f61908679e289285 Mon Sep 17 00:00:00 2001 +From c4100fa6d20d6e7931f23137bdd0a4e4c98b139f Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 21 Mar 2013 19:36:17 +0000 -Subject: [PATCH 034/114] dwc_otg: implement tasklet for returning URBs to +Subject: [PATCH 034/118] dwc_otg: implement tasklet for returning URBs to usbcore hcd layer The dwc_otg driver interrupt handler for transfer completion will spend @@ -93503,10 +93503,10 @@ index 2b4a14e..39787e3 100644 1.8.5.5 -From c62e45a234c8ce12e1130bdba365772c23ea8820 Mon Sep 17 00:00:00 2001 +From 9efa748025e94bc8b25dbe56b0c6db76fd4f4684 Mon Sep 17 00:00:00 2001 From: P33M Date: Mon, 22 Apr 2013 00:08:36 +0100 -Subject: [PATCH 036/114] dwc_otg: fix NAK holdoff and allow on split +Subject: [PATCH 036/118] dwc_otg: fix NAK holdoff and allow on split transactions only This corrects a bug where if a single active non-periodic endpoint @@ -93576,10 +93576,10 @@ index 533b17d..73f7643 100644 1.8.5.5 -From 6a4b9abf66633ec5b295ee8177228308b80b7240 Mon Sep 17 00:00:00 2001 +From d8e5907645efd608cbe53b06f0e9f19c30e259d5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 26 Apr 2013 10:08:31 -0700 -Subject: [PATCH 037/114] Merge pull request #286 from +Subject: [PATCH 037/118] Merge pull request #286 from martinezjavier/rpi-3.6.y-dev add mmap support and some cleanups to bcm2835 ALSA driver @@ -94060,10 +94060,10 @@ index 080bd5c..36afee3 100755 1.8.5.5 -From 5049cee1792779868d279d751c1f936393531eff Mon Sep 17 00:00:00 2001 +From 304ada252c78a4b22e3e02b976d2f275f32a0a5e Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 038/114] Speed up console framebuffer imageblit function +Subject: [PATCH 038/118] Speed up console framebuffer imageblit function Especially on platforms with a slower CPU but a relatively high framebuffer fill bandwidth, like current ARM devices, the existing @@ -94275,10 +94275,10 @@ index a2bb276..436494f 100644 1.8.5.5 -From f491fb45743ba6a5932395f025ec69a333e8ce9b Mon Sep 17 00:00:00 2001 +From 01c3d29758999e4878e810d2c3393bfd46a69020 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 039/114] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 039/118] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -94374,10 +94374,10 @@ index fb795c3..fa72af0 100644 1.8.5.5 -From 9b62eed5c33d8a707abb6dd63b5a429e79e16e31 Mon Sep 17 00:00:00 2001 +From 7a99de43320c0a65946df554f571da04e3b923fa Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 16:00:25 +0300 -Subject: [PATCH 040/114] bcm2708_fb: DMA acceleration for fb_copyarea +Subject: [PATCH 040/118] bcm2708_fb: DMA acceleration for fb_copyarea Based on http://www.raspberrypi.org/phpBB3/viewtopic.php?p=62425#p62425 Also used Simon's dmaer_master module as a reference for tweaking DMA @@ -94839,10 +94839,10 @@ index 08d9238..5758146 100644 1.8.5.5 -From 8b13e9dc9f4d6fbe8afb3b0bf20dea80d68495cc Mon Sep 17 00:00:00 2001 +From a5c2e4372e5b892aadcf6eb5ea08e355a991c1a5 Mon Sep 17 00:00:00 2001 From: Mike Bradley Date: Mon, 17 Jun 2013 11:31:42 -0700 -Subject: [PATCH 041/114] dwc_otg: Call usb_hcd_unlink_urb_from_ep with lock +Subject: [PATCH 041/118] dwc_otg: Call usb_hcd_unlink_urb_from_ep with lock held in completion handler usb_hcd_unlink_urb_from_ep must be called with the HCD lock held. Calling it @@ -94929,10 +94929,10 @@ index 39787e3..5e6a26a 100644 1.8.5.5 -From bb8527606f1b794efcdf8fd1b7db255cb757947a Mon Sep 17 00:00:00 2001 +From c82a3807e407eefbcf3d02269db68aeffe275fb1 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Thu, 4 Apr 2013 11:05:21 +0100 -Subject: [PATCH 042/114] USB fix using a FIQ to implement split transactions +Subject: [PATCH 042/118] USB fix using a FIQ to implement split transactions This commit adds a FIQ implementaion that schedules the split transactions using a FIQ so we don't get @@ -96335,10 +96335,10 @@ index 1b1f83c..c8590b5 100644 1.8.5.5 -From 43d0aaed6082624c8a0657d78ae292a1975a8829 Mon Sep 17 00:00:00 2001 +From 33225b47385659254dffa2f5f90ae5ae957fd7c6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 11:39:46 +0100 -Subject: [PATCH 043/114] dwc_otg: fix device attributes and avoid kernel +Subject: [PATCH 043/118] dwc_otg: fix device attributes and avoid kernel warnings on boot --- @@ -96407,10 +96407,10 @@ index fab2961..af1cd4d 100644 1.8.5.5 -From 5ffe5ea3e3b1f5740efd208b3418a00dd3ae1257 Mon Sep 17 00:00:00 2001 +From 6715dbdc6c42689ff113319eb296f5c251a47842 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 15 Jul 2013 23:55:52 +0100 -Subject: [PATCH 044/114] dcw_otg: avoid logging function that can cause panics +Subject: [PATCH 044/118] dcw_otg: avoid logging function that can cause panics See: https://github.com/raspberrypi/firmware/issues/21 Thanks to cleverca22 for fix @@ -96435,10 +96435,10 @@ index af1cd4d..9da0c92 100644 1.8.5.5 -From aebf0acf1dbdc7b29c07328025903025a4669e60 Mon Sep 17 00:00:00 2001 +From 7956897b4cb174b4bdfdf3c1b64e64462ce167de Mon Sep 17 00:00:00 2001 From: P33M Date: Sat, 13 Jul 2013 20:41:26 +0100 -Subject: [PATCH 045/114] dwc_otg: mask correct interrupts after transaction +Subject: [PATCH 045/118] dwc_otg: mask correct interrupts after transaction error recovery The dwc_otg driver will unmask certain interrupts on a transaction @@ -96505,10 +96505,10 @@ index 8e5789f..fd73e41 100644 1.8.5.5 -From f8591b17b2d983d5122ec9c1692469bb71067cd0 Mon Sep 17 00:00:00 2001 +From 724a3815cc971ed359f6c428ed97f63c6af7ef3d Mon Sep 17 00:00:00 2001 From: P33M Date: Sat, 13 Jul 2013 21:48:41 +0100 -Subject: [PATCH 046/114] dwc_otg: fiq: prevent FIQ thrash and incorrect state +Subject: [PATCH 046/118] dwc_otg: fiq: prevent FIQ thrash and incorrect state passing to IRQ In the case of a transaction to a device that had previously aborted @@ -96565,10 +96565,10 @@ index fd73e41..2ec0565 100644 1.8.5.5 -From e57be46122415f0fb94099e554701253892743c4 Mon Sep 17 00:00:00 2001 +From 70d4491a918dc3c707a457c30613f7e15684e6da Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Mon, 8 Jul 2013 04:12:19 +0100 -Subject: [PATCH 047/114] Fix function tracing +Subject: [PATCH 047/118] Fix function tracing --- drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 12 ++++++------ @@ -96633,10 +96633,10 @@ index 2ec0565..083b1c3 100644 1.8.5.5 -From 48ad6141eff138bc2b68250841a5bdb783ce18bb Mon Sep 17 00:00:00 2001 +From 1b9ee97106009cb77a72576fc9e29a70d9cdad8d Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 18 Jul 2013 16:32:41 +0100 -Subject: [PATCH 048/114] dwc_otg: whitespace cleanup in dwc_otg_urb_enqueue +Subject: [PATCH 048/118] dwc_otg: whitespace cleanup in dwc_otg_urb_enqueue --- drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c | 53 ++++++++++++++-------------- @@ -96723,10 +96723,10 @@ index d1c5c2b..315c803 100644 1.8.5.5 -From 156f15b30d73d7b0e260d0ee2c4f1e2be293feb6 Mon Sep 17 00:00:00 2001 +From 828d4e2b7b3896b353cc825a981e89114f1e8e59 Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 18 Jul 2013 17:07:26 +0100 -Subject: [PATCH 049/114] dwc_otg: prevent OOPSes during device disconnects +Subject: [PATCH 049/118] dwc_otg: prevent OOPSes during device disconnects The dwc_otg_urb_enqueue function is thread-unsafe. In particular the access of urb->hcpriv, usb_hcd_link_urb_to_ep, dwc_otg_urb->qtd and @@ -96867,10 +96867,10 @@ index 7b92025..db95851 100644 1.8.5.5 -From c009d3d29ba3b11f74c8e95d53940637892910bb Mon Sep 17 00:00:00 2001 +From e0db7b3195299165df9171196594ad534774418d Mon Sep 17 00:00:00 2001 From: P33M Date: Mon, 22 Jul 2013 14:08:26 +0100 -Subject: [PATCH 050/114] dwc_otg: prevent BUG() in TT allocation if hub +Subject: [PATCH 050/118] dwc_otg: prevent BUG() in TT allocation if hub address is > 16 A fixed-size array is used to track TT allocation. This was @@ -96960,10 +96960,10 @@ index 083b1c3..c76910d 100644 1.8.5.5 -From 0df6d4902fee429c340495cc44f969d14cb99b43 Mon Sep 17 00:00:00 2001 +From 0fedfce7e6a3cde771ca27059257ec86d1efb86d Mon Sep 17 00:00:00 2001 From: P33M Date: Tue, 23 Jul 2013 14:15:32 +0100 -Subject: [PATCH 051/114] dwc_otg: make channel halts with unknown state less +Subject: [PATCH 051/118] dwc_otg: make channel halts with unknown state less damaging If the IRQ received a channel halt interrupt through the FIQ @@ -97008,10 +97008,10 @@ index c76910d..5fd8613 100644 1.8.5.5 -From 17eb25af9598476708ca703b8feb310219b8e55d Mon Sep 17 00:00:00 2001 +From f1f3ec6fb1fd086b99a07baab3ba15426aae3498 Mon Sep 17 00:00:00 2001 From: P33M Date: Tue, 30 Jul 2013 09:58:48 +0100 -Subject: [PATCH 052/114] dwc_otg: fiq_split: use TTs with more granularity +Subject: [PATCH 052/118] dwc_otg: fiq_split: use TTs with more granularity This fixes certain issues with split transaction scheduling. @@ -97131,10 +97131,10 @@ index 5fd8613..a959a49 100644 1.8.5.5 -From 8073cd3e3d659da133d66854756a7826f51c4ec2 Mon Sep 17 00:00:00 2001 +From d5b29b9e5d5b406defbb02ffa1b7bd1463704683 Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 2 Aug 2013 10:04:18 +0100 -Subject: [PATCH 053/114] dwc_otg: fix potential sleep while atomic during urb +Subject: [PATCH 053/118] dwc_otg: fix potential sleep while atomic during urb enqueue Fixes a regression introduced with eb1b482a. Kmalloc called from @@ -97163,10 +97163,10 @@ index 87e517d..88c0544 100644 1.8.5.5 -From 4d52bbd926b79a9407696dda3bb2e48e7f58da9a Mon Sep 17 00:00:00 2001 +From d507486937ab5ed022ca94f5ee961fbeb26f5bd2 Mon Sep 17 00:00:00 2001 From: P33M Date: Mon, 5 Aug 2013 11:42:12 +0100 -Subject: [PATCH 054/114] dwc_otg: make fiq_split_enable imply fiq_fix_enable +Subject: [PATCH 054/118] dwc_otg: make fiq_split_enable imply fiq_fix_enable Failing to set up the FIQ correctly would result in "IRQ 32: nobody cared" errors in dmesg. @@ -97195,10 +97195,10 @@ index 176dc14..f06c3d22 100644 1.8.5.5 -From 0b01c0be150dd98c6d65163935ec1fb99f50bec8 Mon Sep 17 00:00:00 2001 +From f9d8ce418fcfbf659080642128342292f1eb6aa6 Mon Sep 17 00:00:00 2001 From: P33M Date: Mon, 5 Aug 2013 11:47:12 +0100 -Subject: [PATCH 055/114] dwc_otg: prevent crashes on host port disconnects +Subject: [PATCH 055/118] dwc_otg: prevent crashes on host port disconnects Fix several issues resulting in crashes or inconsistent state if a Model A root port was disconnected. @@ -97356,10 +97356,10 @@ index 88c0544..ae4271a 100644 1.8.5.5 -From 21f513d90c67908cc204cca43958a95589a030fe Mon Sep 17 00:00:00 2001 +From 18bcab977236ee34c9ca63238ad0f5bba82cbdf4 Mon Sep 17 00:00:00 2001 From: P33M Date: Mon, 5 Aug 2013 13:17:58 +0100 -Subject: [PATCH 056/114] dwc_otg: prevent leaking URBs during enqueue +Subject: [PATCH 056/118] dwc_otg: prevent leaking URBs during enqueue A dwc_otg_urb would get leaked if the HCD enqueue function failed for any reason. Free the URB at the appropriate points. @@ -97395,10 +97395,10 @@ index ae4271a..ee8eec9 100644 1.8.5.5 -From 1c7bbec8d7084269d691873953a91b6bdedef3a6 Mon Sep 17 00:00:00 2001 +From c0e38a3d105f84860b73b327ac02b5cbee036938 Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 20 Sep 2013 16:08:27 +0100 -Subject: [PATCH 057/114] dwc_otg: Enable NAK holdoff for control split +Subject: [PATCH 057/118] dwc_otg: Enable NAK holdoff for control split transactions Certain low-speed devices take a very long time to complete a @@ -97431,10 +97431,10 @@ index 3a549a1..f8dc4be 100644 1.8.5.5 -From 7d5bf1fa224eade004e234739a49ff6495612b63 Mon Sep 17 00:00:00 2001 +From abdb20fe85a4dcaaf877c2778734c054f701a9e3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 20 Sep 2013 19:07:56 +0100 -Subject: [PATCH 058/114] dwc_otg: Fix for occasional lockup on boot when doing +Subject: [PATCH 058/118] dwc_otg: Fix for occasional lockup on boot when doing a USB reset --- @@ -97460,10 +97460,10 @@ index f8dc4be..64d33a5 100644 1.8.5.5 -From 66745cc720c6114d348ac144e5b8a753e85beea1 Mon Sep 17 00:00:00 2001 +From 3dbbefad45b95e9435b23478c964f535f6f86e01 Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 27 Sep 2013 14:42:24 +0100 -Subject: [PATCH 059/114] dwc_otg: Don't issue traffic to LS devices in FS mode +Subject: [PATCH 059/118] dwc_otg: Don't issue traffic to LS devices in FS mode Issuing low-speed packets when the root port is in full-speed mode causes the root port to stop responding. Explicitly fail when @@ -97505,10 +97505,10 @@ index 1904f6a..22300f0 100644 1.8.5.5 -From e1b15be6e0e4933f62f83dcad31b2a7e3b8d4154 Mon Sep 17 00:00:00 2001 +From 735c2ecc454d92796356c38b5a433351c4f8717a Mon Sep 17 00:00:00 2001 From: Andrey Vagin Date: Wed, 6 Nov 2013 13:25:20 +0400 -Subject: [PATCH 060/114] ARM: bcm2708: PL01X debug include was moved into +Subject: [PATCH 060/118] ARM: bcm2708: PL01X debug include was moved into arch/arm/include/debug/ --- @@ -97529,10 +97529,10 @@ index 2d0dc1c..b24304a 100644 1.8.5.5 -From 241f6e3beb6cf5f4bb31051f3905f974ba427ee7 Mon Sep 17 00:00:00 2001 +From c6ec0b565d1ba18d2b76fc8bc4371bfa09353272 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 20 Nov 2013 11:22:05 +0000 -Subject: [PATCH 062/114] sdhci: Only do one iteration of PIO reading loop +Subject: [PATCH 062/118] sdhci: Only do one iteration of PIO reading loop --- drivers/mmc/host/sdhci.c | 1 + @@ -97554,10 +97554,10 @@ index 0b44ccf..51bb441 100644 1.8.5.5 -From 9164b34f6368def30484e2069842aa04ec219f81 Mon Sep 17 00:00:00 2001 +From 8cfcfbb7919f5b34739e2427d9485c55d758ef32 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Mon, 2 Sep 2013 16:44:57 +0100 -Subject: [PATCH 063/114] vchiq: create_pagelist copes with vmalloc memory +Subject: [PATCH 063/118] vchiq: create_pagelist copes with vmalloc memory Signed-off-by: Daniel Stone --- @@ -97698,10 +97698,10 @@ index 2b5fa56..b3bdaa2 100644 1.8.5.5 -From b6dfde12be75ea2565897903e1d733772deec471 Mon Sep 17 00:00:00 2001 +From 6e50439b3e683c94c6dd281a540437acb745e0df Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Mon, 30 Sep 2013 17:04:55 +0100 -Subject: [PATCH 064/114] vchiq: fix the shim message release +Subject: [PATCH 064/118] vchiq: fix the shim message release Signed-off-by: Daniel Stone --- @@ -97793,10 +97793,10 @@ index f752f8d..fe9bd80 100644 1.8.5.5 -From 43fab48912d9ce1e70ab6a5d38589ce8a3a0c679 Mon Sep 17 00:00:00 2001 +From 785f412f8c6c490697f01f301e5e7cd5b49047a7 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Sat, 9 Nov 2013 22:37:21 +0000 -Subject: [PATCH 065/114] vchiq: export additional symbols +Subject: [PATCH 065/118] vchiq: export additional symbols Signed-off-by: Daniel Stone --- @@ -97827,10 +97827,10 @@ index fe9bd80..a0b069d 100644 1.8.5.5 -From 991010cd57737aab7be88a7e2e0e1e462549a6d9 Mon Sep 17 00:00:00 2001 +From 4772295c67c6d5d85adb08d0185ad29eb1a4f1e3 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 30 Jan 2013 12:45:18 +0000 -Subject: [PATCH 066/114] bcm2835: add v4l2 camera device +Subject: [PATCH 066/118] bcm2835: add v4l2 camera device - Supports raw YUV capture, preview, JPEG and H264. - Uses videobuf2 for data transfer, using dma_buf. @@ -103818,10 +103818,10 @@ index 0000000..9d1d11e 1.8.5.5 -From e2b1bed28b42534a0a63fee5cddd3656cd5f8a53 Mon Sep 17 00:00:00 2001 +From 7a96548599c1ee1bc3f22eafb182d4e09cf7ce27 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 10:58:01 +0000 -Subject: [PATCH 067/114] V4L2: Fix EV values. Add manual shutter speed control +Subject: [PATCH 067/118] V4L2: Fix EV values. Add manual shutter speed control V4L2 EV values should be in units of 1/1000. Corrected. Add support for V4L2_CID_EXPOSURE_ABSOLUTE which should @@ -104014,10 +104014,10 @@ index c611b58..d8aace5 100644 1.8.5.5 -From 54fb77edf4c32997e9d272ca15270615018bffcc Mon Sep 17 00:00:00 2001 +From 8685612473d99215c05e210c874e3a4ac7c4fc5c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 11:01:53 +0000 -Subject: [PATCH 068/114] V4L2: Correct JPEG Q-factor range +Subject: [PATCH 068/118] V4L2: Correct JPEG Q-factor range Should be 1-100, not 0-100 @@ -104055,10 +104055,10 @@ index 481d1f6..c2e4c64 100644 1.8.5.5 -From ead6868be29df505fad165c4f9fe43875b41002a Mon Sep 17 00:00:00 2001 +From c9e2f7677cfb88843486e8094c47637c04fc7e3a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 11:05:24 +0000 -Subject: [PATCH 069/114] V4L2: Fix issue of driver jamming if STREAMON failed. +Subject: [PATCH 069/118] V4L2: Fix issue of driver jamming if STREAMON failed. Fix issue where the driver was left in a partially enabled state if STREAMON failed, and would then reject many IOCTLs @@ -104094,10 +104094,10 @@ index 47fe45d..2743074 100644 1.8.5.5 -From 315b9c2c7982bf7d358d90dd11028d460f778179 Mon Sep 17 00:00:00 2001 +From 97566a4a5b2c17854307e0b3072192377c56e35a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 15:30:48 +0000 -Subject: [PATCH 070/114] V4L2: Fix ISO controls. +Subject: [PATCH 070/118] V4L2: Fix ISO controls. Driver was passing the index to the GPU, and not the desired ISO value. @@ -104150,10 +104150,10 @@ index c2e4c64..92863f7 100644 1.8.5.5 -From 13d4f2f5e7e134e83d1ef24654f3f7f103d52740 Mon Sep 17 00:00:00 2001 +From aba70d881dcd2d57a2d8f3aa773b1e06f8ecc67b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 16:40:24 +0000 -Subject: [PATCH 071/114] V4L2: Add flicker avoidance controls +Subject: [PATCH 071/118] V4L2: Add flicker avoidance controls Add support for V4L2_CID_POWER_LINE_FREQUENCY to set flicker avoidance frequencies. @@ -104268,10 +104268,10 @@ index d8aace5..b3d2c39 100644 1.8.5.5 -From 4e8b9b642185e6a0d7d9433747d7981dabfe3178 Mon Sep 17 00:00:00 2001 +From 53f023560be354a1cd705c0285ebbd30d2c99c68 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 13 Dec 2013 15:54:13 +0000 -Subject: [PATCH 072/114] V4L2: Add support for frame rate control. +Subject: [PATCH 072/118] V4L2: Add support for frame rate control. Add support for frame rate (or time per frame as V4L2 inverts it) control via s_parm. @@ -104510,10 +104510,10 @@ index b3d2c39..0f2bd50 100644 1.8.5.5 -From a8f7e71dcb638064d2cef64c041a1d08b2a0a80e Mon Sep 17 00:00:00 2001 +From 9acbcbb3ce1b58f979d886f8aa4e42d0f944c917 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 17:30:09 +0000 -Subject: [PATCH 073/114] V4L2: Improve G_FBUF handling so we pass conformance +Subject: [PATCH 073/118] V4L2: Improve G_FBUF handling so we pass conformance Return some sane numbers for get framebuffer so that we pass conformance. @@ -104553,10 +104553,10 @@ index 8c38d03..c8d8742 100644 1.8.5.5 -From aa6e24da026e8a893d97f92edd6984150a2f91b4 Mon Sep 17 00:00:00 2001 +From 01136b3aab4652571e7a42dbb7ef8b6798130888 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 17:29:39 +0000 -Subject: [PATCH 074/114] V4L2: Fix information advertised through g_vidfmt +Subject: [PATCH 074/118] V4L2: Fix information advertised through g_vidfmt Width and height were being stored based on incorrect values. @@ -104596,10 +104596,10 @@ index c8d8742..4766a9c 100644 1.8.5.5 -From 7ff03d741ab4213de715657ce07783aa43658444 Mon Sep 17 00:00:00 2001 +From ef74a3536e8cf93a9c630a70ff5502fe25db428e Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 11:03:54 +0000 -Subject: [PATCH 075/114] V4L2: Add support for inline H264 headers +Subject: [PATCH 075/118] V4L2: Add support for inline H264 headers Add support for V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER to control H264 inline headers. @@ -104904,10 +104904,10 @@ index 0f2bd50..b08a4b0 100644 1.8.5.5 -From eed88ac095979d78cea37bceaf9d782e2e9aeafe Mon Sep 17 00:00:00 2001 +From 503a4ab2ba3cf2cf3db98db159b8ba5632d86a56 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 19 Dec 2013 17:33:02 +0000 -Subject: [PATCH 076/114] V4L2: Fix JPEG timestamp issue +Subject: [PATCH 076/118] V4L2: Fix JPEG timestamp issue JPEG images were coming through from the GPU with timestamp of 0. Detect this and give current system time instead @@ -104945,10 +104945,10 @@ index 4766a9c..9fc90a2 100644 1.8.5.5 -From 4099108f920b15527d1381699b159a7c90cd1609 Mon Sep 17 00:00:00 2001 +From 9cd88da96f8767bb4c63c57c0abca5ec1dfd52d5 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 11:24:55 +0000 -Subject: [PATCH 077/114] V4L2: Fix issue when switching down JPEG resolution. +Subject: [PATCH 077/118] V4L2: Fix issue when switching down JPEG resolution. JPEG buffer size calculation is based on input resolution. Input resolution was being configured after output port @@ -105110,10 +105110,10 @@ index 9fc90a2..4780107 100644 1.8.5.5 -From fe8eb1c79cefe6d84c2af8f0f511276343e9282b Mon Sep 17 00:00:00 2001 +From 598426f6c1e6f178430514a052b351746d344aba Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 2 Dec 2013 16:57:44 +0000 -Subject: [PATCH 078/114] config: Enable V4L / MMAL driver +Subject: [PATCH 078/118] config: Enable V4L / MMAL driver --- arch/arm/configs/bcmrpi_defconfig | 3 +++ @@ -105137,10 +105137,10 @@ index 88f930c..7d9cbd5 100644 1.8.5.5 -From 3bf853a0f2f2d98bb843cb9584135f56cd7e5fd2 Mon Sep 17 00:00:00 2001 +From 015eb6a4407c1c2aa103590c7624d1a15e80eca3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 9 Jan 2014 16:05:20 +0000 -Subject: [PATCH 079/114] gpio: support low and high level interrupts +Subject: [PATCH 079/118] gpio: support low and high level interrupts --- arch/arm/mach-bcm2708/bcm2708_gpio.c | 52 +++++++++++++++++++++++++----------- @@ -105258,10 +105258,10 @@ index d0339eb..bab8a49 100644 1.8.5.5 -From 3dd27edc8bcef7d769669d79a8b2cebaf7c75dcf Mon Sep 17 00:00:00 2001 +From 52b470e0263186c7711d29eb390da3a9e0b66820 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Dec 2013 22:16:19 +0000 -Subject: [PATCH 080/114] config: Enable CONFIG_MEMCG, but leave it disabled +Subject: [PATCH 080/118] config: Enable CONFIG_MEMCG, but leave it disabled (due to memory cost). Enable with cgroup_enable=memory. --- @@ -105321,10 +105321,10 @@ index 271acd8..8a48169 100644 * css_from_dir - get corresponding css from the dentry of a cgroup dir * @dentry: directory dentry of interest diff --git a/mm/memcontrol.c b/mm/memcontrol.c -index 00fd7fd..f5fd4bd 100644 +index f506001..b6999fe 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c -@@ -7030,6 +7030,7 @@ struct cgroup_subsys mem_cgroup_subsys = { +@@ -7043,6 +7043,7 @@ struct cgroup_subsys mem_cgroup_subsys = { .bind = mem_cgroup_bind, .base_cftypes = mem_cgroup_files, .early_init = 0, @@ -105336,10 +105336,10 @@ index 00fd7fd..f5fd4bd 100644 1.8.5.5 -From 38a0dddfacbab3464157a580a76d0d1e6a3272c5 Mon Sep 17 00:00:00 2001 +From eff8448bb6be88b1ce948241626005b18d5831df Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Jan 2014 21:00:56 +0000 -Subject: [PATCH 081/114] config: enable RT2800USB_RT3573 and RT2800USB_RT55XX +Subject: [PATCH 081/118] config: enable RT2800USB_RT3573 and RT2800USB_RT55XX wifi drivers --- @@ -105364,10 +105364,10 @@ index a6ef4ca..6c569a5 100644 1.8.5.5 -From 0b09534694e0f1dcdf9874d140c5a682c917a792 Mon Sep 17 00:00:00 2001 +From da3a640ef64337fe6fedd857b9bb9c46313c8957 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 29 Jan 2014 21:37:00 +0000 -Subject: [PATCH 082/114] video: relax the dimensions check for rotated +Subject: [PATCH 082/118] video: relax the dimensions check for rotated displays --- @@ -105402,10 +105402,10 @@ index 5758146..935288d 100644 1.8.5.5 -From cc1bff08be05a1f4a6e22a51c1ef90b60451d72e Mon Sep 17 00:00:00 2001 +From b47ea754bd270b76ae3d6480d1d2b3450a5f7b61 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 083/114] dmaengine: Add support for BCM2708 +Subject: [PATCH 083/118] dmaengine: Add support for BCM2708 Add support for DMA controller of BCM2708 as used in the Raspberry Pi. Currently it only supports cyclic DMA. @@ -106045,10 +106045,10 @@ index 0000000..7d5ed19 1.8.5.5 -From 164493a0974f41c05dcfbd0bb257dad5d7374539 Mon Sep 17 00:00:00 2001 +From 6e47b8d4794411a06d4a9661d5eacd137833119c Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:33:38 +0100 -Subject: [PATCH 084/114] ASoC: Add support for BCM2708 +Subject: [PATCH 084/118] ASoC: Add support for BCM2708 This driver adds support for digital audio (I2S) for the BCM2708 SoC that is used by the @@ -107069,10 +107069,10 @@ index 0000000..ebaf3d6 1.8.5.5 -From 944cf661e178e6c8449f7c61473282bcec9bf517 Mon Sep 17 00:00:00 2001 +From d6ab5d254e8c05c73eaf96342504b179481ad813 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:37:51 +0100 -Subject: [PATCH 085/114] BCM2708: Extend mach header +Subject: [PATCH 085/118] BCM2708: Extend mach header Extend the headers of the mach-bcm2708 in order to support I2S and DMA engine. @@ -107117,10 +107117,10 @@ index 992a630..2e7e1bb 100644 1.8.5.5 -From 0d4152f7a32bb98cc4c36af2e1ce39148b3a78d9 Mon Sep 17 00:00:00 2001 +From 9a2b4ce45feb0b3a8e4a7b10bdfba2464528c560 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:59:51 +0100 -Subject: [PATCH 086/114] ASoC: Add support for PCM5102A codec +Subject: [PATCH 086/118] ASoC: Add support for PCM5102A codec Some definitions to support the PCM5102A codec by Texas Instruments. @@ -107248,10 +107248,10 @@ index 0000000..126f1e9 1.8.5.5 -From a95aaced18a1f845b99efea09259c03623c87aef Mon Sep 17 00:00:00 2001 +From c84d3211dd00ae7a40d7abe80649bb93fe75047a Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:04:54 +0100 -Subject: [PATCH 087/114] BCM2708: Add I2S support to board file +Subject: [PATCH 087/118] BCM2708: Add I2S support to board file Adds the required initializations for I2S to the board file of mach-bcm2708. @@ -107309,10 +107309,10 @@ index b4d94bf..d44d70e 100644 1.8.5.5 -From d07714f96dfae4ba4648038f1bd3b44e198ed686 Mon Sep 17 00:00:00 2001 +From 2d4ea7586cf8de235a68ae1626da183d6c04b3b8 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 088/114] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 088/118] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -107464,10 +107464,10 @@ index 0000000..4b70b45 1.8.5.5 -From db543031adc4603503e9963fabf4e5c545c75afd Mon Sep 17 00:00:00 2001 +From fe785657d150c83c52026963af404a2e533bf235 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:21:34 +0100 -Subject: [PATCH 089/114] BCM2708: Add HifiBerry DAC to board file +Subject: [PATCH 089/118] BCM2708: Add HifiBerry DAC to board file This adds the initalization of the HifiBerry DAC to the mach-bcm2708 board file. @@ -107518,10 +107518,10 @@ index d44d70e..cfb1634 100644 1.8.5.5 -From 47dde780658568d4def11f48639a89308c2a77e8 Mon Sep 17 00:00:00 2001 +From 441dac65e46c7db130a27f4865378b69138fd75a Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 6 Dec 2013 18:55:53 +0100 -Subject: [PATCH 090/114] ASoC: BCM2708: Add 24 bit support +Subject: [PATCH 090/118] ASoC: BCM2708: Add 24 bit support This adds 24 bit support to the I2S driver of the BCM2708. Besides enabling the 24 bit flags, it includes two bug fixes: @@ -107596,10 +107596,10 @@ index ebaf3d6..a179216 100644 1.8.5.5 -From 59491707cf09ba291b36ab66b973ffa1d9dacde7 Mon Sep 17 00:00:00 2001 +From 59dbe81c022438c4b339181b239c8e176f5a52e7 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 2 Dec 2013 20:28:22 +0100 -Subject: [PATCH 091/114] BCM2708: Add I2S and DMA support to default config +Subject: [PATCH 091/118] BCM2708: Add I2S and DMA support to default config This commit adds several modules that are needed for I2S support for the Raspberry Pi to the defconfig. @@ -107642,10 +107642,10 @@ index 6c569a5..a66aecf 100644 1.8.5.5 -From ce3af3bb46323c6b3c1ebab6d5f50f3d8f43d053 Mon Sep 17 00:00:00 2001 +From 112473e6810e9387a3172c5414cf07be470ea760 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 6 Dec 2013 20:50:28 +0100 -Subject: [PATCH 092/114] ASoC: BCM2708: Add support for RPi-DAC +Subject: [PATCH 092/118] ASoC: BCM2708: Add support for RPi-DAC This adds a machine driver for the RPi-DAC. @@ -107960,10 +107960,10 @@ index 0000000..b4eaa44 1.8.5.5 -From 9745ebfda332291aad11b9494a25e40b2fee2699 Mon Sep 17 00:00:00 2001 +From da3fd7111995b39843e9233b8aad0c40250d6617 Mon Sep 17 00:00:00 2001 From: Peter Budd Date: Thu, 2 Jan 2014 23:34:21 +0000 -Subject: [PATCH 093/114] Added support for Proto i2s DAC +Subject: [PATCH 093/118] Added support for Proto i2s DAC --- arch/arm/mach-bcm2708/bcm2708.c | 19 ++++++ @@ -108148,10 +108148,10 @@ index 0000000..4dc8705 1.8.5.5 -From e2e72afd5d229ce2bc7f5598de23a20759c70112 Mon Sep 17 00:00:00 2001 +From 736f0e62e9eb02d02f17fe2b9ca8932e830a76a9 Mon Sep 17 00:00:00 2001 From: Peter Budd Date: Fri, 3 Jan 2014 05:50:49 +0000 -Subject: [PATCH 094/114] Add support for additional ASoC i2s drivers +Subject: [PATCH 094/118] Add support for additional ASoC i2s drivers --- sound/soc/bcm/rpi-cs534x.c | 105 +++++++++++++++++++++++++++++++++++++++++++ @@ -108702,10 +108702,10 @@ index 0000000..6115033 1.8.5.5 -From ab2eecb5aa8db2f860d71dc4d7675417a54ba5c8 Mon Sep 17 00:00:00 2001 +From 46c857e8d5a7c6516178f4600355173788cd5726 Mon Sep 17 00:00:00 2001 From: Peter Budd Date: Fri, 3 Jan 2014 05:51:53 +0000 -Subject: [PATCH 095/114] Add support for additional ASoC i2s drivers +Subject: [PATCH 095/118] Add support for additional ASoC i2s drivers --- arch/arm/mach-bcm2708/bcm2708.c | 135 ++++++++++++++++++++++++++++++++++------ @@ -108987,10 +108987,10 @@ index 95a9d44..eb869fa 100644 1.8.5.5 -From d9f24a9008928be6e6277adfe440ca58b2da8463 Mon Sep 17 00:00:00 2001 +From 7c4bef81864b806bc2193e0fd1e29b53551bb2ed Mon Sep 17 00:00:00 2001 From: Peter Budd Date: Sat, 4 Jan 2014 18:27:33 +0000 -Subject: [PATCH 096/114] Remove compile warning +Subject: [PATCH 096/118] Remove compile warning --- sound/soc/bcm/rpi-proto.c | 3 +-- @@ -109021,10 +109021,10 @@ index 5752af2..c1532d4 100644 1.8.5.5 -From 0a0f25aae5eed2689eecd8e9cc2abe5d31f28d33 Mon Sep 17 00:00:00 2001 +From 09398420cb6fa78174e81768b81d2a7b9ccdad9c Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 097/114] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 097/118] ASoC: wm8804: Implement MCLK configuration options, add 32bit support WM8804 can run with PLL frequencies of 256xfs and 128xfs for most sample rates. At 192kHz only 128xfs is supported. The existing driver selects 128xfs automatically for some lower samples rates. By using an @@ -109141,10 +109141,10 @@ index 8ec14f5..e72d4f4 100644 1.8.5.5 -From 11d23202659b47eb61a56534a4814e7fd43b0f10 Mon Sep 17 00:00:00 2001 +From 867102cd84ebf239271c84f63ec906d19ed226f7 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 098/114] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 098/118] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -109356,10 +109356,10 @@ index 0000000..e4f769d 1.8.5.5 -From 006ba8bfba4b598759c51f0b9777127ffd184677 Mon Sep 17 00:00:00 2001 +From ddbc200cf0c7c1c39e34478dc4db1433b802ed3b Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Thu, 16 Jan 2014 07:26:08 +0100 -Subject: [PATCH 099/114] BCM2708: Added support for HiFiBerry Digi board Board +Subject: [PATCH 099/118] BCM2708: Added support for HiFiBerry Digi board Board initalization by I2C Signed-off-by: Daniel Matuschek @@ -109409,10 +109409,10 @@ index dfc2a8c..1cba3d7 100644 1.8.5.5 -From 2a8ad2d1e8c2f0a652fa85a147a1ff82e9e2ce79 Mon Sep 17 00:00:00 2001 +From b269f59f898dff5e16485664e4089253d0ac34ff Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Thu, 16 Jan 2014 07:27:28 +0100 -Subject: [PATCH 100/114] BCM2708: Added HiFiBerry Digi configuration option It +Subject: [PATCH 100/118] BCM2708: Added HiFiBerry Digi configuration option It will be compiled as a module by default. This also includes the WM8804 driver. @@ -109440,10 +109440,10 @@ index 6a2c0f4..ca2a265 100644 1.8.5.5 -From ad94e8c0ecbe7b60de22f39f14b78151fa18385d Mon Sep 17 00:00:00 2001 +From c7851896f0666b20f000f85417ce7b06555a77bc Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Thu, 16 Jan 2014 07:36:35 +0100 -Subject: [PATCH 101/114] ASoC: wm8804: Set idle_bias_off to false Idle bias +Subject: [PATCH 101/118] ASoC: wm8804: Set idle_bias_off to false Idle bias has been change to remove warning on driver startup Signed-off-by: Daniel Matuschek @@ -109468,10 +109468,10 @@ index 7ec8381..50d0f0c 100644 1.8.5.5 -From 8586c2721f918d35b7396bbc2e8dbf14ccf0e708 Mon Sep 17 00:00:00 2001 +From db0f3eb89dbcc2e8c6cd9a48da2a6592e63bdc3b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 11 Feb 2014 16:34:37 +0000 -Subject: [PATCH 102/114] dma_engine: Replace DMA_SUCCESS with DMA_COMPLETE +Subject: [PATCH 102/118] dma_engine: Replace DMA_SUCCESS with DMA_COMPLETE --- drivers/dma/bcm2708-dmaengine.c | 2 +- @@ -109494,10 +109494,10 @@ index 7d5ed19..b244293 100644 1.8.5.5 -From 83d3d648ddb081fae991684c718b1b05522b2f0f Mon Sep 17 00:00:00 2001 +From 7731c05f3a3edb3ae7973c4fafdcb1b4a2e7f905 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 11 Feb 2014 17:03:51 +0000 -Subject: [PATCH 103/114] bcm2708: Allow disk activity led gpio to be specified +Subject: [PATCH 103/118] bcm2708: Allow disk activity led gpio to be specified --- arch/arm/mach-bcm2708/bcm2708.c | 8 +++++++- @@ -109538,10 +109538,10 @@ index 1cba3d7..e9f0701 100644 1.8.5.5 -From fd80a536eea4acabd1f4aa237ac431baeb52289b Mon Sep 17 00:00:00 2001 +From c1b49956bc11c822d701d932726592ddeb111145 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 11 Feb 2014 19:12:47 +0000 -Subject: [PATCH 104/114] bcm2708fb: Allow swapping of red/blue in 24/32 modes +Subject: [PATCH 104/118] bcm2708fb: Allow swapping of red/blue in 24/32 modes --- drivers/video/bcm2708_fb.c | 21 ++++++++++++++------- @@ -109615,10 +109615,10 @@ index 935288d..3f1bc8f 100644 1.8.5.5 -From 23aaeded978e47173d5775e2fbc4392eadd9b444 Mon Sep 17 00:00:00 2001 +From 6f70ac169e9ad2c6a09e47e1271b44dcda9ff0f9 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 23 Dec 2013 15:42:21 +0000 -Subject: [PATCH 105/114] V4L2: Enable MJPEG encoding +Subject: [PATCH 105/118] V4L2: Enable MJPEG encoding Requires GPU firmware update to support MJPEG encoder. @@ -109662,10 +109662,10 @@ index 856e80e..764bb12 100644 1.8.5.5 -From cc0b1f64459cf9f3eb86857b764bad3e50f05c7f Mon Sep 17 00:00:00 2001 +From a221415cf1eb5746f62ccbea489caeff9dd353ff Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 Jan 2014 15:57:06 +0000 -Subject: [PATCH 106/114] V4L2: Correct flag settings for compressed formats +Subject: [PATCH 106/118] V4L2: Correct flag settings for compressed formats Set flags field correctly on enum_fmt_vid_cap for compressed image formats. @@ -109761,10 +109761,10 @@ index 602b4a7..076f9a8 100644 1.8.5.5 -From 2d744f02eb2fb306ba2df0ad352b0d37ab08fa09 Mon Sep 17 00:00:00 2001 +From 22ce4a833a0957f50d318ecb8ec4824759531aaa Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 12 Feb 2014 11:18:20 +0000 -Subject: [PATCH 107/114] V4L2: H264 profile & level ctrls, FPS control and +Subject: [PATCH 107/118] V4L2: H264 profile & level ctrls, FPS control and auto exp pri Several control handling updates. @@ -110453,10 +110453,10 @@ index b08a4b0..ae8fef9 100644 1.8.5.5 -From 1fca0e0e0abe5f1a55023ae853b6ee911468bd57 Mon Sep 17 00:00:00 2001 +From d5e0d271054b8bbe313c270523108b1739e5463d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 12 Feb 2014 11:39:20 +0000 -Subject: [PATCH 108/114] V4L2: Correct BGR24 to RGB24 in format table +Subject: [PATCH 108/118] V4L2: Correct BGR24 to RGB24 in format table Signed-off-by: Dave Stevenson --- @@ -110482,10 +110482,10 @@ index 6d0d77a..8285e6a 100644 1.8.5.5 -From 0ca079da11af67d323412d464c841d42cda4887c Mon Sep 17 00:00:00 2001 +From 7bb34b506337c9704d7ad0d163db0004fc4a0604 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 12 Feb 2014 15:35:41 +0000 -Subject: [PATCH 109/114] V4L2: Add additional pixel formats. Correct +Subject: [PATCH 109/118] V4L2: Add additional pixel formats. Correct colourspace Adds the other flavours of YUYV, and NV12. @@ -110554,10 +110554,10 @@ index 8285e6a..3dea993 100644 1.8.5.5 -From a35242f5aa1b18c4e059dbe235a4bb710fbd82e1 Mon Sep 17 00:00:00 2001 +From 5d5ac158e26cf80d4158d1061353b77da49931b5 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 14 Feb 2014 17:08:18 +0000 -Subject: [PATCH 110/114] V4L2: Drop logging msg from info to debug +Subject: [PATCH 110/118] V4L2: Drop logging msg from info to debug Signed-off-by: Dave Stevenson --- @@ -110581,10 +110581,10 @@ index a06fb44..82752e6 100644 1.8.5.5 -From bd92c973f16735a63c89cb06d2b4cf5bb461768c Mon Sep 17 00:00:00 2001 +From 112cf0378d89551bb1a638e6f847c92b9bc55482 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 14 Feb 2014 17:12:08 +0000 -Subject: [PATCH 111/114] V4L2: Initial pass at scene modes. +Subject: [PATCH 111/118] V4L2: Initial pass at scene modes. Only supports exposure mode and metering modes. @@ -110949,10 +110949,10 @@ index 45cf790..b7a7e883 100644 1.8.5.5 -From da28f2fa9ad9bb3fb3507e1c497b1d091cc54426 Mon Sep 17 00:00:00 2001 +From f59363b414b39263197a68327fdef85fd98decc4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 21 Feb 2014 17:15:59 +0000 -Subject: [PATCH 112/114] alsa: Make alsa work queue high priority. Fixes +Subject: [PATCH 112/118] alsa: Make alsa work queue high priority. Fixes underrun issues when using negitive nice priority --- @@ -110976,10 +110976,686 @@ index 4013d83..ee09b13 100755 1.8.5.5 -From a215860f6371d7577f5ff0381c1b18a52bd16ba7 Mon Sep 17 00:00:00 2001 -From: Dom Cobley -Date: Wed, 19 Mar 2014 16:14:53 +0000 -Subject: [PATCH 113/114] dwc_otg: fiq_fsm: Base commit for driver rewrite +From fe4d19dc46ba7cc68175820788e7aa710e39b95d Mon Sep 17 00:00:00 2001 +From: Matt Whitlock +Date: Tue, 25 Mar 2014 03:45:21 -0400 +Subject: [PATCH 113/118] fix sign in sdhci_bcm2708_raw_writel wait calculation + +The ns_wait variable is intended to hold a lower bound on the number of nanoseconds that have elapsed since the last sdhci register write. However, the actual calculation of it was incorrect, as the subtraction was inverted. This commit fixes the calculation. + +Note that this correction has no bearing when running with the default cycle_delay of 2 and the default clock rate of 50 MHz, under which conditions ns_2clk is 40 nanoseconds and ns_wait, regardless of whether the subtraction is done correctly or incorrectly, cannot possibly be less than 40 except for during the one-microsecond period just before the tick counter wraps around to meet last_write_hpt (i.e., approximately 4295 seconds after the preceding sdhci register write). The correction in this commit only comes into play if ns_2clk > 1000, which requires a cycle_delay of 51 or greater when using the default clock rate. Under those conditions, sdhci_bcm2708_raw_writel will not wait for the full cycle_delay count if at least 1000 nanoseconds have elapsed since the last register write. +--- + drivers/mmc/host/sdhci-bcm2708.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/mmc/host/sdhci-bcm2708.c b/drivers/mmc/host/sdhci-bcm2708.c +index 1ebbe2d..3173c18 100644 +--- a/drivers/mmc/host/sdhci-bcm2708.c ++++ b/drivers/mmc/host/sdhci-bcm2708.c +@@ -263,7 +263,7 @@ static void sdhci_bcm2708_raw_writel(struct sdhci_host *host, u32 val, int reg) + { + /* we must have waited at least this many ns: */ + unsigned int ns_wait = HPTIME_CLK_NS * +- (last_write_hpt - now - 1); ++ (now - last_write_hpt - 1); + if (ns_wait < ns_2clk) + ndelay(ns_2clk - ns_wait); + } +-- +1.8.5.5 + + +From fd054baee964388cc85646c10d8c5492f81b2e7b Mon Sep 17 00:00:00 2001 +From: Dave Stevenson +Date: Tue, 25 Mar 2014 11:48:01 +0000 +Subject: [PATCH 114/118] V4L2: Add manual white balance control. + +Adds support for V4L2_CID_RED_BALANCE and +V4L2_CID_BLUE_BALANCE. Only has an effect if +V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE has +V4L2_WHITE_BALANCE_MANUAL selected. + +Signed-off-by: Dave Stevenson +--- + drivers/media/platform/bcm2835/bcm2835-camera.h | 4 ++- + drivers/media/platform/bcm2835/controls.c | 39 +++++++++++++++++++++++- + drivers/media/platform/bcm2835/mmal-parameters.h | 8 ++++- + 3 files changed, 48 insertions(+), 3 deletions(-) + +diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.h b/drivers/media/platform/bcm2835/bcm2835-camera.h +index f389bea..4ddd687 100644 +--- a/drivers/media/platform/bcm2835/bcm2835-camera.h ++++ b/drivers/media/platform/bcm2835/bcm2835-camera.h +@@ -15,7 +15,7 @@ + * core driver device + */ + +-#define V4L2_CTRL_COUNT 25 /* number of v4l controls */ ++#define V4L2_CTRL_COUNT 27 /* number of v4l controls */ + + enum { + MMAL_COMPONENT_CAMERA = 0, +@@ -49,6 +49,8 @@ struct bm2835_mmal_dev { + struct mmal_colourfx colourfx; + int hflip; + int vflip; ++ int red_gain; ++ int blue_gain; + enum mmal_parameter_exposuremode exposure_mode_user; + enum v4l2_exposure_auto_type exposure_mode_v4l2_user; + /* active exposure mode may differ if selected via a scene mode */ +diff --git a/drivers/media/platform/bcm2835/controls.c b/drivers/media/platform/bcm2835/controls.c +index b7a7e883..9a40bd0 100644 +--- a/drivers/media/platform/bcm2835/controls.c ++++ b/drivers/media/platform/bcm2835/controls.c +@@ -491,6 +491,29 @@ static int ctrl_set_awb_mode(struct bm2835_mmal_dev *dev, + &u32_value, sizeof(u32_value)); + } + ++static int ctrl_set_awb_gains(struct bm2835_mmal_dev *dev, ++ struct v4l2_ctrl *ctrl, ++ const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl) ++{ ++ struct vchiq_mmal_port *control; ++ struct mmal_parameter_awbgains gains; ++ ++ control = &dev->component[MMAL_COMPONENT_CAMERA]->control; ++ ++ if (ctrl->id == V4L2_CID_RED_BALANCE) ++ dev->red_gain = ctrl->val; ++ else if (ctrl->id == V4L2_CID_BLUE_BALANCE) ++ dev->blue_gain = ctrl->val; ++ ++ gains.r_gain.num = dev->red_gain; ++ gains.b_gain.num = dev->blue_gain; ++ gains.r_gain.den = gains.b_gain.den = 1000; ++ ++ return vchiq_mmal_port_parameter_set(dev->instance, control, ++ mmal_ctrl->mmal_id, ++ &gains, sizeof(gains)); ++} ++ + static int ctrl_set_image_effect(struct bm2835_mmal_dev *dev, + struct v4l2_ctrl *ctrl, + const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl) +@@ -991,12 +1014,26 @@ static int bm2835_mmal_s_ctrl(struct v4l2_ctrl *ctrl) + { + V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE, + MMAL_CONTROL_TYPE_STD_MENU, +- ~0x3fe, 9, V4L2_WHITE_BALANCE_AUTO, 0, NULL, ++ ~0x3ff, 9, V4L2_WHITE_BALANCE_AUTO, 0, NULL, + MMAL_PARAMETER_AWB_MODE, + &ctrl_set_awb_mode, + false + }, + { ++ V4L2_CID_RED_BALANCE, MMAL_CONTROL_TYPE_STD, ++ 1, 7999, 1000, 1, NULL, ++ MMAL_PARAMETER_CUSTOM_AWB_GAINS, ++ &ctrl_set_awb_gains, ++ false ++ }, ++ { ++ V4L2_CID_BLUE_BALANCE, MMAL_CONTROL_TYPE_STD, ++ 1, 7999, 1000, 1, NULL, ++ MMAL_PARAMETER_CUSTOM_AWB_GAINS, ++ &ctrl_set_awb_gains, ++ false ++ }, ++ { + V4L2_CID_COLORFX, MMAL_CONTROL_TYPE_STD_MENU, + 0, 15, V4L2_COLORFX_NONE, 0, NULL, + MMAL_PARAMETER_IMAGE_EFFECT, +diff --git a/drivers/media/platform/bcm2835/mmal-parameters.h b/drivers/media/platform/bcm2835/mmal-parameters.h +index ae8fef9..089f949 100644 +--- a/drivers/media/platform/bcm2835/mmal-parameters.h ++++ b/drivers/media/platform/bcm2835/mmal-parameters.h +@@ -161,7 +161,8 @@ enum mmal_parameter_camera_type { + MMAL_PARAMETER_SW_SHARPEN_DISABLE, /**< @ref MMAL_PARAMETER_BOOLEAN_T */ + MMAL_PARAMETER_FLASH_REQUIRED, /**< @ref MMAL_PARAMETER_BOOLEAN_T */ + MMAL_PARAMETER_SW_SATURATION_DISABLE, /**< @ref MMAL_PARAMETER_BOOLEAN_T */ +- MMAL_PARAMETER_SHUTTER_SPEED /**< Takes a @ref MMAL_PARAMETER_UINT32_T */ ++ MMAL_PARAMETER_SHUTTER_SPEED, /**< Takes a @ref MMAL_PARAMETER_UINT32_T */ ++ MMAL_PARAMETER_CUSTOM_AWB_GAINS, /**< Takes a @ref MMAL_PARAMETER_AWB_GAINS_T */ + }; + + struct mmal_parameter_rational { +@@ -292,6 +293,11 @@ enum MMAL_PARAM_FLICKERAVOID_T { + MMAL_PARAM_FLICKERAVOID_MAX = 0x7FFFFFFF + }; + ++struct mmal_parameter_awbgains { ++ struct mmal_parameter_rational r_gain; /**< Red gain */ ++ struct mmal_parameter_rational b_gain; /**< Blue gain */ ++}; ++ + /** Manner of video rate control */ + enum mmal_parameter_rate_control_mode { + MMAL_VIDEO_RATECONTROL_DEFAULT, +-- +1.8.5.5 + + +From 6fb84d86e3b5dd149574558efd7246bbeddfc4c8 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Wed, 12 Mar 2014 11:46:34 +0000 +Subject: [PATCH 115/118] ASoc: Don't report S24_LE support, it produces white + noise with xbmc + +--- + sound/soc/bcm/bcm2708-i2s.c | 2 +- + sound/soc/codecs/pcm5102a.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/sound/soc/bcm/bcm2708-i2s.c b/sound/soc/bcm/bcm2708-i2s.c +index a179216..b25e158 100644 +--- a/sound/soc/bcm/bcm2708-i2s.c ++++ b/sound/soc/bcm/bcm2708-i2s.c +@@ -718,7 +718,7 @@ static int bcm2708_i2s_dai_probe(struct snd_soc_dai *dai) + .channels_max = 2, + .rates = SNDRV_PCM_RATE_8000_192000, + .formats = SNDRV_PCM_FMTBIT_S16_LE +- | SNDRV_PCM_FMTBIT_S24_LE ++ // | SNDRV_PCM_FMTBIT_S24_LE : disable for now, it causes white noise with xbmc + | SNDRV_PCM_FMTBIT_S32_LE + }, + .capture = { +diff --git a/sound/soc/codecs/pcm5102a.c b/sound/soc/codecs/pcm5102a.c +index 126f1e9..7812d34 100644 +--- a/sound/soc/codecs/pcm5102a.c ++++ b/sound/soc/codecs/pcm5102a.c +@@ -28,7 +28,7 @@ + .channels_max = 2, + .rates = SNDRV_PCM_RATE_8000_192000, + .formats = SNDRV_PCM_FMTBIT_S16_LE | +- SNDRV_PCM_FMTBIT_S24_LE | ++ // SNDRV_PCM_FMTBIT_S24_LE | : disable for now, it causes white noise with xbmc + SNDRV_PCM_FMTBIT_S32_LE + }, + }; +-- +1.8.5.5 + + +From bdbfd9634053d55a1346026132f8bf3e90b07300 Mon Sep 17 00:00:00 2001 +From: Julian Scheel +Date: Wed, 19 Feb 2014 16:06:59 +0100 +Subject: [PATCH 116/118] snd-bcm2835: Add support for spdif/hdmi passthrough + +This adds a dedicated subdevice which can be used for passthrough of non-audio +formats (ie encoded a52) through the hdmi audio link. In addition to this +driver extension an appropriate card config is required to make alsa-lib +support the AES parameters for this device. +--- + sound/arm/bcm2835-ctl.c | 123 ++++++++++++++++++++++++++++++++++++++++++++++ + sound/arm/bcm2835-pcm.c | 128 +++++++++++++++++++++++++++++++++++++++++------- + sound/arm/bcm2835.c | 9 +++- + sound/arm/bcm2835.h | 9 ++++ + 4 files changed, 250 insertions(+), 19 deletions(-) + +diff --git a/sound/arm/bcm2835-ctl.c b/sound/arm/bcm2835-ctl.c +index 8c5334a..aad905f 100755 +--- a/sound/arm/bcm2835-ctl.c ++++ b/sound/arm/bcm2835-ctl.c +@@ -30,6 +30,7 @@ + #include + #include + #include ++#include + + #include "bcm2835.h" + +@@ -183,6 +184,122 @@ static int snd_bcm2835_ctl_put(struct snd_kcontrol *kcontrol, + }, + }; + ++static int snd_bcm2835_spdif_default_info(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_info *uinfo) ++{ ++ uinfo->type = SNDRV_CTL_ELEM_TYPE_IEC958; ++ uinfo->count = 1; ++ return 0; ++} ++ ++static int snd_bcm2835_spdif_default_get(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ struct bcm2835_chip *chip = snd_kcontrol_chip(kcontrol); ++ int i; ++ ++ for (i = 0; i < 4; i++) ++ ucontrol->value.iec958.status[i] = ++ (chip->spdif_status >> (i * 8)) && 0xff; ++ ++ return 0; ++} ++ ++static int snd_bcm2835_spdif_default_put(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ struct bcm2835_chip *chip = snd_kcontrol_chip(kcontrol); ++ unsigned int val = 0; ++ int i, change; ++ ++ for (i = 0; i < 4; i++) ++ val |= (unsigned int)ucontrol->value.iec958.status[i] << (i * 8); ++ ++ change = val != chip->spdif_status; ++ chip->spdif_status = val; ++ ++ return change; ++} ++ ++static int snd_bcm2835_spdif_mask_info(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_info *uinfo) ++{ ++ uinfo->type = SNDRV_CTL_ELEM_TYPE_IEC958; ++ uinfo->count = 1; ++ return 0; ++} ++ ++static int snd_bcm2835_spdif_mask_get(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ /* bcm2835 supports only consumer mode and sets all other format flags ++ * automatically. So the only thing left is signalling non-audio ++ * content */ ++ ucontrol->value.iec958.status[0] = IEC958_AES0_NONAUDIO; ++ return 0; ++} ++ ++static int snd_bcm2835_spdif_stream_info(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_info *uinfo) ++{ ++ uinfo->type = SNDRV_CTL_ELEM_TYPE_IEC958; ++ uinfo->count = 1; ++ return 0; ++} ++ ++static int snd_bcm2835_spdif_stream_get(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ struct bcm2835_chip *chip = snd_kcontrol_chip(kcontrol); ++ int i; ++ ++ for (i = 0; i < 4; i++) ++ ucontrol->value.iec958.status[i] = ++ (chip->spdif_status >> (i * 8)) & 0xff; ++ return 0; ++} ++ ++static int snd_bcm2835_spdif_stream_put(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ struct bcm2835_chip *chip = snd_kcontrol_chip(kcontrol); ++ unsigned int val = 0; ++ int i, change; ++ ++ for (i = 0; i < 4; i++) ++ val |= (unsigned int)ucontrol->value.iec958.status[i] << (i * 8); ++ change = val != chip->spdif_status; ++ chip->spdif_status = val; ++ ++ return change; ++} ++ ++static struct snd_kcontrol_new snd_bcm2835_spdif[] = { ++ { ++ .iface = SNDRV_CTL_ELEM_IFACE_PCM, ++ .name = SNDRV_CTL_NAME_IEC958("", PLAYBACK, DEFAULT), ++ .info = snd_bcm2835_spdif_default_info, ++ .get = snd_bcm2835_spdif_default_get, ++ .put = snd_bcm2835_spdif_default_put ++ }, ++ { ++ .access = SNDRV_CTL_ELEM_ACCESS_READ, ++ .iface = SNDRV_CTL_ELEM_IFACE_PCM, ++ .name = SNDRV_CTL_NAME_IEC958("", PLAYBACK, CON_MASK), ++ .info = snd_bcm2835_spdif_mask_info, ++ .get = snd_bcm2835_spdif_mask_get, ++ }, ++ { ++ .access = SNDRV_CTL_ELEM_ACCESS_READWRITE | ++ SNDRV_CTL_ELEM_ACCESS_INACTIVE, ++ .iface = SNDRV_CTL_ELEM_IFACE_PCM, ++ .name = SNDRV_CTL_NAME_IEC958("", PLAYBACK, PCM_STREAM), ++ .info = snd_bcm2835_spdif_stream_info, ++ .get = snd_bcm2835_spdif_stream_get, ++ .put = snd_bcm2835_spdif_stream_put, ++ }, ++}; ++ + int snd_bcm2835_new_ctl(bcm2835_chip_t * chip) + { + int err; +@@ -196,5 +313,11 @@ int snd_bcm2835_new_ctl(bcm2835_chip_t * chip) + if (err < 0) + return err; + } ++ for (idx = 0; idx < ARRAY_SIZE(snd_bcm2835_spdif); idx++) { ++ err = snd_ctl_add(chip->card, ++ snd_ctl_new1(&snd_bcm2835_spdif[idx], chip)); ++ if (err < 0) ++ return err; ++ } + return 0; + } +diff --git a/sound/arm/bcm2835-pcm.c b/sound/arm/bcm2835-pcm.c +index 7e8b8d9..1845a77 100755 +--- a/sound/arm/bcm2835-pcm.c ++++ b/sound/arm/bcm2835-pcm.c +@@ -15,6 +15,8 @@ + #include + #include + ++#include ++ + #include "bcm2835.h" + + /* hardware definition */ +@@ -34,6 +36,23 @@ + .periods_max = 128, + }; + ++static struct snd_pcm_hardware snd_bcm2835_playback_spdif_hw = { ++ .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | ++ SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID), ++ .formats = SNDRV_PCM_FMTBIT_S16_LE, ++ .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_44100 | ++ SNDRV_PCM_RATE_48000, ++ .rate_min = 44100, ++ .rate_max = 48000, ++ .channels_min = 2, ++ .channels_max = 2, ++ .buffer_bytes_max = 128 * 1024, ++ .period_bytes_min = 1 * 1024, ++ .period_bytes_max = 128 * 1024, ++ .periods_min = 1, ++ .periods_max = 128, ++}; ++ + static void snd_bcm2835_playback_free(struct snd_pcm_runtime *runtime) + { + audio_info("Freeing up alsa stream here ..\n"); +@@ -89,7 +108,8 @@ static irqreturn_t bcm2835_playback_fifo_irq(int irq, void *dev_id) + } + + /* open callback */ +-static int snd_bcm2835_playback_open(struct snd_pcm_substream *substream) ++static int snd_bcm2835_playback_open_generic( ++ struct snd_pcm_substream *substream, int spdif) + { + bcm2835_chip_t *chip = snd_pcm_substream_chip(substream); + struct snd_pcm_runtime *runtime = substream->runtime; +@@ -102,6 +122,11 @@ static int snd_bcm2835_playback_open(struct snd_pcm_substream *substream) + audio_info("Alsa open (%d)\n", substream->number); + idx = substream->number; + ++ if (spdif && chip->opened != 0) ++ return -EBUSY; ++ else if (!spdif && (chip->opened & (1 << idx))) ++ return -EBUSY; ++ + if (idx > MAX_SUBSTREAMS) { + audio_error + ("substream(%d) device doesn't exist max(%d) substreams allowed\n", +@@ -139,7 +164,13 @@ static int snd_bcm2835_playback_open(struct snd_pcm_substream *substream) + + runtime->private_data = alsa_stream; + runtime->private_free = snd_bcm2835_playback_free; +- runtime->hw = snd_bcm2835_playback_hw; ++ if (spdif) { ++ runtime->hw = snd_bcm2835_playback_spdif_hw; ++ } else { ++ /* clear spdif status, as we are not in spdif mode */ ++ chip->spdif_status = 0; ++ runtime->hw = snd_bcm2835_playback_hw; ++ } + /* minimum 16 bytes alignment (for vchiq bulk transfers) */ + snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, + 16); +@@ -150,6 +181,7 @@ static int snd_bcm2835_playback_open(struct snd_pcm_substream *substream) + return err; + } + ++ chip->opened |= (1 << idx); + alsa_stream->open = 1; + alsa_stream->draining = 1; + +@@ -159,6 +191,16 @@ static int snd_bcm2835_playback_open(struct snd_pcm_substream *substream) + return err; + } + ++static int snd_bcm2835_playback_open(struct snd_pcm_substream *substream) ++{ ++ return snd_bcm2835_playback_open_generic(substream, 0); ++} ++ ++static int snd_bcm2835_playback_spdif_open(struct snd_pcm_substream *substream) ++{ ++ return snd_bcm2835_playback_open_generic(substream, 1); ++} ++ + /* close callback */ + static int snd_bcm2835_playback_close(struct snd_pcm_substream *substream) + { +@@ -166,6 +208,7 @@ static int snd_bcm2835_playback_close(struct snd_pcm_substream *substream) + + struct snd_pcm_runtime *runtime = substream->runtime; + bcm2835_alsa_stream_t *alsa_stream = runtime->private_data; ++ bcm2835_chip_t *chip = snd_pcm_substream_chip(substream); + + audio_info(" .. IN\n"); + audio_info("Alsa close\n"); +@@ -196,6 +239,8 @@ static int snd_bcm2835_playback_close(struct snd_pcm_substream *substream) + * runtime->private_free callback we registered in *_open above + */ + ++ chip->opened &= ~(1 << substream->number); ++ + audio_info(" .. OUT\n"); + + return 0; +@@ -205,10 +250,9 @@ static int snd_bcm2835_playback_close(struct snd_pcm_substream *substream) + static int snd_bcm2835_pcm_hw_params(struct snd_pcm_substream *substream, + struct snd_pcm_hw_params *params) + { +- int err; + struct snd_pcm_runtime *runtime = substream->runtime; +- bcm2835_alsa_stream_t *alsa_stream = +- (bcm2835_alsa_stream_t *) runtime->private_data; ++ bcm2835_alsa_stream_t *alsa_stream = runtime->private_data; ++ int err; + + audio_info(" .. IN\n"); + +@@ -219,19 +263,9 @@ static int snd_bcm2835_pcm_hw_params(struct snd_pcm_substream *substream, + return err; + } + +- err = bcm2835_audio_set_params(alsa_stream, params_channels(params), +- params_rate(params), +- snd_pcm_format_width(params_format +- (params))); +- if (err < 0) { +- audio_error(" error setting hw params\n"); +- } +- +- bcm2835_audio_setup(alsa_stream); +- +- /* in preparation of the stream, set the controls (volume level) of the stream */ +- bcm2835_audio_set_ctls(alsa_stream->chip); +- ++ alsa_stream->channels = params_channels(params); ++ alsa_stream->params_rate = params_rate(params); ++ alsa_stream->pcm_format_width = snd_pcm_format_width(params_format (params)); + audio_info(" .. OUT\n"); + + return err; +@@ -247,11 +281,35 @@ static int snd_bcm2835_pcm_hw_free(struct snd_pcm_substream *substream) + /* prepare callback */ + static int snd_bcm2835_pcm_prepare(struct snd_pcm_substream *substream) + { ++ bcm2835_chip_t *chip = snd_pcm_substream_chip(substream); + struct snd_pcm_runtime *runtime = substream->runtime; + bcm2835_alsa_stream_t *alsa_stream = runtime->private_data; ++ int channels; ++ int err; + + audio_info(" .. IN\n"); + ++ /* notify the vchiq that it should enter spdif passthrough mode by ++ * setting channels=0 (see ++ * https://github.com/raspberrypi/linux/issues/528) */ ++ if (chip->spdif_status & IEC958_AES0_NONAUDIO) ++ channels = 0; ++ else ++ channels = alsa_stream->channels; ++ ++ err = bcm2835_audio_set_params(alsa_stream, channels, ++ alsa_stream->params_rate, ++ alsa_stream->pcm_format_width); ++ if (err < 0) { ++ audio_error(" error setting hw params\n"); ++ } ++ ++ bcm2835_audio_setup(alsa_stream); ++ ++ /* in preparation of the stream, set the controls (volume level) of the stream */ ++ bcm2835_audio_set_ctls(alsa_stream->chip); ++ ++ + memset(&alsa_stream->pcm_indirect, 0, sizeof(alsa_stream->pcm_indirect)); + + alsa_stream->pcm_indirect.hw_buffer_size = +@@ -392,6 +450,18 @@ static int snd_bcm2835_pcm_lib_ioctl(struct snd_pcm_substream *substream, + .ack = snd_bcm2835_pcm_ack, + }; + ++static struct snd_pcm_ops snd_bcm2835_playback_spdif_ops = { ++ .open = snd_bcm2835_playback_spdif_open, ++ .close = snd_bcm2835_playback_close, ++ .ioctl = snd_bcm2835_pcm_lib_ioctl, ++ .hw_params = snd_bcm2835_pcm_hw_params, ++ .hw_free = snd_bcm2835_pcm_hw_free, ++ .prepare = snd_bcm2835_pcm_prepare, ++ .trigger = snd_bcm2835_pcm_trigger, ++ .pointer = snd_bcm2835_pcm_pointer, ++ .ack = snd_bcm2835_pcm_ack, ++}; ++ + /* create a pcm device */ + int snd_bcm2835_new_pcm(bcm2835_chip_t * chip) + { +@@ -424,3 +494,25 @@ int snd_bcm2835_new_pcm(bcm2835_chip_t * chip) + + return 0; + } ++ ++int snd_bcm2835_new_spdif_pcm(bcm2835_chip_t * chip) ++{ ++ struct snd_pcm *pcm; ++ int err; ++ ++ err = snd_pcm_new(chip->card, "bcm2835 ALSA", 1, 1, 0, &pcm); ++ if (err < 0) ++ return err; ++ ++ pcm->private_data = chip; ++ strcpy(pcm->name, "bcm2835 IEC958/HDMI"); ++ chip->pcm_spdif = pcm; ++ snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, ++ &snd_bcm2835_playback_spdif_ops); ++ ++ snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_CONTINUOUS, ++ snd_dma_continuous_data (GFP_KERNEL), ++ 64 * 1024, 64 * 1024); ++ ++ return 0; ++} +diff --git a/sound/arm/bcm2835.c b/sound/arm/bcm2835.c +index e2047a7..4136760 100755 +--- a/sound/arm/bcm2835.c ++++ b/sound/arm/bcm2835.c +@@ -104,7 +104,7 @@ static int snd_bcm2835_alsa_probe(struct platform_device *pdev) + goto out; + + snd_card_set_dev(g_card, &pdev->dev); +- strcpy(g_card->driver, "BRCM bcm2835 ALSA Driver"); ++ strcpy(g_card->driver, "bcm2835"); + strcpy(g_card->shortname, "bcm2835 ALSA"); + sprintf(g_card->longname, "%s", g_card->shortname); + +@@ -121,6 +121,12 @@ static int snd_bcm2835_alsa_probe(struct platform_device *pdev) + goto out_bcm2835_new_pcm; + } + ++ err = snd_bcm2835_new_spdif_pcm(chip); ++ if (err < 0) { ++ dev_err(&pdev->dev, "Failed to create new BCM2835 spdif pcm device\n"); ++ goto out_bcm2835_new_spdif; ++ } ++ + err = snd_bcm2835_new_ctl(chip); + if (err < 0) { + dev_err(&pdev->dev, "Failed to create new BCM2835 ctl\n"); +@@ -156,6 +162,7 @@ static int snd_bcm2835_alsa_probe(struct platform_device *pdev) + + out_card_register: + out_bcm2835_new_ctl: ++out_bcm2835_new_spdif: + out_bcm2835_new_pcm: + out_bcm2835_create: + BUG_ON(!g_card); +diff --git a/sound/arm/bcm2835.h b/sound/arm/bcm2835.h +index 36afee3..8c2fe26 100755 +--- a/sound/arm/bcm2835.h ++++ b/sound/arm/bcm2835.h +@@ -97,6 +97,7 @@ enum { + typedef struct bcm2835_chip { + struct snd_card *card; + struct snd_pcm *pcm; ++ struct snd_pcm *pcm_spdif; + /* Bitmat for valid reg_base and irq numbers */ + uint32_t avail_substreams; + struct platform_device *pdev[MAX_SUBSTREAMS]; +@@ -106,6 +107,9 @@ enum { + int old_volume; /* stores the volume value whist muted */ + int dest; + int mute; ++ ++ unsigned int opened; ++ unsigned int spdif_status; + } bcm2835_chip_t; + + typedef struct bcm2835_alsa_stream { +@@ -123,6 +127,10 @@ enum { + int running; + int draining; + ++ int channels; ++ int params_rate; ++ int pcm_format_width; ++ + unsigned int pos; + unsigned int buffer_size; + unsigned int period_size; +@@ -138,6 +146,7 @@ enum { + + int snd_bcm2835_new_ctl(bcm2835_chip_t * chip); + int snd_bcm2835_new_pcm(bcm2835_chip_t * chip); ++int snd_bcm2835_new_spdif_pcm(bcm2835_chip_t * chip); + + int bcm2835_audio_open(bcm2835_alsa_stream_t * alsa_stream); + int bcm2835_audio_close(bcm2835_alsa_stream_t * alsa_stream); +-- +1.8.5.5 + + +From 56cc27f5e81c3f29edd488a5a219b647f2f8c64a Mon Sep 17 00:00:00 2001 +From: P33M +Date: Wed, 19 Mar 2014 12:58:23 +0000 +Subject: [PATCH 117/118] dwc_otg: fiq_fsm: Base commit for driver rewrite This commit removes the previous FIQ fixes entirely and adds fiq_fsm. @@ -115605,10 +116281,10 @@ index ca17379..0000000 1.8.5.5 -From d404f17556fb8a5263021e21096ceea0eb62378a Mon Sep 17 00:00:00 2001 -From: Dom Cobley -Date: Wed, 19 Mar 2014 16:26:42 +0000 -Subject: [PATCH 114/114] Fix ARM architecture issue with local_irq_restore() +From 2514e943096ff51dd5a83b28b4b4d45ec2693434 Mon Sep 17 00:00:00 2001 +From: P33M +Date: Wed, 19 Mar 2014 15:13:53 +0000 +Subject: [PATCH 118/118] Fix ARM architecture issue with local_irq_restore() If local_fiq_enable() is called before a local_irq_restore(flags) where the flags variable has the F bit set, the FIQ will be erroneously disabled.