diff --git a/projects/RPi/patches/linux/linux-01-RPi_support-c1d79be.patch b/projects/RPi/patches/linux/linux-01-RPi_support-4b3694f.patch similarity index 99% rename from projects/RPi/patches/linux/linux-01-RPi_support-c1d79be.patch rename to projects/RPi/patches/linux/linux-01-RPi_support-4b3694f.patch index 1d3b03a32e..284fcd50fb 100644 --- a/projects/RPi/patches/linux/linux-01-RPi_support-c1d79be.patch +++ b/projects/RPi/patches/linux/linux-01-RPi_support-4b3694f.patch @@ -1,7 +1,7 @@ -From 1545b0a92a2795bcc37e1e235894df0227dde232 Mon Sep 17 00:00:00 2001 +From 08a5ef637c08da1a7051ff5ed34ee8fa1da9b6a2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 001/102] Main bcm2708 linux port +Subject: [PATCH 001/110] Main bcm2708 linux port Signed-off-by: popcornmix --- @@ -8593,10 +8593,10 @@ index 362927c4..e23fffb 100644 1.9.1 -From ef8a33bbddb9a3639f5b4c7751211205d61662f7 Mon Sep 17 00:00:00 2001 +From f60a50640d06bb8f93d2dcebaccd9c68743b58e6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 7 May 2013 22:20:24 +0100 -Subject: [PATCH 002/102] Add quick config. +Subject: [PATCH 002/110] Add quick config. This is designed for quick compiling when developing. No modules are needed and it includes all Pi specific drivers @@ -8812,10 +8812,10 @@ index 0000000..e5efe75 1.9.1 -From 20ebb79da3d75e1d30949b1ed40e34d72679ed1c Mon Sep 17 00:00:00 2001 +From cfc03c6cb10e7bd0113e746217eb199d7b6d9b8d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 003/102] Add dwc_otg driver +Subject: [PATCH 003/110] Add dwc_otg driver Signed-off-by: popcornmix --- @@ -65887,10 +65887,10 @@ index 0000000..cdc9963 1.9.1 -From 468f7c38d390fcd26eafb297f2b5e51489b35e74 Mon Sep 17 00:00:00 2001 +From 7734cb5e3a32e567ade48d067a6802898ffdf68b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:54:32 +0100 -Subject: [PATCH 004/102] bcm2708 watchdog driver +Subject: [PATCH 004/110] bcm2708 watchdog driver Signed-off-by: popcornmix --- @@ -66323,10 +66323,10 @@ index 0000000..2f19203 1.9.1 -From d9496744ed97df8ea2cde55041b00ff09bd4f891 Mon Sep 17 00:00:00 2001 +From 40af82b762b54b620181a75636755bc472c2dc9d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:55:09 +0100 -Subject: [PATCH 005/102] bcm2708 framebuffer driver +Subject: [PATCH 005/110] bcm2708 framebuffer driver Signed-off-by: popcornmix --- @@ -69373,10 +69373,10 @@ index 3c14e43..7626beb 100644 1.9.1 -From 9a33fc2677bbb7de1cbf4a84c3e35c8c49c3c6d8 Mon Sep 17 00:00:00 2001 +From 79c6ee6e0b4d60db199bf1701cbadae32a34571a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 2 Jul 2013 23:42:01 +0100 -Subject: [PATCH 006/102] bcm2708 vchiq driver +Subject: [PATCH 006/110] bcm2708 vchiq driver Signed-off-by: popcornmix @@ -81927,10 +81927,10 @@ index 0000000..b6bfa21 1.9.1 -From 9ed912b98e8894892f83994a74af44c9b25a69e5 Mon Sep 17 00:00:00 2001 +From 580927bbe5116aa345c6040b0a6cdab6da53be41 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:31:47 +0100 -Subject: [PATCH 007/102] cma: Add vc_cma driver to enable use of CMA +Subject: [PATCH 007/110] cma: Add vc_cma driver to enable use of CMA Signed-off-by: popcornmix --- @@ -83221,10 +83221,10 @@ index 0000000..5325832 1.9.1 -From d5d2c434d0929a31f41d9443b6894db8386cfcfd Mon Sep 17 00:00:00 2001 +From c67803d14570ca5ea3cf69fca8595ce78b50284e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 26 Mar 2012 22:15:50 +0100 -Subject: [PATCH 008/102] bcm2708: alsa sound driver +Subject: [PATCH 008/110] bcm2708: alsa sound driver Signed-off-by: popcornmix --- @@ -85588,10 +85588,10 @@ index 0000000..af3e6eb 1.9.1 -From 7dfaf328795f38f34ecdc05b1529944e40e8fbba Mon Sep 17 00:00:00 2001 +From eed75fd62cc463d81ea517eb26f9ec57b622e316 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 26 Apr 2013 10:08:31 -0700 -Subject: [PATCH 009/102] Merge pull request #286 from +Subject: [PATCH 009/110] Merge pull request #286 from martinezjavier/rpi-3.6.y-dev add mmap support and some cleanups to bcm2835 ALSA driver @@ -86072,10 +86072,10 @@ index 080bd5c..36afee3 100755 1.9.1 -From 835287ecd55f3126980e2a1b94ab2c68348c9d9d Mon Sep 17 00:00:00 2001 +From 673c36c214d15cd30c9aa8ae75f47c369a045091 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:51:55 +0100 -Subject: [PATCH 010/102] Add hwrng (hardware random number generator) driver +Subject: [PATCH 010/110] Add hwrng (hardware random number generator) driver --- arch/arm/mach-bcm2708/include/mach/platform.h | 1 + @@ -86256,10 +86256,10 @@ index 0000000..1ffa7d7 1.9.1 -From 17914d6446c6238381fbea5ed22d4355a41da8dd Mon Sep 17 00:00:00 2001 +From 7d24c7cfecc88d01af66719e211f1b9edc272559 Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 011/102] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 011/110] lirc: added support for RaspberryPi GPIO --- drivers/staging/media/lirc/Kconfig | 6 + @@ -87000,10 +87000,10 @@ index 0000000..8aee83f 1.9.1 -From 4221cf38a14d04c891d00b86f0f1ca8bac368deb Mon Sep 17 00:00:00 2001 +From 9d38941b1565b436bf5de2e6de99212a285dcabd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 8 May 2012 23:12:13 +0100 -Subject: [PATCH 012/102] Fixes for sdhci-bcm2708 +Subject: [PATCH 012/110] Fixes for sdhci-bcm2708 possible fix for sdcard missing status. Thank naren @@ -88277,10 +88277,10 @@ index e23fffb..b1b6537 100644 1.9.1 -From 6f145323a96ca00891d91e9102ed8bd2dc73a290 Mon Sep 17 00:00:00 2001 +From 9caaecc681b0aa2db81e896b5aa86619d4efdf6b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 013/102] Add cpufreq driver +Subject: [PATCH 013/110] Add cpufreq driver --- arch/arm/Kconfig | 1 + @@ -88582,10 +88582,10 @@ index 0000000..7bc55bd 1.9.1 -From ce0b9a8bf79cb54179c077705a779a61226a7839 Mon Sep 17 00:00:00 2001 +From b4cdc2917006da38ae182d9202117a4b7404b967 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 19:24:24 +0000 -Subject: [PATCH 014/102] Added hwmon/thermal driver for reporting core +Subject: [PATCH 014/110] Added hwmon/thermal driver for reporting core temperature. Thanks Dorian --- @@ -89110,10 +89110,10 @@ index 0000000..85fceb5 1.9.1 -From 73b1d569e8d9407f7d94695d78e226d677c78155 Mon Sep 17 00:00:00 2001 +From c8693b7ca9fde98cfd3dd1046442e499428d9975 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 015/102] Allow mac address to be set in smsc95xx +Subject: [PATCH 015/110] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -89207,10 +89207,10 @@ index 424db65e..fc1ef4e 100644 1.9.1 -From 4c4e16520400fe0a120f3974402e31ab3c775170 Mon Sep 17 00:00:00 2001 +From 47cd5e75af8d496251a33783b1e6a43c0ea76eea Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 4 Nov 2013 18:56:10 +0000 -Subject: [PATCH 016/102] Add Chris Boot's i2c and spi drivers. +Subject: [PATCH 016/110] Add Chris Boot's i2c and spi drivers. --- arch/arm/configs/bcmrpi_cutdown_defconfig | 9 + @@ -90575,10 +90575,10 @@ index 0000000..180264a 1.9.1 -From 8a0ec82c86316637b304c2daafe82596b5ceb32c Mon Sep 17 00:00:00 2001 +From ff41fa27a2f855287a252fd217f999477cd3ce72 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 017/102] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 017/110] enabling the realtime clock 1-wire chip DS1307 and 1-wire on GPIO4 (as a module) 1-wire: Add support for configuring pin for w1-gpio kernel module @@ -90781,10 +90781,10 @@ index e10acc2..667fdd5 100644 1.9.1 -From 2803be346e01f3a767be6cb37723a462354b968e Mon Sep 17 00:00:00 2001 +From fde654d01524afd98860bf640104e44eeaf530cc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:46:42 +0100 -Subject: [PATCH 018/102] Add FIQ patch to dwc_otg driver. Enable with +Subject: [PATCH 018/110] 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 @@ -91944,10 +91944,10 @@ index e46d9bb..6b2c7d0 100644 1.9.1 -From 397e13a72f19688cb7475d00b5af704e54debcd8 Mon Sep 17 00:00:00 2001 +From 8322f0247034a47891c6863fabae27e93acb3c3f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 8 Sep 2012 15:17:53 +0100 -Subject: [PATCH 021/102] Avoid dynamic memory allocation for channel lock in +Subject: [PATCH 021/110] Avoid dynamic memory allocation for channel lock in USB driver. Thanks ddv2005. --- @@ -92054,10 +92054,10 @@ index b7b6b0c..76b5085 100644 1.9.1 -From c9a60c8edc70a3c88d91684ac970d9e3aa851a3b Mon Sep 17 00:00:00 2001 +From ae7b6c14dd2f698f9db80e7c8630f975a0400333 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 12 Apr 2013 23:58:47 +0100 -Subject: [PATCH 022/102] config: add missing options from 3.6.y kernel +Subject: [PATCH 022/110] config: add missing options from 3.6.y kernel --- arch/arm/configs/bcmrpi_defconfig | 748 ++++++++++++++++++++++++++++++++------ @@ -93101,10 +93101,10 @@ index 31f5afaa..88692be 100644 1.9.1 -From a8cd22cda81e8bd36919b08d444ef3978ce3eb93 Mon Sep 17 00:00:00 2001 +From e1a58be97ac48e5f1e25fc6982aa15189afe891a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 8 Apr 2013 21:12:48 +0100 -Subject: [PATCH 023/102] Add NAK holdoff scheme. Enabled by default, disable +Subject: [PATCH 023/110] Add NAK holdoff scheme. Enabled by default, disable with dwc_otg.nak_holdoff_enable=0. Thanks gsh --- @@ -93314,10 +93314,10 @@ index a9dea55..ebee73a 100644 1.9.1 -From ef40df5f9c9da19f4876d3cb845d144667c2bb95 Mon Sep 17 00:00:00 2001 +From 53ac4583629170f71d14a4b90457c27845eec915 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Sun, 4 Nov 2012 15:55:01 +0000 -Subject: [PATCH 024/102] Make sure we wait for the reset to finish +Subject: [PATCH 024/110] Make sure we wait for the reset to finish --- drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 2 ++ @@ -93340,10 +93340,10 @@ index aff59df..1a23d4b 100644 1.9.1 -From 3ab8aae4f9b473c203d1a9fe7bacdb52146dc892 Mon Sep 17 00:00:00 2001 +From 1fe16629b6031ab9614206da9ed29cb2db4feb57 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 9 Jan 2013 16:12:04 +0000 -Subject: [PATCH 025/102] dwc_otg: fix bug in dwc_otg_hcd.c resulting in silent +Subject: [PATCH 025/110] dwc_otg: fix bug in dwc_otg_hcd.c resulting in silent kernel memory corruption, escalating to OOPS under high USB load. --- @@ -93380,10 +93380,10 @@ index ebee73a..b3efaf4 100644 1.9.1 -From 57f2f1cddcb12dba3050e2adc82a254eba11adf3 Mon Sep 17 00:00:00 2001 +From c92794b6856837d0efde95c810cb6483fe5f8709 Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 15 Feb 2013 22:36:47 +0000 -Subject: [PATCH 026/102] dwc_otg: Fix unsafe access of QTD during URB enqueue +Subject: [PATCH 026/110] 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 @@ -93470,10 +93470,10 @@ index b3efaf4..1554be5 100644 1.9.1 -From 747e264b3778807b13a7acc4ee55daedf6392b48 Mon Sep 17 00:00:00 2001 +From e8437427960f9d8cbae7185f1102944e51e31b2f Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 15 Feb 2013 22:38:40 +0000 -Subject: [PATCH 027/102] dwc_otg: Fix incorrect URB allocation error handling +Subject: [PATCH 027/110] 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 @@ -93514,10 +93514,10 @@ index 35d03d1..6fe30e3 100644 1.9.1 -From bf7febd57be51847fbac94f18e7ba77c63ab4b09 Mon Sep 17 00:00:00 2001 +From 366979eaa87e2b1ad028083c84076be48d44d503 Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 28 Feb 2013 16:52:51 +0000 -Subject: [PATCH 028/102] dwc_otg: fix potential use-after-free case in +Subject: [PATCH 028/110] dwc_otg: fix potential use-after-free case in interrupt handler If a transaction had previously aborted, certain interrupts are @@ -93549,10 +93549,10 @@ index 1a23d4b..7af455d 100644 1.9.1 -From 9624cb723286ab366bb9eafb3957ed4340f3f9ef Mon Sep 17 00:00:00 2001 +From db302b24d7d56e66c046327b8637bd1838cc9d8a Mon Sep 17 00:00:00 2001 From: P33M Date: Sun, 3 Mar 2013 14:45:53 +0000 -Subject: [PATCH 029/102] dwc_otg: add handling of SPLIT transaction data +Subject: [PATCH 029/110] dwc_otg: add handling of SPLIT transaction data toggle errors Previously a data toggle error on packets from a USB1.1 device behind @@ -93607,10 +93607,10 @@ index 7af455d..a27dacd 100644 1.9.1 -From a74291b9ad8a7cd8ec0ed43ca76b0d63f0cd8188 Mon Sep 17 00:00:00 2001 +From 0fe4b7476e4a8cb9e66e4903cc8c493c2756d5ad Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 21 Mar 2013 19:36:17 +0000 -Subject: [PATCH 030/102] dwc_otg: implement tasklet for returning URBs to +Subject: [PATCH 030/110] dwc_otg: implement tasklet for returning URBs to usbcore hcd layer The dwc_otg driver interrupt handler for transfer completion will spend @@ -93852,10 +93852,10 @@ index 2b4a14e..39787e3 100644 1.9.1 -From 2f0d248c26e3fdd507da17a57a4017b7af7b2037 Mon Sep 17 00:00:00 2001 +From 64e8287aa6a4c2114a491d4d08f3e195fe917a72 Mon Sep 17 00:00:00 2001 From: P33M Date: Mon, 22 Apr 2013 00:08:36 +0100 -Subject: [PATCH 032/102] dwc_otg: fix NAK holdoff and allow on split +Subject: [PATCH 032/110] dwc_otg: fix NAK holdoff and allow on split transactions only This corrects a bug where if a single active non-periodic endpoint @@ -93925,10 +93925,10 @@ index 533b17d..73f7643 100644 1.9.1 -From 7cca46d2b090514d8854bb52eb90e4e39e37e4d7 Mon Sep 17 00:00:00 2001 +From 4c7ab253073d193859fa27edd719d5f4f622159d Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 033/102] Speed up console framebuffer imageblit function +Subject: [PATCH 033/110] 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 @@ -94140,10 +94140,10 @@ index a2bb276..436494f 100644 1.9.1 -From a504248defaf69d87595a7ec4fe16f85474a879d Mon Sep 17 00:00:00 2001 +From ed2081dbb044577414d0b70386d13644d851d36f Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 034/102] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 034/110] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -94239,10 +94239,10 @@ index fb795c3..fa72af0 100644 1.9.1 -From a4ee4a045dc005170a6bb5702e6a016054bb72bd Mon Sep 17 00:00:00 2001 +From 2e34fa8e8ebdc5ac7e86537b23daf0d33987d2ab Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 16:00:25 +0300 -Subject: [PATCH 035/102] bcm2708_fb: DMA acceleration for fb_copyarea +Subject: [PATCH 035/110] 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 @@ -94700,10 +94700,10 @@ index 54cd760..798eb52 100644 1.9.1 -From 2720bb1490db12a312e0134957d4caf78086aa02 Mon Sep 17 00:00:00 2001 +From 72f5e10d6f525ea76a0eef8341c61a060e05ed4b Mon Sep 17 00:00:00 2001 From: Mike Bradley Date: Mon, 17 Jun 2013 11:31:42 -0700 -Subject: [PATCH 036/102] dwc_otg: Call usb_hcd_unlink_urb_from_ep with lock +Subject: [PATCH 036/110] 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 @@ -94790,10 +94790,10 @@ index 39787e3..5e6a26a 100644 1.9.1 -From c4956794b930c9f617fcd5b3ab2a1bac8d55a02d Mon Sep 17 00:00:00 2001 +From 364630952167e3ec065bae195e483891e59554d5 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Thu, 4 Apr 2013 11:05:21 +0100 -Subject: [PATCH 037/102] USB fix using a FIQ to implement split transactions +Subject: [PATCH 037/110] 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 @@ -96196,10 +96196,10 @@ index 1b1f83c..c8590b5 100644 1.9.1 -From cedde0b542a9e7cb7533edfa3e25eaf7ff082cfa Mon Sep 17 00:00:00 2001 +From 7e3076271ad27372e4e28d9c6308ccb476bc514c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 11:39:46 +0100 -Subject: [PATCH 038/102] dwc_otg: fix device attributes and avoid kernel +Subject: [PATCH 038/110] dwc_otg: fix device attributes and avoid kernel warnings on boot --- @@ -96268,10 +96268,10 @@ index fab2961..af1cd4d 100644 1.9.1 -From e4876ca510316075698ab9551839e926ea6e2dcd Mon Sep 17 00:00:00 2001 +From e5d5bf4c0dc6f022d52f17eeede11eff798d987d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 15 Jul 2013 23:55:52 +0100 -Subject: [PATCH 039/102] dcw_otg: avoid logging function that can cause panics +Subject: [PATCH 039/110] dcw_otg: avoid logging function that can cause panics See: https://github.com/raspberrypi/firmware/issues/21 Thanks to cleverca22 for fix @@ -96296,10 +96296,10 @@ index af1cd4d..9da0c92 100644 1.9.1 -From 593f871d5c5764fb4e1d35bf8455d11316cb01df Mon Sep 17 00:00:00 2001 +From f59c4eaf4fe413ded09fe4dcf9b80ff6008e58b8 Mon Sep 17 00:00:00 2001 From: P33M Date: Sat, 13 Jul 2013 20:41:26 +0100 -Subject: [PATCH 040/102] dwc_otg: mask correct interrupts after transaction +Subject: [PATCH 040/110] dwc_otg: mask correct interrupts after transaction error recovery The dwc_otg driver will unmask certain interrupts on a transaction @@ -96366,10 +96366,10 @@ index 8e5789f..fd73e41 100644 1.9.1 -From 547e54f597c366ae0b8a7374e94ba4d3b9526fea Mon Sep 17 00:00:00 2001 +From 10f4be939ca616828b3cd38180d755a7d3022361 Mon Sep 17 00:00:00 2001 From: P33M Date: Sat, 13 Jul 2013 21:48:41 +0100 -Subject: [PATCH 041/102] dwc_otg: fiq: prevent FIQ thrash and incorrect state +Subject: [PATCH 041/110] 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 @@ -96426,10 +96426,10 @@ index fd73e41..2ec0565 100644 1.9.1 -From abe6b04b3cd481fef48202fea3aac89f7a586bd1 Mon Sep 17 00:00:00 2001 +From 3d27b2717df351d512ddad15be310f4358d175be Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Mon, 8 Jul 2013 04:12:19 +0100 -Subject: [PATCH 042/102] Fix function tracing +Subject: [PATCH 042/110] Fix function tracing --- drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 12 ++++++------ @@ -96494,10 +96494,10 @@ index 2ec0565..083b1c3 100644 1.9.1 -From a61fa157ae9e04c45d322dffe632eede1980d9c0 Mon Sep 17 00:00:00 2001 +From 076c9cb29dafe414ee3919a57d95c0f0a9e76832 Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 18 Jul 2013 16:32:41 +0100 -Subject: [PATCH 043/102] dwc_otg: whitespace cleanup in dwc_otg_urb_enqueue +Subject: [PATCH 043/110] dwc_otg: whitespace cleanup in dwc_otg_urb_enqueue --- drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c | 53 ++++++++++++++-------------- @@ -96584,10 +96584,10 @@ index d1c5c2b..315c803 100644 1.9.1 -From 375321915dbf14d6148921d53696e557bf9285d9 Mon Sep 17 00:00:00 2001 +From 32357806fa63d542ba5c83e8e5367a03a3bf969e Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 18 Jul 2013 17:07:26 +0100 -Subject: [PATCH 044/102] dwc_otg: prevent OOPSes during device disconnects +Subject: [PATCH 044/110] 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 @@ -96728,10 +96728,10 @@ index 7b92025..db95851 100644 1.9.1 -From 2765ae348e7dfa35a1391ab9de05fd8901b9d48b Mon Sep 17 00:00:00 2001 +From e156b6a050067fa5bff3b6101ae39a9010e22b7f Mon Sep 17 00:00:00 2001 From: P33M Date: Mon, 22 Jul 2013 14:08:26 +0100 -Subject: [PATCH 045/102] dwc_otg: prevent BUG() in TT allocation if hub +Subject: [PATCH 045/110] dwc_otg: prevent BUG() in TT allocation if hub address is > 16 A fixed-size array is used to track TT allocation. This was @@ -96821,10 +96821,10 @@ index 083b1c3..c76910d 100644 1.9.1 -From 3361cdb6bf9169837b86c39a6b674af7179be204 Mon Sep 17 00:00:00 2001 +From 63531899b0324747ae13d3d06c57a51685ccfc74 Mon Sep 17 00:00:00 2001 From: P33M Date: Tue, 23 Jul 2013 14:15:32 +0100 -Subject: [PATCH 046/102] dwc_otg: make channel halts with unknown state less +Subject: [PATCH 046/110] dwc_otg: make channel halts with unknown state less damaging If the IRQ received a channel halt interrupt through the FIQ @@ -96869,10 +96869,10 @@ index c76910d..5fd8613 100644 1.9.1 -From bed42c072cd48164bac7e4044e16d60714c4635f Mon Sep 17 00:00:00 2001 +From d03121de8997082cd2db538f29c8dd8c2acd14eb Mon Sep 17 00:00:00 2001 From: P33M Date: Tue, 30 Jul 2013 09:58:48 +0100 -Subject: [PATCH 047/102] dwc_otg: fiq_split: use TTs with more granularity +Subject: [PATCH 047/110] dwc_otg: fiq_split: use TTs with more granularity This fixes certain issues with split transaction scheduling. @@ -96992,10 +96992,10 @@ index 5fd8613..a959a49 100644 1.9.1 -From 7108fd7b1305be27b6694f0e8355a98c37bfed6c Mon Sep 17 00:00:00 2001 +From 423256e30c4f532da015524796a8471f60ad1019 Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 2 Aug 2013 10:04:18 +0100 -Subject: [PATCH 048/102] dwc_otg: fix potential sleep while atomic during urb +Subject: [PATCH 048/110] dwc_otg: fix potential sleep while atomic during urb enqueue Fixes a regression introduced with eb1b482a. Kmalloc called from @@ -97024,10 +97024,10 @@ index 87e517d..88c0544 100644 1.9.1 -From a933fc76524ec758828297dc6781fae482ea56a7 Mon Sep 17 00:00:00 2001 +From 85e017a120568a1433e087acc24fb1f772cd79d9 Mon Sep 17 00:00:00 2001 From: P33M Date: Mon, 5 Aug 2013 11:42:12 +0100 -Subject: [PATCH 049/102] dwc_otg: make fiq_split_enable imply fiq_fix_enable +Subject: [PATCH 049/110] 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. @@ -97056,10 +97056,10 @@ index 176dc14..f06c3d22 100644 1.9.1 -From 01ec4d73bf2783487c7d4c8981aa0c5ab4c7f55e Mon Sep 17 00:00:00 2001 +From b7bd8df8032bb2cb6e7c83e73fc94b35fe93269e Mon Sep 17 00:00:00 2001 From: P33M Date: Mon, 5 Aug 2013 11:47:12 +0100 -Subject: [PATCH 050/102] dwc_otg: prevent crashes on host port disconnects +Subject: [PATCH 050/110] 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. @@ -97217,10 +97217,10 @@ index 88c0544..ae4271a 100644 1.9.1 -From 47c478da902d5e9b9a92d5cdc7e04ce08ac61323 Mon Sep 17 00:00:00 2001 +From abd4de08167f098a7f75700ee17808e102c99e93 Mon Sep 17 00:00:00 2001 From: P33M Date: Mon, 5 Aug 2013 13:17:58 +0100 -Subject: [PATCH 051/102] dwc_otg: prevent leaking URBs during enqueue +Subject: [PATCH 051/110] 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. @@ -97256,10 +97256,10 @@ index ae4271a..ee8eec9 100644 1.9.1 -From b4286846f0411fbd9331616e907c3709a0652ff0 Mon Sep 17 00:00:00 2001 +From 61fd67b8e80ebd8a8a882cbc243924f6180e84fb Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 20 Sep 2013 16:08:27 +0100 -Subject: [PATCH 052/102] dwc_otg: Enable NAK holdoff for control split +Subject: [PATCH 052/110] dwc_otg: Enable NAK holdoff for control split transactions Certain low-speed devices take a very long time to complete a @@ -97292,10 +97292,10 @@ index 3a549a1..f8dc4be 100644 1.9.1 -From 2dc01b3c25a0eb28909b9eb1603db1e4a486629f Mon Sep 17 00:00:00 2001 +From 2fed783de03b5bdedb4bf477837ebb2a9597c913 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 20 Sep 2013 19:07:56 +0100 -Subject: [PATCH 053/102] dwc_otg: Fix for occasional lockup on boot when doing +Subject: [PATCH 053/110] dwc_otg: Fix for occasional lockup on boot when doing a USB reset --- @@ -97321,10 +97321,10 @@ index f8dc4be..64d33a5 100644 1.9.1 -From 9c3a2ec18830402f570cddce24c239cc5aca0e85 Mon Sep 17 00:00:00 2001 +From 87c894fcb8805a012d6820a07a1acdb4437a8b60 Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 27 Sep 2013 14:42:24 +0100 -Subject: [PATCH 054/102] dwc_otg: Don't issue traffic to LS devices in FS mode +Subject: [PATCH 054/110] 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 @@ -97366,10 +97366,10 @@ index 1904f6a..22300f0 100644 1.9.1 -From 6b982b62c497b193eebf38719764bf67b92cf2c6 Mon Sep 17 00:00:00 2001 +From 850ce2ec49c96b8cd1a6b8e51e12ca9daa7652bb Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 30 Jan 2013 12:45:18 +0000 -Subject: [PATCH 055/102] bcm2835: add v4l2 camera device +Subject: [PATCH 055/110] bcm2835: add v4l2 camera device - Supports raw YUV capture, preview, JPEG and H264. - Uses videobuf2 for data transfer, using dma_buf. @@ -103357,10 +103357,10 @@ index 0000000..9d1d11e 1.9.1 -From f8306e40240dda3884631577fbbd50fe8b85c399 Mon Sep 17 00:00:00 2001 +From 9c5782d989787bc070abf9c2d558681c6c87ea5f Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 10:58:01 +0000 -Subject: [PATCH 056/102] V4L2: Fix EV values. Add manual shutter speed control +Subject: [PATCH 056/110] 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 @@ -103553,10 +103553,10 @@ index c611b58..d8aace5 100644 1.9.1 -From 1c6330f7acdcfaaf8899fd4ecf5e91a2062f3cb7 Mon Sep 17 00:00:00 2001 +From bee371e86cf75de45d3a49e2741bb0e99ba18abb Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 11:01:53 +0000 -Subject: [PATCH 057/102] V4L2: Correct JPEG Q-factor range +Subject: [PATCH 057/110] V4L2: Correct JPEG Q-factor range Should be 1-100, not 0-100 @@ -103594,10 +103594,10 @@ index 481d1f6..c2e4c64 100644 1.9.1 -From ba874c1ba2a2bf1cb15bf3365df1a053b04fd4f4 Mon Sep 17 00:00:00 2001 +From dd9b15163f0a87e1cd151b639e25da83c69adeb4 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 11:05:24 +0000 -Subject: [PATCH 058/102] V4L2: Fix issue of driver jamming if STREAMON failed. +Subject: [PATCH 058/110] 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 @@ -103633,10 +103633,10 @@ index 47fe45d..2743074 100644 1.9.1 -From 5a644c4286d3198b2cd3c72faa8fdebd0bbb58de Mon Sep 17 00:00:00 2001 +From 31a4b623cbe4db51dfd638002ced0ca13330c3fa Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 15:30:48 +0000 -Subject: [PATCH 059/102] V4L2: Fix ISO controls. +Subject: [PATCH 059/110] V4L2: Fix ISO controls. Driver was passing the index to the GPU, and not the desired ISO value. @@ -103689,10 +103689,10 @@ index c2e4c64..92863f7 100644 1.9.1 -From 5736e899a758c0a89ebfcd7fb5986db1d6362cd7 Mon Sep 17 00:00:00 2001 +From 04076ca535a7e317197c8ca1386d8eb203de76b2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 16:40:24 +0000 -Subject: [PATCH 060/102] V4L2: Add flicker avoidance controls +Subject: [PATCH 060/110] V4L2: Add flicker avoidance controls Add support for V4L2_CID_POWER_LINE_FREQUENCY to set flicker avoidance frequencies. @@ -103807,10 +103807,10 @@ index d8aace5..b3d2c39 100644 1.9.1 -From 8a393204dc0225e2d1d24fe964472add730edba0 Mon Sep 17 00:00:00 2001 +From 4f33a3b49081cca656d274b68faa996f2248d63a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 13 Dec 2013 15:54:13 +0000 -Subject: [PATCH 061/102] V4L2: Add support for frame rate control. +Subject: [PATCH 061/110] V4L2: Add support for frame rate control. Add support for frame rate (or time per frame as V4L2 inverts it) control via s_parm. @@ -104049,10 +104049,10 @@ index b3d2c39..0f2bd50 100644 1.9.1 -From b0298296948b7d8025e3e3a925bde8dcdc851faa Mon Sep 17 00:00:00 2001 +From 7dc835e1b17783d92b53abe0c74ffc2366cc3f0c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 17:30:09 +0000 -Subject: [PATCH 062/102] V4L2: Improve G_FBUF handling so we pass conformance +Subject: [PATCH 062/110] V4L2: Improve G_FBUF handling so we pass conformance Return some sane numbers for get framebuffer so that we pass conformance. @@ -104092,10 +104092,10 @@ index 8c38d03..c8d8742 100644 1.9.1 -From 12e121d074dcfbd41399e36a75a09f686524821e Mon Sep 17 00:00:00 2001 +From 742a92eaa8ba5d2d47868505712f97774df6e37e Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 17:29:39 +0000 -Subject: [PATCH 063/102] V4L2: Fix information advertised through g_vidfmt +Subject: [PATCH 063/110] V4L2: Fix information advertised through g_vidfmt Width and height were being stored based on incorrect values. @@ -104135,10 +104135,10 @@ index c8d8742..4766a9c 100644 1.9.1 -From b98c512810f9c526fd698e21041d4f3bcd5c82dc Mon Sep 17 00:00:00 2001 +From 02cff92806c6e45650444de836571f8c93343a99 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 11:03:54 +0000 -Subject: [PATCH 064/102] V4L2: Add support for inline H264 headers +Subject: [PATCH 064/110] V4L2: Add support for inline H264 headers Add support for V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER to control H264 inline headers. @@ -104443,10 +104443,10 @@ index 0f2bd50..b08a4b0 100644 1.9.1 -From fbe274f829b21bf75bca5a55a937d28655d9dd99 Mon Sep 17 00:00:00 2001 +From 64a10ef1b41060cb7cdf03c8ca515604c7324af3 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 19 Dec 2013 17:33:02 +0000 -Subject: [PATCH 065/102] V4L2: Fix JPEG timestamp issue +Subject: [PATCH 065/110] 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 @@ -104484,10 +104484,10 @@ index 4766a9c..9fc90a2 100644 1.9.1 -From d94ff8231fe23a21c9807793f8f2d4b8c0655c06 Mon Sep 17 00:00:00 2001 +From 644fc9a620229c29ac037ef173f5bf5ae29ad89b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 9 Dec 2013 11:24:55 +0000 -Subject: [PATCH 066/102] V4L2: Fix issue when switching down JPEG resolution. +Subject: [PATCH 066/110] 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 @@ -104649,10 +104649,10 @@ index 9fc90a2..4780107 100644 1.9.1 -From 477f8bb734e2507211250148af70090ca27490df Mon Sep 17 00:00:00 2001 +From a0190c30797f5763f1cb6c585d5a5dafe858743b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 23 Dec 2013 15:42:21 +0000 -Subject: [PATCH 067/102] V4L2: Enable MJPEG encoding +Subject: [PATCH 067/110] V4L2: Enable MJPEG encoding Requires GPU firmware update to support MJPEG encoder. @@ -104696,10 +104696,10 @@ index 856e80e..764bb12 100644 1.9.1 -From d6f3c99ad3cc5d1a3f5a680167905ff3346b03c5 Mon Sep 17 00:00:00 2001 +From bc3b2199d7f4a61856b91e5bf32a95615d8bc2b2 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 Jan 2014 15:57:06 +0000 -Subject: [PATCH 068/102] V4L2: Correct flag settings for compressed formats +Subject: [PATCH 068/110] V4L2: Correct flag settings for compressed formats Set flags field correctly on enum_fmt_vid_cap for compressed image formats. @@ -104795,10 +104795,10 @@ index 602b4a7..076f9a8 100644 1.9.1 -From 140e5a5f3b8cad7d83d03acdbc7a88d1159d44fd Mon Sep 17 00:00:00 2001 +From 29f29d1d2b9f30d2e30b6d6408ea012186ee5d8d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 12 Feb 2014 11:18:20 +0000 -Subject: [PATCH 069/102] V4L2: H264 profile & level ctrls, FPS control and +Subject: [PATCH 069/110] V4L2: H264 profile & level ctrls, FPS control and auto exp pri Several control handling updates. @@ -105487,10 +105487,10 @@ index b08a4b0..ae8fef9 100644 1.9.1 -From 5269afef55aea24da2540cd9263b1a440d7e93d0 Mon Sep 17 00:00:00 2001 +From 69f469c21a719f2740baad9273a6538a8bb737f1 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 12 Feb 2014 11:39:20 +0000 -Subject: [PATCH 070/102] V4L2: Correct BGR24 to RGB24 in format table +Subject: [PATCH 070/110] V4L2: Correct BGR24 to RGB24 in format table Signed-off-by: Dave Stevenson --- @@ -105516,10 +105516,10 @@ index 6d0d77a..8285e6a 100644 1.9.1 -From f2541c477cd6704675f98f287d1af008d5574361 Mon Sep 17 00:00:00 2001 +From 0201321b21e505e22db1d8c723f3d42e3fad61b6 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 12 Feb 2014 15:35:41 +0000 -Subject: [PATCH 071/102] V4L2: Add additional pixel formats. Correct +Subject: [PATCH 071/110] V4L2: Add additional pixel formats. Correct colourspace Adds the other flavours of YUYV, and NV12. @@ -105588,10 +105588,10 @@ index 8285e6a..3dea993 100644 1.9.1 -From bd7874a20606ab575effaa0ffb18bde1e00e6cce Mon Sep 17 00:00:00 2001 +From e24842aca01dae87972683605f4cf609b212f4a0 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 14 Feb 2014 17:08:18 +0000 -Subject: [PATCH 072/102] V4L2: Drop logging msg from info to debug +Subject: [PATCH 072/110] V4L2: Drop logging msg from info to debug Signed-off-by: Dave Stevenson --- @@ -105615,10 +105615,10 @@ index a06fb44..82752e6 100644 1.9.1 -From e42696899043573dba1e48665c8100f781f0773e Mon Sep 17 00:00:00 2001 +From 972a1c1c5d8d00179d42292c655910704abcfb5b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 14 Feb 2014 17:12:08 +0000 -Subject: [PATCH 073/102] V4L2: Initial pass at scene modes. +Subject: [PATCH 073/110] V4L2: Initial pass at scene modes. Only supports exposure mode and metering modes. @@ -105983,10 +105983,10 @@ index 45cf790..b7a7e883 100644 1.9.1 -From 1b20cdf4b10fc0a3c9c46e0269b730228ccb5a9e Mon Sep 17 00:00:00 2001 +From a83f569cfd54ebe641597fba37b10dba0a95099c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 25 Mar 2014 11:48:01 +0000 -Subject: [PATCH 074/102] V4L2: Add manual white balance control. +Subject: [PATCH 074/110] V4L2: Add manual white balance control. Adds support for V4L2_CID_RED_BALANCE and V4L2_CID_BLUE_BALANCE. Only has an effect if @@ -106114,10 +106114,10 @@ index ae8fef9..089f949 100644 1.9.1 -From c8349eac4cc3e3b87da19c319937d53e75799a1c Mon Sep 17 00:00:00 2001 +From 1aea771ba9b7dd2656a2cf9ffd64d0fdd7bcc18f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 2 Dec 2013 16:57:44 +0000 -Subject: [PATCH 075/102] config: Enable V4L / MMAL driver +Subject: [PATCH 075/110] config: Enable V4L / MMAL driver --- arch/arm/configs/bcmrpi_defconfig | 3 +++ @@ -106141,10 +106141,10 @@ index 88692be..75a262d 100644 1.9.1 -From 48ef8a11b74760bc8faf4671dbfcca706d8966a5 Mon Sep 17 00:00:00 2001 +From d97b61fab2887a8106ac3a2e0edcada2b2bc5567 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Dec 2013 22:16:19 +0000 -Subject: [PATCH 076/102] config: Enable CONFIG_MEMCG, but leave it disabled +Subject: [PATCH 076/110] config: Enable CONFIG_MEMCG, but leave it disabled (due to memory cost). Enable with cgroup_enable=memory. --- @@ -106219,10 +106219,10 @@ index 5b6b003..56de606 100644 1.9.1 -From ec3ea00d0ed730599b4c9971071d4634bf3761ed Mon Sep 17 00:00:00 2001 +From 61de85782042d9bfccac1f02be8729d41ef0ccbe Mon Sep 17 00:00:00 2001 From: Julian Scheel Date: Wed, 19 Feb 2014 16:06:59 +0100 -Subject: [PATCH 077/102] snd-bcm2835: Add support for spdif/hdmi passthrough +Subject: [PATCH 077/110] 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 @@ -106694,10 +106694,10 @@ index 36afee3..8c2fe26 100755 1.9.1 -From fb4cc2c5b1196134e7f50694f0e12938b62a7b35 Mon Sep 17 00:00:00 2001 +From 0b8b181d4f8ce935a5063e7f00fd25eaebd83e47 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 19 Mar 2014 12:58:23 +0000 -Subject: [PATCH 078/102] dwc_otg: fiq_fsm: Base commit for driver rewrite +Subject: [PATCH 078/110] dwc_otg: fiq_fsm: Base commit for driver rewrite This commit removes the previous FIQ fixes entirely and adds fiq_fsm. @@ -111323,10 +111323,10 @@ index ca17379..0000000 1.9.1 -From ed8ce7c7f0cb7bf5c0a737617ef8eb897c5a3a1a Mon Sep 17 00:00:00 2001 +From 041e8cc178b179966a2f42b1843f821995a10dec Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 19 Mar 2014 15:13:53 +0000 -Subject: [PATCH 079/102] Fix ARM architecture issue with local_irq_restore() +Subject: [PATCH 079/110] 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. @@ -111427,10 +111427,10 @@ index 0812d3a..6d01261 100644 1.9.1 -From 86b33d1c18192d14ef1ef42a4e1be2a4bf53cd94 Mon Sep 17 00:00:00 2001 +From cdce5f507ec6075419425dfeaa8474f6039abc0e Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 080/102] dmaengine: Add support for BCM2708 +Subject: [PATCH 080/110] dmaengine: Add support for BCM2708 Add support for DMA controller of BCM2708 as used in the Raspberry Pi. Currently it only supports cyclic DMA. @@ -112070,10 +112070,10 @@ index 0000000..b244293 1.9.1 -From 80f8cdcdd76cbebacab0adb6747cd9ce6fa32317 Mon Sep 17 00:00:00 2001 +From c6c50d38e3ae40a3b4bea4282e4bd98293da6ebc Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:33:38 +0100 -Subject: [PATCH 081/102] ASoC: Add support for BCM2708 +Subject: [PATCH 081/110] ASoC: Add support for BCM2708 This driver adds support for digital audio (I2S) for the BCM2708 SoC that is used by the @@ -113071,10 +113071,10 @@ index 0000000..ebaf3d6 1.9.1 -From d7b26fbc297e8267d6583ab75ec15472bac7bf14 Mon Sep 17 00:00:00 2001 +From 23dee33ecd81425e8a627b8d6f88ed2ec0319d8d Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:37:51 +0100 -Subject: [PATCH 082/102] BCM2708: Extend mach header +Subject: [PATCH 082/110] BCM2708: Extend mach header Extend the headers of the mach-bcm2708 in order to support I2S and DMA engine. @@ -113119,10 +113119,10 @@ index 992a630..2e7e1bb 100644 1.9.1 -From c3d0dd119ae198f831236adc380b36b0f654310f Mon Sep 17 00:00:00 2001 +From 41a7fd0d5cbe67d0df69d182521d7cba50b8a97c Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:59:51 +0100 -Subject: [PATCH 083/102] ASoC: Add support for PCM5102A codec +Subject: [PATCH 083/110] ASoC: Add support for PCM5102A codec Some definitions to support the PCM5102A codec by Texas Instruments. @@ -113250,10 +113250,10 @@ index 0000000..126f1e9 1.9.1 -From 8cd41f5a4fe949b4acc68f60f30b441756b1729a Mon Sep 17 00:00:00 2001 +From 2a0ccd132101436fa8f973c65f33cd9f6680b365 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:04:54 +0100 -Subject: [PATCH 084/102] BCM2708: Add I2S support to board file +Subject: [PATCH 084/110] BCM2708: Add I2S support to board file Adds the required initializations for I2S to the board file of mach-bcm2708. @@ -113311,10 +113311,10 @@ index 91c008f..6117a4b 100644 1.9.1 -From abd4044a970732d9ca0dd4f84a497d621a90e9a8 Mon Sep 17 00:00:00 2001 +From ada4ff394947d003e6edaa52af4b50ecbdbcec61 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 085/102] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 085/110] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -113466,10 +113466,10 @@ index 0000000..4b70b45 1.9.1 -From 4f1cfecafa122970008d526d54ea59ca8b7196e0 Mon Sep 17 00:00:00 2001 +From 0819c85198ab2717f148aa042fdd4ee8b7fe1e1d Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:21:34 +0100 -Subject: [PATCH 086/102] BCM2708: Add HifiBerry DAC to board file +Subject: [PATCH 086/110] BCM2708: Add HifiBerry DAC to board file This adds the initalization of the HifiBerry DAC to the mach-bcm2708 board file. @@ -113520,10 +113520,10 @@ index 6117a4b..5056993 100644 1.9.1 -From 4de26fed60e4826b601a037dc8ee6751e196f06c Mon Sep 17 00:00:00 2001 +From 71516ae619c3290e9f38b43167fabe820c9f5202 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 6 Dec 2013 18:55:53 +0100 -Subject: [PATCH 087/102] ASoC: BCM2708: Add 24 bit support +Subject: [PATCH 087/110] 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: @@ -113598,10 +113598,10 @@ index ebaf3d6..a179216 100644 1.9.1 -From 0ceb9be7d908a127bd2ce011eab03a5370675571 Mon Sep 17 00:00:00 2001 +From 8bb36f06184e62d98d7936366686593259afa8e2 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 2 Dec 2013 20:28:22 +0100 -Subject: [PATCH 088/102] BCM2708: Add I2S and DMA support to default config +Subject: [PATCH 088/110] 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. @@ -113644,10 +113644,10 @@ index 1041f5e..0360c86 100644 1.9.1 -From e7ac6355b5e1eef98143db757b50f9155806b5cd Mon Sep 17 00:00:00 2001 +From 2efa936670f58dac8628f0016fd083f25e7baac4 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 6 Dec 2013 20:50:28 +0100 -Subject: [PATCH 089/102] ASoC: BCM2708: Add support for RPi-DAC +Subject: [PATCH 089/110] ASoC: BCM2708: Add support for RPi-DAC This adds a machine driver for the RPi-DAC. @@ -113961,10 +113961,10 @@ index 0000000..b4eaa44 1.9.1 -From f000f7d766da2e01c4ba8b7e32fbfe9c43d6f8f4 Mon Sep 17 00:00:00 2001 +From c5f238786a77026ad4d6818e004c9b5444d7befd Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 090/102] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 090/110] 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 @@ -114081,10 +114081,10 @@ index 8ec14f5..e72d4f4 100644 1.9.1 -From 0242a8bb8c5ca7fc30ae34f8b615869db51a86fc Mon Sep 17 00:00:00 2001 +From 42d47e2007ab6c9e932157c5c2278595ae4307e1 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 091/102] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 091/110] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -114290,10 +114290,10 @@ index 0000000..e4f769d 1.9.1 -From e79e723d7c49b878f7156726c8cc72f605652f98 Mon Sep 17 00:00:00 2001 +From 18c73b6b45c1b352881af34836b01102c675866c Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Thu, 16 Jan 2014 07:26:08 +0100 -Subject: [PATCH 092/102] BCM2708: Added support for HiFiBerry Digi board Board +Subject: [PATCH 092/110] BCM2708: Added support for HiFiBerry Digi board Board initalization by I2C Signed-off-by: Daniel Matuschek @@ -114343,10 +114343,10 @@ index b6348c9..b5a41c9 100644 1.9.1 -From 90be3bfbdc986a32acb5252e2e846fa456ac3b72 Mon Sep 17 00:00:00 2001 +From e6556f37f881746a856809446bb6f1cac973da34 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Thu, 16 Jan 2014 07:27:28 +0100 -Subject: [PATCH 093/102] BCM2708: Added HiFiBerry Digi configuration option It +Subject: [PATCH 093/110] BCM2708: Added HiFiBerry Digi configuration option It will be compiled as a module by default. This also includes the WM8804 driver. @@ -114374,10 +114374,10 @@ index 524ad3e..cefbb24 100644 1.9.1 -From b4cc4744beef9e12b7cef7c30653d4051aa072fe Mon Sep 17 00:00:00 2001 +From 86771dc68d9edb3a3949246de4be65fd3829f5e3 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Thu, 16 Jan 2014 07:36:35 +0100 -Subject: [PATCH 094/102] ASoC: wm8804: Set idle_bias_off to false Idle bias +Subject: [PATCH 094/110] ASoC: wm8804: Set idle_bias_off to false Idle bias has been change to remove warning on driver startup Signed-off-by: Daniel Matuschek @@ -114402,10 +114402,10 @@ index c35b4f3..8915d08 100644 1.9.1 -From 7d1ada5f1693fb21969a9263ad715cb68b327580 Mon Sep 17 00:00:00 2001 +From 594139ba84c038f5ca77b9ab5fbf62a01223e415 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 12 Mar 2014 11:46:34 +0000 -Subject: [PATCH 095/102] ASoc: Don't report S24_LE support, it produces white +Subject: [PATCH 095/110] ASoc: Don't report S24_LE support, it produces white noise with xbmc --- @@ -114443,10 +114443,10 @@ index 126f1e9..7812d34 100644 1.9.1 -From eef7e81918c689771ba3c243ac009b7d99a5dce6 Mon Sep 17 00:00:00 2001 +From a8f1b4612c18f465ec6160666bf2a13d4f19ac45 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 096/102] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 096/110] Add IQaudIO Sound Card support for Raspberry Pi --- arch/arm/configs/bcmrpi_defconfig | 1 + @@ -115538,10 +115538,10 @@ index 0000000..b2f518e 1.9.1 -From be7d3fe94e4240f6682fb2c0ebde4e3ae3bf79da Mon Sep 17 00:00:00 2001 +From 71d7fcd652aa5f4ec578495b4f110f5dd20d4d8a Mon Sep 17 00:00:00 2001 From: Howard Mitchell Date: Fri, 28 Mar 2014 16:27:57 +0000 -Subject: [PATCH 097/102] Fix volsw_range functions so SOC_DOUBLE_R_RANGE_TLV +Subject: [PATCH 097/110] Fix volsw_range functions so SOC_DOUBLE_R_RANGE_TLV works. This is so that the correct rabge of values as specified @@ -115617,10 +115617,10 @@ index fe1df50..c3f41e7 100644 1.9.1 -From 8f195e18e117e310f0c302bc7d19c23ebfaa69f9 Mon Sep 17 00:00:00 2001 +From ee6bfcc02ec741a755414e6e7409838cab5ba57d Mon Sep 17 00:00:00 2001 From: Howard Mitchell Date: Fri, 28 Mar 2014 16:40:31 +0000 -Subject: [PATCH 098/102] Use a range macro for Playback Volume. +Subject: [PATCH 098/110] Use a range macro for Playback Volume. This allows limiting the output gain to avoid clipping in the DAC ouput stages. @@ -115647,10 +115647,10 @@ index 55b6200..2653311 100644 1.9.1 -From a4935eacbb57045b99ceaa322accf8bac7b410e8 Mon Sep 17 00:00:00 2001 +From 3d3feb5d72210ce1527653de205eb4a682fa7704 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sun, 30 Mar 2014 13:52:33 +0100 -Subject: [PATCH 099/102] fix soc-core's inverse range and let IQaudIO DAC use +Subject: [PATCH 099/110] fix soc-core's inverse range and let IQaudIO DAC use this fixed SOC_DOUBLE_R_RANGE_TLV support --- @@ -115704,10 +115704,10 @@ index c3f41e7..a8a753f 100644 1.9.1 -From 3ba9e28c7033a26cc00a860df9c751aa5ab68850 Mon Sep 17 00:00:00 2001 +From f7528f785c8426d77586a82f1f6e67fe295b1846 Mon Sep 17 00:00:00 2001 From: P33M Date: Tue, 15 Apr 2014 17:29:57 +0100 -Subject: [PATCH 100/102] fiq_fsm: Push error recovery into the FIQ when +Subject: [PATCH 100/110] fiq_fsm: Push error recovery into the FIQ when fiq_fsm is used If the transfer associated with a QTD failed due to a bus error, the HCD @@ -115858,10 +115858,10 @@ index e5a27f4..3b8567e 100644 1.9.1 -From bd0d15acb8de5709fd3b938711c7e2c1193cf19b Mon Sep 17 00:00:00 2001 +From 0ddcd5604e58018c6bf80fc8e40d2f0818915add Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 17 Apr 2014 13:19:11 +0100 -Subject: [PATCH 101/102] fiq_fsm: Implement timeout mechanism +Subject: [PATCH 101/110] fiq_fsm: Implement timeout mechanism For full-speed endpoints with a large packet size, interrupt latency runs the risk of the FIQ starting a transaction too late in a full-speed @@ -116197,10 +116197,10 @@ index 3b8567e..dda88a3 100644 1.9.1 -From c1d79bef5163f17809ac82c10ab622ca3a82ff3b Mon Sep 17 00:00:00 2001 +From 46aa9b23eca52ed395ea1e10320e6de9cbeeac39 Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 17 Apr 2014 15:17:48 +0100 -Subject: [PATCH 102/102] fiq_fsm: fix bounce buffer utilisation for +Subject: [PATCH 102/110] fiq_fsm: fix bounce buffer utilisation for Isochronous OUT Multi-packet isochronous OUT transactions were subject to a few bounday @@ -116284,3 +116284,470 @@ index 042af09..e6b4a1e 100644 -- 1.9.1 + +From f825713b14bc667a2fcf519ff347df84c39807f2 Mon Sep 17 00:00:00 2001 +From: P33M +Date: Mon, 21 Apr 2014 09:58:52 +0100 +Subject: [PATCH 103/110] dwc_otg: Return full-speed frame numbers in HS mode + +The frame counter increments on every *microframe* in high-speed mode. +Most device drivers expect this number to be in full-speed frames - this +caused considerable confusion to e.g. snd_usb_audio which uses the +frame counter to estimate the number of samples played. +--- + drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c +index 5d45062..dc27b24 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c +@@ -626,9 +626,13 @@ void hcd_stop(struct usb_hcd *hcd) + /** Returns the current frame number. */ + static int get_frame_number(struct usb_hcd *hcd) + { ++ hprt0_data_t hprt0; + dwc_otg_hcd_t *dwc_otg_hcd = hcd_to_dwc_otg_hcd(hcd); +- +- return dwc_otg_hcd_get_frame_number(dwc_otg_hcd); ++ hprt0.d32 = DWC_READ_REG32(dwc_otg_hcd->core_if->host_if->hprt0); ++ if (hprt0.b.prtspd == DWC_HPRT0_PRTSPD_HIGH_SPEED) ++ return dwc_otg_hcd_get_frame_number(dwc_otg_hcd) >> 3; ++ else ++ return dwc_otg_hcd_get_frame_number(dwc_otg_hcd); + } + + #ifdef DEBUG +-- +1.9.1 + + +From 628fbe7f45839ea6e5570fccacd3ef14ea826933 Mon Sep 17 00:00:00 2001 +From: P33M +Date: Tue, 22 Apr 2014 14:21:49 +0100 +Subject: [PATCH 104/110] fiq_fsm: save PID on completion of interrupt OUT + transfers + +Also add edge case handling for interrupt transports. + +Note that for periodic split IN, data toggles are unimplemented in the +OTG host hardware - it unconditionally accepts any PID. +--- + drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c | 6 +++-- + drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 38 ++++++++++++++--------------- + 2 files changed, 22 insertions(+), 22 deletions(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c +index 161edcf..e642ea1 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c +@@ -920,6 +920,8 @@ static int notrace noinline fiq_fsm_do_hcintr(struct fiq_state *state, int num_c + } else if (hcint.b.nyet) { + /* Doh. Data lost. */ + st->fsm = FIQ_PER_SPLIT_NYET_ABORTED; ++ } else if (hcint.b.xacterr || hcint.b.stall) { ++ st->fsm = FIQ_PER_SPLIT_LS_ABORTED; + } else { + st->fsm = FIQ_PER_SPLIT_HS_ABORTED; + } +@@ -999,8 +1001,8 @@ static int notrace noinline fiq_fsm_do_hcintr(struct fiq_state *state, int num_c + st->fsm = FIQ_PER_SPLIT_DONE; + } + } +- } else if (hcint.b.xacterr) { +- /* Local 3-strikes retry is handled by the core. This is a ERR response.*/ ++ } else if (hcint.b.xacterr || hcint.b.stall) { ++ /* For xacterr, Local 3-strikes retry is handled by the core. This is a ERR response.*/ + st->fsm = FIQ_PER_SPLIT_LS_ABORTED; + } else if (hcint.b.datatglerr) { + fiq_print(FIQDBG_INT, state, "TOGGLES"); +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +index dda88a3..be8ef1b 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +@@ -2402,36 +2402,32 @@ int32_t dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + * split transactions and do it ourselves. + */ + if (hc->ep_type == UE_INTERRUPT) { +- if (hc->ep_is_in) { +- if (hcint.b.nak) { ++ if (hcint.b.nak) { + handle_hc_nak_intr(hcd, hc, hc_regs, qtd); ++ } else if (hc->ep_is_in) { ++ int len; ++ len = dwc_otg_fiq_unsetup_per_dma(hcd, hc->qh, qtd, num); ++ //printk(KERN_NOTICE "FIQ Transaction: hc=%d len=%d urb_len = %d\n", num, len, qtd->urb->length); ++ qtd->urb->actual_length += len; ++ if (qtd->urb->actual_length >= qtd->urb->length) { ++ qtd->urb->status = 0; ++ hcd->fops->complete(hcd, qtd->urb->priv, qtd->urb, qtd->urb->status); ++ release_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_URB_COMPLETE); + } else { +- int len; +- len = dwc_otg_fiq_unsetup_per_dma(hcd, hc->qh, qtd, num); +- //printk(KERN_NOTICE "FIQ Transaction: hc=%d len=%d urb_len = %d\n", num, len, qtd->urb->length); +- qtd->urb->actual_length += len; +- if (qtd->urb->actual_length >= qtd->urb->length) { ++ /* Interrupt transfer not complete yet - is it a short read? */ ++ if (len < hc->max_packet) { ++ /* Interrupt transaction complete */ + qtd->urb->status = 0; + hcd->fops->complete(hcd, qtd->urb->priv, qtd->urb, qtd->urb->status); + release_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_URB_COMPLETE); + } else { +- /* Interrupt transfer not complete yet - is it a short read? */ +- if (len < hc->max_packet) { +- /* Interrupt transaction complete */ +- qtd->urb->status = 0; +- hcd->fops->complete(hcd, qtd->urb->priv, qtd->urb, qtd->urb->status); +- release_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_URB_COMPLETE); +- } else { +- /* Further transactions required */ +- release_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_COMPLETE); +- } +- ++ /* Further transactions required */ ++ release_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_COMPLETE); + } +- + } +- + } else { + /* Interrupt OUT complete. */ ++ dwc_otg_hcd_save_data_toggle(hc, hc_regs, qtd); + qtd->urb->actual_length += hc->xfer_len; + if (qtd->urb->actual_length >= qtd->urb->length) { + qtd->urb->status = 0; +@@ -2524,6 +2520,8 @@ int32_t dwc_otg_hcd_handle_hc_fsm(dwc_otg_hcd_t *hcd, uint32_t num) + * TODO: need to issue a reset to the hub port. */ + qtd->error_count += 3; + handle_hc_xacterr_intr(hcd, hc, hc_regs, qtd); ++ } else if (hcint.b.stall) { ++ handle_hc_stall_intr(hcd, hc, hc_regs, qtd); + } else { + printk_ratelimited(KERN_INFO "Transfer to device %d endpoint 0x%x failed " + "- FIQ reported FSM=%d. Data may have been lost.\n", +-- +1.9.1 + + +From c2ef4eb9f3074fafefeec3527c86f6a4b17f0811 Mon Sep 17 00:00:00 2001 +From: notro +Date: Sun, 20 Apr 2014 18:51:40 +0200 +Subject: [PATCH 105/110] mach-bcm2708: Reserve 64 IRQs for peripherals + +The Raspberry Pi does not support dynamic IRQs. Some peripherals, such +as the STMPE, add IRQ controllers. If there aren't any reserved IRQs, then +these peripherals will just fail. + +Signed-off-by: Sean Cross +Signed-off-by: Noralf Tronnes +--- + arch/arm/mach-bcm2708/include/mach/irqs.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/mach-bcm2708/include/mach/irqs.h b/arch/arm/mach-bcm2708/include/mach/irqs.h +index 9aaedf1..1947d91 100644 +--- a/arch/arm/mach-bcm2708/include/mach/irqs.h ++++ b/arch/arm/mach-bcm2708/include/mach/irqs.h +@@ -192,8 +192,9 @@ + #define HARD_IRQS (64 + 21) + #define FIQ_IRQS (64 + 21) + #define GPIO_IRQS (32*5) ++#define SPARE_IRQS (64) + +-#define NR_IRQS HARD_IRQS+FIQ_IRQS+GPIO_IRQS ++#define NR_IRQS HARD_IRQS+FIQ_IRQS+GPIO_IRQS+SPARE_IRQS + + + #endif /* _BCM2708_IRQS_H_ */ +-- +1.9.1 + + +From d3add94941ab83a0f08f8d4af9fb8bf465650a41 Mon Sep 17 00:00:00 2001 +From: notro +Date: Sun, 20 Apr 2014 18:55:24 +0200 +Subject: [PATCH 106/110] bcm2708_gpio: make room for additional GPIO chips + +ARCH_NR_GPIOS is set to 54, and all is used by the onboard gpio controller. +This makes no room for additional gpio controllers to be added. + +ARCH_NR_GPIOS limits how many gpios that can be used on a platform. +From gpiolib.c: +static struct gpio_desc gpio_desc[ARCH_NR_GPIOS]; + +Lift this restraint by using the default value for ARCH_NR_GPIOS, which is 256, +and make a new macro for the on-chip number of gpios. + +Signed-off-by: Noralf Tronnes +--- + arch/arm/mach-bcm2708/bcm2708_gpio.c | 8 ++++---- + arch/arm/mach-bcm2708/include/mach/gpio.h | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/arch/arm/mach-bcm2708/bcm2708_gpio.c b/arch/arm/mach-bcm2708/bcm2708_gpio.c +index bab8a49..120929ff 100644 +--- a/arch/arm/mach-bcm2708/bcm2708_gpio.c ++++ b/arch/arm/mach-bcm2708/bcm2708_gpio.c +@@ -72,7 +72,7 @@ static int bcm2708_set_function(struct gpio_chip *gc, unsigned offset, + unsigned gpio_field_offset = (offset - 10 * gpio_bank) * 3; + + //printk(KERN_ERR DRIVER_NAME ": bcm2708_gpio_set_function %p (%d,%d)\n", gc, offset, function); +- if (offset >= ARCH_NR_GPIOS) ++ if (offset >= BCM2708_NR_GPIOS) + return -EINVAL; + + spin_lock_irqsave(&lock, flags); +@@ -110,7 +110,7 @@ static int bcm2708_gpio_get(struct gpio_chip *gc, unsigned offset) + unsigned gpio_field_offset = (offset - 32 * gpio_bank); + unsigned lev; + +- if (offset >= ARCH_NR_GPIOS) ++ if (offset >= BCM2708_NR_GPIOS) + return 0; + lev = readl(gpio->base + GPIOLEV(gpio_bank)); + //printk(KERN_ERR DRIVER_NAME ": bcm2708_gpio_get %p (%d)=%d\n", gc, offset, 0x1 & (lev>>gpio_field_offset)); +@@ -123,7 +123,7 @@ static void bcm2708_gpio_set(struct gpio_chip *gc, unsigned offset, int value) + unsigned gpio_bank = offset / 32; + unsigned gpio_field_offset = (offset - 32 * gpio_bank); + //printk(KERN_ERR DRIVER_NAME ": bcm2708_gpio_set %p (%d=%d)\n", gc, offset, value); +- if (offset >= ARCH_NR_GPIOS) ++ if (offset >= BCM2708_NR_GPIOS) + return; + if (value) + writel(1 << gpio_field_offset, gpio->base + GPIOSET(gpio_bank)); +@@ -302,7 +302,7 @@ static int bcm2708_gpio_probe(struct platform_device *dev) + + ucb->gc.label = "bcm2708_gpio"; + ucb->gc.base = 0; +- ucb->gc.ngpio = ARCH_NR_GPIOS; ++ ucb->gc.ngpio = BCM2708_NR_GPIOS; + ucb->gc.owner = THIS_MODULE; + + ucb->gc.direction_input = bcm2708_gpio_dir_in; +diff --git a/arch/arm/mach-bcm2708/include/mach/gpio.h b/arch/arm/mach-bcm2708/include/mach/gpio.h +index 753dc06..7965a97 100644 +--- a/arch/arm/mach-bcm2708/include/mach/gpio.h ++++ b/arch/arm/mach-bcm2708/include/mach/gpio.h +@@ -9,7 +9,7 @@ + #ifndef __ASM_ARCH_GPIO_H + #define __ASM_ARCH_GPIO_H + +-#define ARCH_NR_GPIOS 54 // number of gpio lines ++#define BCM2708_NR_GPIOS 54 // number of gpio lines + + #define gpio_to_irq(x) ((x) + GPIO_IRQ_START) + #define irq_to_gpio(x) ((x) - GPIO_IRQ_START) +-- +1.9.1 + + +From f326a174fd0702508a3de99dcdbf346e1fcdfb43 Mon Sep 17 00:00:00 2001 +From: P33M +Date: Wed, 23 Apr 2014 16:01:52 +0100 +Subject: [PATCH 107/110] fiq_fsm: add missing case for fiq_fsm_tt_in_use() + +Certain combinations of bitrate and endpoint activity could +result in a periodic transaction erroneously getting started +while the previous Isochronous OUT was still active. +--- + drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c +index e642ea1..ecb7b14 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c +@@ -286,6 +286,7 @@ int notrace noinline fiq_fsm_tt_in_use(struct fiq_state *st, int num_channels, i + case FIQ_PER_CSPLIT_NYET1: + //case FIQ_PER_CSPLIT_POLL: + case FIQ_PER_ISO_OUT_ACTIVE: ++ case FIQ_PER_ISO_OUT_LAST: + if (st->channel[i].hub_addr == hub_addr && + st->channel[i].port_addr == port_addr) { + in_use = 1; +-- +1.9.1 + + +From bab8d459e7156d7f383ce0cc2f6507d27f120175 Mon Sep 17 00:00:00 2001 +From: P33M +Date: Thu, 24 Apr 2014 17:04:30 +0100 +Subject: [PATCH 108/110] fiq_fsm: clear hcintmsk for aborted transactions + +Prevents the FIQ from erroneously handling interrupts +on a timed out channel. +--- + drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c +index ecb7b14..61f5534 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c +@@ -580,8 +580,10 @@ static int notrace noinline fiq_fsm_do_sof(struct fiq_state *state, int num_chan + fiq_fsm_restart_channel(state, n, 0); + state->channel[n].fsm = FIQ_PER_SSPLIT_STARTED; + } else { ++ /* Transaction cannot be started without risking a device babble error */ + state->channel[n].fsm = FIQ_PER_SPLIT_TIMEOUT; + state->haintmsk_saved.b2.chint &= ~(1 << n); ++ FIQ_WRITE(state->dwc_regs_base + HC_START + (HC_OFFSET * n) + HCINTMSK, 0); + kick_irq |= 1; + } + } +@@ -629,6 +631,7 @@ static int notrace noinline fiq_fsm_do_sof(struct fiq_state *state, int num_chan + * that's OK. + */ + state->haintmsk_saved.b2.chint &= ~(1 << n); ++ FIQ_WRITE(state->dwc_regs_base + HC_START + (HC_OFFSET * n) + HCINTMSK, 0); + kick_irq |= 1; + break; + +-- +1.9.1 + + +From 84cee746ceb1f94fe7a777f13a2af9a40d3d88b4 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 22 Apr 2014 13:58:14 +0100 +Subject: [PATCH 109/110] lirc_rpi: Use read_current_timer to determine + transmitter delay. Thanks to jjmz and others See: + https://github.com/raspberrypi/linux/issues/525 + +--- + drivers/staging/media/lirc/lirc_rpi.c | 32 +++++++++++++++++--------------- + 1 file changed, 17 insertions(+), 15 deletions(-) + +diff --git a/drivers/staging/media/lirc/lirc_rpi.c b/drivers/staging/media/lirc/lirc_rpi.c +index 8aee83f..57ffacf 100644 +--- a/drivers/staging/media/lirc/lirc_rpi.c ++++ b/drivers/staging/media/lirc/lirc_rpi.c +@@ -30,6 +30,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -41,7 +42,7 @@ + + #define LIRC_DRIVER_NAME "lirc_rpi" + #define RBUF_LEN 256 +-#define LIRC_TRANSMITTER_LATENCY 256 ++#define LIRC_TRANSMITTER_LATENCY 50 + + #ifndef MAX_UDELAY_MS + #define MAX_UDELAY_US 5000 +@@ -107,19 +108,15 @@ static void safe_udelay(unsigned long usecs) + static int init_timing_params(unsigned int new_duty_cycle, + unsigned int new_freq) + { +- /* +- * period, pulse/space width are kept with 8 binary places - +- * IE multiplied by 256. +- */ +- if (256 * 1000000L / new_freq * new_duty_cycle / 100 <= ++ if (1000 * 1000000L / new_freq * new_duty_cycle / 100 <= + LIRC_TRANSMITTER_LATENCY) + return -EINVAL; +- if (256 * 1000000L / new_freq * (100 - new_duty_cycle) / 100 <= ++ if (1000 * 1000000L / new_freq * (100 - new_duty_cycle) / 100 <= + LIRC_TRANSMITTER_LATENCY) + return -EINVAL; + duty_cycle = new_duty_cycle; + freq = new_freq; +- period = 256 * 1000000L / freq; ++ period = 1000 * 1000000L / freq; + pulse_width = period * duty_cycle / 100; + space_width = period - pulse_width; + dprintk("in init_timing_params, freq=%d pulse=%ld, " +@@ -130,11 +127,14 @@ static int init_timing_params(unsigned int new_duty_cycle, + static long send_pulse_softcarrier(unsigned long length) + { + int flag; +- unsigned long actual, target, d; ++ unsigned long actual, target; ++ unsigned long actual_us, initial_us, target_us; + +- length <<= 8; ++ length *= 1000; + + actual = 0; target = 0; flag = 0; ++ read_current_timer(&actual_us); ++ + while (actual < length) { + if (flag) { + gpiochip->set(gpiochip, gpio_out_pin, invert); +@@ -143,17 +143,19 @@ static long send_pulse_softcarrier(unsigned long length) + gpiochip->set(gpiochip, gpio_out_pin, !invert); + target += pulse_width; + } +- d = (target - actual - +- LIRC_TRANSMITTER_LATENCY + 128) >> 8; ++ initial_us = actual_us; ++ target_us = actual_us + (target - actual) / 1000; + /* + * Note - we've checked in ioctl that the pulse/space + * widths are big enough so that d is > 0 + */ +- udelay(d); +- actual += (d << 8) + LIRC_TRANSMITTER_LATENCY; ++ if ((int)(target_us - actual_us) > 0) ++ udelay(target_us - actual_us); ++ read_current_timer(&actual_us); ++ actual += (actual_us - initial_us) * 1000; + flag = !flag; + } +- return (actual-length) >> 8; ++ return (actual-length) / 1000; + } + + static long send_pulse(unsigned long length) +-- +1.9.1 + + +From 4b3694f20b99274c03043ab931095481c9180cd8 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Sun, 27 Apr 2014 17:52:12 +0100 +Subject: [PATCH 110/110] snd-bcm2835: Ensure alsa_stream is null on failure to + avoid kernel panic + +--- + sound/arm/bcm2835-pcm.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/sound/arm/bcm2835-pcm.c b/sound/arm/bcm2835-pcm.c +index fe27a8f..ebd3f62 100755 +--- a/sound/arm/bcm2835-pcm.c ++++ b/sound/arm/bcm2835-pcm.c +@@ -161,6 +161,11 @@ static int snd_bcm2835_playback_open_generic( + alsa_stream->enable_fifo_irq = 0; + alsa_stream->fifo_irq_handler = bcm2835_playback_fifo_irq; + ++ err = bcm2835_audio_open(alsa_stream); ++ if (err != 0) { ++ kfree(alsa_stream); ++ return err; ++ } + runtime->private_data = alsa_stream; + runtime->private_free = snd_bcm2835_playback_free; + if (spdif) { +@@ -174,11 +179,6 @@ static int snd_bcm2835_playback_open_generic( + snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, + 16); + +- err = bcm2835_audio_open(alsa_stream); +- if (err != 0) { +- kfree(alsa_stream); +- return err; +- } + chip->alsa_stream[idx] = alsa_stream; + + chip->opened |= (1 << idx); +-- +1.9.1 +