aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorÁlvaro Fernández Rojas <noltari@gmail.com>2016-12-02 11:50:26 +0100
committerÁlvaro Fernández Rojas <noltari@gmail.com>2016-12-04 12:32:04 +0100
commit011f2c26f1b62e309f2eac6a3101bfe0a3c76c7e (patch)
treebe53d4f11f7625508ee3aea9889e854ab5b5f263 /target/linux
parent4257f6548b9480cdb436115b63d5c134c5e91303 (diff)
downloadupstream-011f2c26f1b62e309f2eac6a3101bfe0a3c76c7e.tar.gz
upstream-011f2c26f1b62e309f2eac6a3101bfe0a3c76c7e.tar.bz2
upstream-011f2c26f1b62e309f2eac6a3101bfe0a3c76c7e.zip
brcm2708: update linux 4.4 patches to latest version
As usual these patches were extracted and rebased from the raspberry pi repo: https://github.com/raspberrypi/linux/tree/rpi-4.4.y Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/brcm2708/image/config.txt2
-rw-r--r--target/linux/brcm2708/modules.mk44
-rw-r--r--target/linux/brcm2708/patches-4.4/0001-smsx95xx-fix-crimes-against-truesize.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0002-smsc95xx-Disable-turbo-mode-by-default.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0003-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0004-BCM2835_DT-Fix-I2S-register-map.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0005-irq-bcm2836-Prevent-spurious-interrupts-and-trap-the.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0006-irqchip-bcm2835-Add-FIQ-support.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0007-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0008-serial-8250-Don-t-crash-when-nr_uarts-is-0.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0009-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0010-pinctrl-bcm2835-Fix-interrupt-handling-for-GPIOs-28-.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0011-pinctrl-bcm2835-Only-request-the-interrupts-listed-i.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0012-spi-bcm2835-Support-pin-groups-other-than-7-11.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0013-ARM-bcm2835-Set-Serial-number-and-Revision.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0014-bcm2835-i2s-get-base-address-for-DMA-from-devicetree.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0015-bcm2835-i2s-add-24bit-support-update-bclk_ratio-to-m.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0016-bcm2835-i2s-setup-clock-only-if-CPU-is-clock-master.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0017-bcm2835-i2s-Eliminate-debugfs-directory-error.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0018-bcm2835-i2s-Register-PCM-device.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0019-bcm2835-i2s-Enable-MMAP-support-via-a-DT-property.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0020-dmaengine-bcm2835-Add-slave-dma-support.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0021-dmaengine-bcm2835-set-residue_granularity-field.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0022-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0023-bcm2835-dma-Fix-dreq-not-set-for-slave-transfers.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0024-bcm2835-dma-Limit-cyclic-transfers-on-lite-channels-.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0025-bcm2835-Add-support-for-uart1.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0026-firmware-bcm2835-Add-missing-property-tags.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0027-Main-bcm2708-bcm2709-linux-port.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0028-squash-include-ARCH_BCM2708-ARCH_BCM2709.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0030-bcm2708-framebuffer-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0031-dmaengine-Add-support-for-BCM2708.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0032-MMC-added-alternative-MMC-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0033-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0034-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0035-bcm2708-alsa-sound-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0036-bcm2708-vchiq-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0037-vc_mem-Add-vc_mem-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0038-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0039-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0040-Add-SMI-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0041-Add-SMI-NAND-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0042-lirc-added-support-for-RaspberryPi-GPIO.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0043-Add-cpufreq-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0044-Added-hwmon-thermal-driver-for-reporting-core-temper.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0045-Add-Chris-Boot-s-i2c-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0046-char-broadcom-Add-vcio-module.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0047-firmware-bcm2835-Support-ARCH_BCM270x.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0048-bcm2835-add-v4l2-camera-device.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0049-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0050-fdt-Add-support-for-the-CONFIG_CMDLINE_EXTEND-option.patch4
-rw-r--r--target/linux/brcm2708/patches-4.4/0051-BCM2708-Add-core-Device-Tree-support.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0052-bcm2835-Match-with-BCM2708-Device-Trees.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0053-fbdev-add-FBIOCOPYAREA-ioctl.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0057-Speed-up-console-framebuffer-imageblit-function.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0058-Allow-mac-address-to-be-set-in-smsc95xx.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0059-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0060-Added-Device-IDs-for-August-DVB-T-205.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0061-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0062-ASoC-Add-support-for-PCM5102A-codec.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0063-ASoC-Add-support-for-HifiBerry-DAC.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0064-ASoC-Add-support-for-Rpi-DAC.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0065-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0066-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0067-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0068-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0069-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0070-Added-support-for-HiFiBerry-DAC.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0071-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0072-Update-ds1307-driver-for-device-tree-support.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0073-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0074-enc28j60-Add-device-tree-compatible-string-and-an-ov.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0075-Add-driver-for-rpi-proto.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0076-config-Add-default-configs.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0077-bcm2835-bcm2835_defconfig.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0078-rpi-ft5406-Add-touchscreen-driver-for-pi-LCD-display.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0079-Improve-__copy_to_user-and-__copy_from_user-performa.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0080-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0081-spidev-Add-spidev-compatible-string-to-silence-warni.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0082-scripts-dtc-Add-overlay-support.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0083-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0084-RaspiDAC3-support.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0085-tpa6130a2-Add-headphone-switch-control.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0086-irq-bcm2835-Fix-building-with-2708.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0087-rpi_display-add-backlight-driver-and-overlay.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0088-bcm2835-dma-Fix-up-convert-to-DMA-pool.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0089-scripts-Multi-platform-support-for-mkknlimg-and-knli.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0090-drm-vc4-Add-suport-for-3D-rendering-using-the-V3D-en.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0091-drm-vc4-Force-HDMI-to-connected.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0092-drm-vc4-bo-cache-locking-fixes.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0093-drm-vc4-bo-cache-locking-cleanup.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0094-drm-vc4-Use-job_lock-to-protect-seqno_cb_list.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0095-drm-vc4-Drop-struct_mutex-around-CL-validation.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0096-drm-vc4-Drop-struct_mutex-around-CL-validation.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0097-drm-vc4-Add-support-for-more-display-plane-formats.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0098-drm-vc4-No-need-to-stop-the-stopped-threads.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0099-drm-vc4-Remove-extra-barrier-s-aroudn-CTnCA-CTnEA-se.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0100-drm-vc4-Fix-a-typo-in-a-V3D-debug-register.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0101-drm-vc4-Enable-VC4-modules-and-increase-CMA-size-wit.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0102-squash-fixups.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0103-squash-add-missing-vc4-kms-v3d-overlay.dtb-to-makefi.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0104-clk-bcm2835-Also-build-the-driver-for-downstream-ker.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0105-dts-Added-overlay-for-gpio_ir_recv-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0106-Build-i2c_gpio-module-and-add-a-device-tree-overlay-.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0107-New-overlay-for-PiScreen2r.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0108-dts-Added-overlay-for-Adafruit-PiTFT-2.8-capacitive-.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0109-Add-support-for-the-HiFiBerry-DAC-Pro.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0110-BCM270X_DT-Add-at86rf233-overlay.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0111-mm-Remove-the-PFN-busy-warning.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0112-drm-Put-an-optional-field-in-the-driver-struct-for-G.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0113-drm-vc4-Add-an-interface-for-capturing-the-GPU-state.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0114-drm-vc4-Update-a-bunch-of-code-to-match-upstream-sub.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0115-drm-Use-the-driver-s-gem_object_free-function-from-C.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0116-drm-vc4-Add-support-for-MSAA-rendering.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0117-drm-vc4-A-few-more-non-functional-changes-to-sync-to.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0118-drm-vc4-Use-hpd-gpios-for-HDMI-GPIO-like-what-landed.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0119-drm-vc4-Synchronize-validation-code-for-v2-submissio.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0120-MMC-Do-not-use-mmc_debug-if-CONFIG_MMC_BCM2835-is-no.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0121-Extend-clock-timeout-fix-modprobe-baudrate-parameter.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0122-bcm270x_dt-Add-dwc2-and-dwc-otg-overlays.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0123-BCM270X_DT-Add-the-sdtweak-overlay-for-tuning-sdhost.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0124-bcm2835-mmc-Don-t-override-bus-width-capabilities-fr.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0125-SDIO-overlay-add-bus_width-parameter.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0126-bcm2835-extend-allowed-range-of-channels-and-sampler.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0127-bcm2835-restrict-channels-rate-to-8-960000.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0128-rpi-update-vc_vchi_audioserv_defs.h.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0129-bcm2835-implement-channel-map-API.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0130-bcm2835-access-controls-under-the-audio-mutex.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0131-bcm2835-always-use-2-4-8-channels-for-multichannel-l.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0132-bcm2835-only-allow-stereo-if-analogue-jack-is-select.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0133-bcm2835-interpolate-audio-delay.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0134-bcm2835-sdhost-Add-workaround-for-odd-behaviour-on-s.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0135-bcm2835-sdhost-Add-debug_flags-dtparam.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0136-BCM270X_DT-Add-sdio_overclock-parameter-to-sdio-over.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0137-rtc-ds1307-add-support-for-the-DT-property-wakeup-so.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0138-dt-overlay-add-wittypi-overlay.dts.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0139-FIXUP-i2c_bcm2708-Don-t-change-module-baudrate-param.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0140-Allow-up-to-24dB-digital-gain-to-be-applied-when-usi.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0141-Limit-PCM512x-Digital-gain-to-0dB-by-default-with-Hi.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0142-BCM270X_DT-Adjust-overlay-README-formatting.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0143-bcm2835-sdhost-Major-revision.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0144-BCM270X_DT-Add-dtparams-for-the-SD-interface.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0145-dcw_otg-trim-xfer-length-when-buffer-larger-than-all.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0146-bcm2835-sdhost-Restore-ATOMIC-flag-to-PIO-sg-mapping.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0147-Updated-smsc95xx-driver-to-check-for-a-valid-MAC-add.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0148-dcw_otg-Make-trimming-messages-less-noisy.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0149-BCM270X_DT-at86rf233-overlay-drop-to-3MHz.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0150-bcm2835-sdhost-Downgrade-log-message-status.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0151-config-Enable-HCI-over-UARTs.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0152-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0153-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0154-clk-bcm2835-Add-bindings-for-the-auxiliary-periphera.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0155-clk-bcm2835-Add-a-driver-for-the-auxiliary-periphera.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0156-Aux-SPI-1-2-implementation.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0157-ASoC-bcm-add-missing-.owner-fields-in-sound-card-dri.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0158-smsx95xx-Add-option-to-disable-the-crimes-against-tr.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0159-bcm2835-virtgpio-Virtual-GPIO-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0160-BCM270X_DT-Add-Pi3-support.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0161-DT-Add-overlays-to-configure-I2C-pins.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0162-bcm2835-camera-fix-a-bug-in-computation-of-frame-tim.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0163-BCM270X_DT-Add-pi3-disable-bt-overlay.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0164-BCM270X_DT-Add-pi3-miniuart-bt-DT-overlay.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0165-Pi3-DT-Add-dtparams-for-the-SD-interface.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0166-vchiq_arm-Tweak-the-logging-output.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0167-bcm2835-sdhost-Only-claim-one-DMA-channel.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0168-bcm2835-mmc-Only-claim-one-DMA-channel.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0169-config-rebuild-with-savedefconfig.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0170-config-Add-module-for-mcp3422-ADC.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0171-Pi3-DT-Add-pull-ups-on-the-UART-RX-lines.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0173-BCM270X_DT-rpi-display-overlay-add-swapxy-param.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0174-Remove-I2S-config-from-bt_pins.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0175-Revert-scripts-dtc-Add-overlay-support.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0176-scripts-dtc-Update-to-upstream-version-1.4.1.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0177-configfs-implement-binary-attributes.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0178-OF-DT-Overlay-configfs-interface.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0179-Protect-__release_resource-against-resources-without.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0180-BCM270X_DT-Add-a-.dtbo-target-use-for-overlays.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0181-scripts-knlinfo-Decode-DDTK-atom.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0182-Enable-Dynamic-Device-Tree-for-bcmrpi_defconfig-and-.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0183-SQUASH-Add-CONFIG_OF_CONFIGFS-to-bcmrpi_defconfig.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0184-dts-kbuild-dtbs_install-installs-.dtbo-files-too.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0185-bcm2835-sdhost-Workaround-for-slow-sectors.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0186-BCM270X_DT-Add-labels-to-spidev-nodes.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0187-BCM270X_DT-Use-spidev-labels-in-overlays.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0188-BCM270X_DT-Build-and-document-the-wittypi-overlay.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0189-scripts-dtc-Fix-UMR-causing-corrupt-dtbo-overlay-fil.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0190-BCM270X_DT-Add-dtparam-for-uart1.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0191-dwc-overlay-Use-label-so-overrides-can-apply.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0192-drm-vc4-Add-a-debugfs-node-for-tracking-execution-st.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0193-drm-vc4-Include-vc4_drm.h-in-uapi-in-downstream-buil.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0194-drm-vc4-Validate-that-WAIT_BO-padding-is-cleared.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0195-drm-vc4-Fix-the-clear-color-for-the-first-tile-rende.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0196-drm-vc4-Return-an-ERR_PTR-from-BO-creation-instead-o.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0197-drm-vc4-Fix-ERESTARTSYS-error-return-from-BO-waits.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0198-drm-vc4-Drop-error-message-on-seqno-wait-timeouts.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0199-BCM270X_DT-Add-1-bit-SDIO-using-minimal-pins.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0201-Add-overlay-and-enable-support-for-QCA7000-board.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0202-serial-Take-care-starting-a-hung-up-tty-s-port.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0203-pi3-miniuart-bt-overlay-Correct-and-clarify-info.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0204-pwm-overlays-Params-must-have-in-overlay-targets.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0205-BCM270X_DT-Switch-Compute-Module-to-MMC.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0206-dwc_otg-Don-t-free-qh-align-buffers-in-atomic-contex.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0207-dwc_otg-Enable-the-hack-for-Split-Interrupt-transact.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0208-BCM270X_DT-Remove-explicit-claiming-of-UART-pins.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0209-lirc_rpi-Lower-IR-reception-error-to-debug.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0210-vchiq_arm-Access-the-dequeue_pending-flag-locked.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0211-BCM270X_DT-Add-pi3-act-led-overlay.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0212-vchiq_arm-Service-callbacks-must-not-fail.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0213-Add-configs-and-overlay-for-PCA9548-I2C-mux.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0214-BCM270X_DT-Add-DS1339-to-i2c-rtc-overlay.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0215-copy_from_user-CPU_SW_DOMAIN_PAN-compatibility.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0216-bcm2835-sdhost-Adjust-to-core-clock-changes.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0217-BCM270X_DT-Document-hazards-of-sdhost-overlay.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0218-cpufreq-Temporarily-ignore-io_is_busy-1.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0219-Revert-cpufreq-Temporarily-ignore-io_is_busy-1.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0220-net-sched-add-skb_at_tc_ingress-helper.patch6
-rw-r--r--target/linux/brcm2708/patches-4.4/0222-bcm2835-sdhost-Precalc-divisors-and-overclocks.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0223-Revert-bcm2835-sdhost-Precalc-divisors-and-overclock.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0224-Revert-bcm2835-sdhost-Adjust-to-core-clock-changes.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0225-bcm2835-sdhost-Firmware-manages-the-clock-divisor.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0226-Revert-Revert-cpufreq-Temporarily-ignore-io_is_busy-.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0227-config-Enabled-IPV6_SUBTREES.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0228-add-smsc95xx-packetsize-module_param.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0229-reboot-Use-power-off-rather-than-busy-spinning-when-.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0230-Revert-bcm2835-dma-Fix-dreq-not-set-for-slave-transf.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0231-RPi-config-Add-CONFIG_PWM_PCA9685-for-NXP-PCA9685-dr.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0232-BCM270X_DT-Don-t-generate-linux-phandle-props.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0233-V4L2-driver-updates-1393.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0234-bcm2835-sdhost-Reset-the-clock-in-task-context.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0235-config-Enable-CONFIG_IPV6_ROUTER_PREF-for-networks-w.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0236-Enable-hid-betopff-module.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0237-config-Make-IPV6-a-module-and-regenerate-with-defcon.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0238-BCM270X_DT-Add-dpi24-overlay.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0239-Modify-IQAudIO-DAC-ASoC-driver-to-set-card-dai-confi.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0240-Add-support-for-the-Digital-Dreamtime-Akkordion-musi.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0241-Add-Support-for-BoomBerry-Audio-boards.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0242-Add-support-for-mcp7940x-family-of-RTC.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0243-bcm2709_defconfig-Fix-typo-on-BoomBerry-configuratio.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0244-boomberry-dac-Adjust-for-ALSA-API-change.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0245-vmcs-Remove-unused-sm_cache_map_vector-definition-14.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0246-scripts-mkknlimg-Append-a-trailer-for-all-input.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0247-bcm2835_thermal-Don-t-report-unsupported-trip-type.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0248-scripts-dtc-Only-emit-local-fixups-for-overlays.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0249-bcm2835-do-not-require-substream-for-accessing-chmap.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0250-bcm2835-add-fallback-channel-layouts-if-channel-map-.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0251-bcm2835-log-which-channel-map-is-set.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0252-clk-bcm2835-add-a-round-up-ability-to-the-clock-divi.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0253-clk-bcm2835-Support-for-clock-parent-selection.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0254-clk-bcm2835-Add-PWM-clock-support.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0255-clk-bcm2835-added-missing-clock-register-definitions.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0256-clk-bcm2835-correctly-enable-fractional-clock-suppor.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0257-clk-bcm2835-clean-up-coding-style-issues.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0258-clk-bcm2835-expose-raw-clock-registers-via-debugfs.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0259-clk-bcm2835-remove-use-of-BCM2835_CLOCK_COUNT-in-dri.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0260-clk-bcm2835-reorganize-bcm2835_clock_array-assignmen.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0261-clk-bcm2835-enable-management-of-PCM-clock.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0262-clk-bcm2835-add-missing-PLL-clock-dividers.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0263-clk-bcm2835-add-missing-osc-and-per-clocks.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0264-ARM-bcm2835-Define-two-new-packets-from-the-latest-f.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0265-ARM-bcm2835-add-rpi-power-domain-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0266-ARM-bcm2835-clarify-RASPBERRYPI_FIRMWARE-dependency.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0267-ARM-bcm2708-Enable-building-power-domain-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0268-bcm2708-Add-RASPBERRYPI_POWER-to-the-defconfigs.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0269-bcm2708-Add-the-power-domain-driver-to-the-device-tr.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0270-bcm2708-Reference-the-HDMI-power-domain-for-the-HDMI.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0271-drm-vc4-copy_to_user-returns-the-number-of-bytes-rem.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0272-drm-vc4-allocate-enough-memory-in-vc4_save_hang_stat.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0273-drm-vc4-fix-warning-in-validate-printf.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0274-drm-vc4-Improve-comments-on-vc4_plane_state-members.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0275-drm-vc4-Add-missing-__iomem-annotation-to-hw_dlist.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0276-drm-vc4-Move-the-plane-clipping-scaling-setup-to-a-s.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0277-drm-vc4-Add-a-proper-short-circut-path-for-legacy-cu.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0278-drm-vc4-Make-the-CRTCs-cooperate-on-allocating-displ.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0279-drm-vc4-Add-more-display-planes-to-each-CRTC.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0280-drm-vc4-Fix-which-value-is-being-used-for-source-ima.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0281-drm-vc4-Add-support-for-scaling-of-display-planes.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0282-drm-vc4-Add-support-for-YUV-planes.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0283-drm-vc4-Fix-spurious-GPU-resets-due-to-BO-reuse.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0284-drm-vc4-Fix-a-framebuffer-reference-leak-on-async-fl.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0285-drm-vc4-Bring-HDMI-up-from-power-off-if-necessary.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0286-drm-vc4-Add-another-reg-to-HDMI-debug-dumping.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0287-drm-vc4-Fix-the-name-of-the-VSYNCD_EVEN-register.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0288-drm-vc4-Fix-setting-of-vertical-timings-in-the-CRTC.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0289-drm-vc4-Initialize-scaler-DISPBKGND-on-modeset.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0290-drm-vc4-improve-throughput-by-pipelining-binning-and.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0291-drm-vc4-Let-gpiolib-know-that-we-re-OK-with-sleeping.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0292-drm-vc4-Respect-GPIO_ACTIVE_LOW-on-HDMI-HPD-if-set-i.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0293-drm-vc4-Return-EFAULT-on-copy_from_user-failure.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0294-drm-vc4-Recognize-a-more-specific-compatible-string-.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0295-ARM-bcm2708-Move-the-CMA-range-down-for-kernel-4.4.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0296-clk-bcm2835-fix-check-of-error-code-returned-by-devm.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0297-vchiq_arm-Add-completion-records-under-the-mutex.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0298-config-Add-DRM_UDL-module.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0299-bcm2835-i2s-Reduce-the-TX-DREQ-threshold.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0300-V4L2-Request-maximum-resolution-from-GPU.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0301-ARM-bcm2835-add-i2s-gpio28-31-for-cm.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0302-drm-vc4-Add-DT-parameters-to-control-CMA-usage.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0303-SQUASH-BCM270X_DT-Add-make-rule-for-sdio-1bit.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0304-dts-add-overlay-for-pitft22.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0305-BCM270X_DT-Sound-DT-adjustments-for-Dynamic-DT.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0306-BCM270X_DT-Fix-codec-use-in-hifiberry-dac-overlay.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0309-Revert-bcm2835-log-which-channel-map-is-set.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0310-Revert-bcm2835-add-fallback-channel-layouts-if-chann.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0311-Revert-bcm2835-do-not-require-substream-for-accessin.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0312-Revert-bcm2835-interpolate-audio-delay.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0313-Revert-bcm2835-only-allow-stereo-if-analogue-jack-is.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0314-Revert-bcm2835-always-use-2-4-8-channels-for-multich.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0315-Revert-bcm2835-implement-channel-map-API.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0316-Revert-bcm2835-extend-allowed-range-of-channels-and-.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0317-pinctrl-bcm2835-Return-pins-to-inputs-when-freed.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0318-BCM270X_DT-i2c0-bcm2708-pin-group-params.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0319-config-Add-CONFIG_DRM_LOAD_EDID_FIRMWARE.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0320-Revert-rpi-update-vc_vchi_audioserv_defs.h.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0321-Revert-config-Add-CONFIG_DRM_LOAD_EDID_FIRMWARE.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0322-ARM-adau1977-adc-Add-basic-machine-driver-for-adau19.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0323-Allow-up-to-24dB-digital-gain-to-be-applied-when-usi.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0324-config-Add-CONFIG_DRM_LOAD_EDID_FIRMWARE.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0325-BCM270X_DT-Move-vc4-node-contents-to-bcm2708_common..patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0326-BCM270X_DT-Set-correct-HDMI-HPD-GPIO-levels-for-vari.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0327-Revert-drm-vc4-Force-HDMI-to-connected.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0328-BCM270X-Include-DRM_PANEL_SIMPLE-in-the-defconfigs.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0329-drm-Add-an-encoder-and-connector-type-enum-for-DPI.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0330-dt-bindings-Add-binding-docs-for-V3D.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0331-drm-vc4-Add-DPI-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0332-drm-vc4-Fix-NULL-deref-in-HDMI-init-error-path.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0333-drm-vc4-Kick-out-the-simplefb-framebuffer-before-we-.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0334-drm-vc4-Rename-async-to-nonblock.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0335-drm-vc4-Add-support-for-gamma-ramps.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0336-drm-vc4-Add-missing-render-node-support.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0337-drm-panel-simple-Add-the-7-DPI-panel-from-Adafruit.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0338-BCM270X_DT-Add-the-disabled-by-default-DPI-device-no.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0339-drm-vc4-Fix-get_vblank_counter-with-proper-no-op-for.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0340-drm-vc4-Fix-drm_vblank_put-get-imbalance-in-page-fli.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0341-BCM270X_DT-Add-umbrella-I2C-Mux-overlay-i2c-mux.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0342-BCM270X_DT-Include-address-override-for-pca9542.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0343-BCM270X_DT-Fix-the-tinylcd35-overlay-RTC-support.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0344-clk-Allow-clocks-to-be-marked-as-CRITICAL.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0345-clk-bcm2835-Mark-the-VPU-clock-as-critical.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0346-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0347-clk-bcm2835-Skip-PLLC-clocks-when-deciding-on-a-new-.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0348-mmc-Add-MMC_QUIRK_ERASE_BROKEN-for-some-cards.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0349-New-AudioInjector.net-Pi-soundcard-with-low-jitter-a.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0350-mmc-Apply-QUIRK_BROKEN_ERASE-to-other-capacities.patch2
-rw-r--r--target/linux/brcm2708/patches-4.4/0351-mmc-Add-card_quirks-module-parameter-log-quirks.patch (renamed from target/linux/brcm2708/patches-4.4/0352-mmc-Add-card_quirks-module-parameter-log-quirks.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0352-rtc-ds1307-ensure-that-any-pending-alarm-is-cleared-.patch (renamed from target/linux/brcm2708/patches-4.4/0353-rtc-ds1307-ensure-that-any-pending-alarm-is-cleared-.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0353-Revert-Revert-drm-vc4-Force-HDMI-to-connected.patch (renamed from target/linux/brcm2708/patches-4.4/0354-Revert-Revert-drm-vc4-Force-HDMI-to-connected.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0354-config-Add-NF_MATCH_RPFILTER.patch (renamed from target/linux/brcm2708/patches-4.4/0355-config-Add-NF_MATCH_RPFILTER.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0355-Added-Overlay-for-Microchip-MCP23017-I2C-gpio-expand.patch (renamed from target/linux/brcm2708/patches-4.4/0356-Added-Overlay-for-Microchip-MCP23017-I2C-gpio-expand.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0362-bcm2835-camera-Fix-max-min-error-when-looping-over-c.patch (renamed from target/linux/brcm2708/patches-4.4/0363-bcm2835-camera-Fix-max-min-error-when-looping-over-c.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0363-Change-BoomBerry-name-to-JustBoom-in-all-locations-d.patch (renamed from target/linux/brcm2708/patches-4.4/0364-Change-BoomBerry-name-to-JustBoom-in-all-locations-d.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0367-Add-dt-param-to-force-HiFiBerry-DAC-Pro-into-slave-m.patch (renamed from target/linux/brcm2708/patches-4.4/0368-Add-dt-param-to-force-HiFiBerry-DAC-Pro-into-slave-m.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0368-simple-add-sound-dai-cells-to-I2S-def.patch (renamed from target/linux/brcm2708/patches-4.4/0369-simple-add-sound-dai-cells-to-I2S-def.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0369-BCM2835-V4L2-Increase-minimum-resolution-to-32x32.patch (renamed from target/linux/brcm2708/patches-4.4/0370-BCM2835-V4L2-Increase-minimum-resolution-to-32x32.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0370-config-Add-support-for-Logitech-Rumblepad.patch (renamed from target/linux/brcm2708/patches-4.4/0371-config-Add-support-for-Logitech-Rumblepad.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0371-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch (renamed from target/linux/brcm2708/patches-4.4/0372-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0373-BCM2835-V4L2-Correct-handling-for-BGR24-vs-RGB24.patch (renamed from target/linux/brcm2708/patches-4.4/0374-BCM2835-V4L2-Correct-handling-for-BGR24-vs-RGB24.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0374-BCM270X_DT-Add-mcp23017-to-the-overlay-Makefile.patch (renamed from target/linux/brcm2708/patches-4.4/0375-BCM270X_DT-Add-mcp23017-to-the-overlay-Makefile.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0375-BCM270X_DT-Sort-entries-to-placate-check-script.patch (renamed from target/linux/brcm2708/patches-4.4/0376-BCM270X_DT-Sort-entries-to-placate-check-script.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0376-gpio-ir-overlay-gpio_pin-shouldn-t-change-pull-setti.patch (renamed from target/linux/brcm2708/patches-4.4/0377-gpio-ir-overlay-gpio_pin-shouldn-t-change-pull-setti.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0377-media-rc-core-define-a-default-timeout-for-drivers.patch (renamed from target/linux/brcm2708/patches-4.4/0378-media-rc-core-define-a-default-timeout-for-drivers.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0378-media-rc-gpio-ir-recv-add-timeout-on-idle.patch (renamed from target/linux/brcm2708/patches-4.4/0379-media-rc-gpio-ir-recv-add-timeout-on-idle.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0379-smsir.h-remove-a-now-duplicated-definition-IR_DEFAUL.patch (renamed from target/linux/brcm2708/patches-4.4/0380-smsir.h-remove-a-now-duplicated-definition-IR_DEFAUL.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0380-Implement-a-wakeup-source-option-for-the-i2c-rtc-Dev.patch (renamed from target/linux/brcm2708/patches-4.4/0381-Implement-a-wakeup-source-option-for-the-i2c-rtc-Dev.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0381-BCM270X_DT-Fix-rpi-dac-overlay.patch (renamed from target/linux/brcm2708/patches-4.4/0382-BCM270X_DT-Fix-rpi-dac-overlay.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0382-BCM270X_DT-Make-i2c-gpio-usable-by-other-overlays.patch (renamed from target/linux/brcm2708/patches-4.4/0383-BCM270X_DT-Make-i2c-gpio-usable-by-other-overlays.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0386-Add-ads1015-overlay.patch (renamed from target/linux/brcm2708/patches-4.4/0387-Add-ads1015-overlay.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0387-Fixed-MCP23017-section-in-overlay-README.patch (renamed from target/linux/brcm2708/patches-4.4/0388-Fixed-MCP23017-section-in-overlay-README.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0388-Revert-bcm2835-dma-Fix-up-convert-to-DMA-pool.patch (renamed from target/linux/brcm2708/patches-4.4/0389-Revert-bcm2835-dma-Fix-up-convert-to-DMA-pool.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0389-Revert-bcm2835-dma-Limit-cyclic-transfers-on-lite-ch.patch (renamed from target/linux/brcm2708/patches-4.4/0390-Revert-bcm2835-dma-Limit-cyclic-transfers-on-lite-ch.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0390-Revert-dmaengine-bcm2835-Load-driver-early-and-suppo.patch (renamed from target/linux/brcm2708/patches-4.4/0391-Revert-dmaengine-bcm2835-Load-driver-early-and-suppo.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0391-Revert-dmaengine-bcm2835-Add-slave-dma-support.patch (renamed from target/linux/brcm2708/patches-4.4/0392-Revert-dmaengine-bcm2835-Add-slave-dma-support.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0392-dmaengine-bcm2835-remove-unnecessary-masking-of-dma-.patch (renamed from target/linux/brcm2708/patches-4.4/0393-dmaengine-bcm2835-remove-unnecessary-masking-of-dma-.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0393-dmaengine-bcm2835-add-additional-defines-for-DMA-reg.patch (renamed from target/linux/brcm2708/patches-4.4/0394-dmaengine-bcm2835-add-additional-defines-for-DMA-reg.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0394-dmaengine-bcm2835-move-cyclic-member-from-bcm2835_ch.patch (renamed from target/linux/brcm2708/patches-4.4/0395-dmaengine-bcm2835-move-cyclic-member-from-bcm2835_ch.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0395-dmaengine-bcm2835-move-controlblock-chain-generation.patch (renamed from target/linux/brcm2708/patches-4.4/0396-dmaengine-bcm2835-move-controlblock-chain-generation.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0396-dmaengine-bcm2835-limit-max-length-based-on-channel-.patch (renamed from target/linux/brcm2708/patches-4.4/0397-dmaengine-bcm2835-limit-max-length-based-on-channel-.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0397-dmaengine-bcm2835-add-slave_sg-support-to-bcm2835-dm.patch (renamed from target/linux/brcm2708/patches-4.4/0398-dmaengine-bcm2835-add-slave_sg-support-to-bcm2835-dm.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0398-dmaengine-bcm2835-add-dma_memcopy-support-to-bcm2835.patch (renamed from target/linux/brcm2708/patches-4.4/0399-dmaengine-bcm2835-add-dma_memcopy-support-to-bcm2835.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0399-dmaengine-bcm2835-use-platform_get_irq_byname.patch (renamed from target/linux/brcm2708/patches-4.4/0400-dmaengine-bcm2835-use-platform_get_irq_byname.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0400-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch (renamed from target/linux/brcm2708/patches-4.4/0401-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0401-ARM-bcm270x-changed-bcrm-dma-channel-mask-to-mask-ou.patch (renamed from target/linux/brcm2708/patches-4.4/0402-ARM-bcm270x-changed-bcrm-dma-channel-mask-to-mask-ou.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0402-ARM-bcm2835-add-interrupt-names-and-apply-correct-ma.patch (renamed from target/linux/brcm2708/patches-4.4/0403-ARM-bcm2835-add-interrupt-names-and-apply-correct-ma.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0403-ARM-bcm2835-make-dma-channel-0-available-for-kms-set.patch (renamed from target/linux/brcm2708/patches-4.4/0404-ARM-bcm2835-make-dma-channel-0-available-for-kms-set.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0404-dmaengine-bcm2835-Fix-cyclic-DMA-period-splitting.patch (renamed from target/linux/brcm2708/patches-4.4/0405-dmaengine-bcm2835-Fix-cyclic-DMA-period-splitting.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0405-dmaengine-bcm2835-Avoid-splitting-periods-into-very-.patch (renamed from target/linux/brcm2708/patches-4.4/0406-dmaengine-bcm2835-Avoid-splitting-periods-into-very-.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0406-dmaengine-bcm2835-Fix-polling-for-completion-of-DMA-.patch (renamed from target/linux/brcm2708/patches-4.4/0407-dmaengine-bcm2835-Fix-polling-for-completion-of-DMA-.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0408-BCM270X_DT-Add-spi-rtc-overlay-on-SPI0.0.patch (renamed from target/linux/brcm2708/patches-4.4/0409-BCM270X_DT-Add-spi-rtc-overlay-on-SPI0.0.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0409-rtc-Add-SPI-alias-for-pcf2123-driver.patch (renamed from target/linux/brcm2708/patches-4.4/0410-rtc-Add-SPI-alias-for-pcf2123-driver.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0410-Added-support-for-headphones-microphone-and-bclk_rat.patch (renamed from target/linux/brcm2708/patches-4.4/0411-Added-support-for-headphones-microphone-and-bclk_rat.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0411-IQaudIO-auto-mute-for-AMP-and-DigiAMP.patch (renamed from target/linux/brcm2708/patches-4.4/0412-IQaudIO-auto-mute-for-AMP-and-DigiAMP.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0412-mmc-Apply-ERASE_BROKEN-quirks-correctly.patch (renamed from target/linux/brcm2708/patches-4.4/0413-mmc-Apply-ERASE_BROKEN-quirks-correctly.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0413-enable-led-support-for-xpad-driver-fixes-flashing-le.patch (renamed from target/linux/brcm2708/patches-4.4/0414-enable-led-support-for-xpad-driver-fixes-flashing-le.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0414-Add-critical-information-for-getting-pi3-miniuart-bt.patch (renamed from target/linux/brcm2708/patches-4.4/0415-Add-critical-information-for-getting-pi3-miniuart-bt.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0415-bcm2835-sdhost-Improvements-to-error-recovery.patch (renamed from target/linux/brcm2708/patches-4.4/0416-bcm2835-sdhost-Improvements-to-error-recovery.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0416-pinctrl-bcm2835-Fix-return-type-of-bcm2835_pmx_free.patch (renamed from target/linux/brcm2708/patches-4.4/0417-pinctrl-bcm2835-Fix-return-type-of-bcm2835_pmx_free.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0417-Add-IQAudIO-Digi-WM8804-board-support.patch (renamed from target/linux/brcm2708/patches-4.4/0418-Add-IQAudIO-Digi-WM8804-board-support.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0418-dts-Add-overlay-for-NXP-SC16IS752-Dual-UART-with-SPI.patch (renamed from target/linux/brcm2708/patches-4.4/0419-dts-Add-overlay-for-NXP-SC16IS752-Dual-UART-with-SPI.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0419-spi-bcm2835-Disable-forced-software-CS.patch (renamed from target/linux/brcm2708/patches-4.4/0420-spi-bcm2835-Disable-forced-software-CS.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0420-BCM270X_DT-Overlay-to-re-enable-HW-CS-on-SPI0.patch (renamed from target/linux/brcm2708/patches-4.4/0421-BCM270X_DT-Overlay-to-re-enable-HW-CS-on-SPI0.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0421-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch (renamed from target/linux/brcm2708/patches-4.4/0422-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0422-ASoc-wm8731-add-32bit-mode.patch (renamed from target/linux/brcm2708/patches-4.4/0423-ASoc-wm8731-add-32bit-mode.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0423-BCM270X_DT-Declare-the-audio-PWM-pins-explicitly.patch (renamed from target/linux/brcm2708/patches-4.4/0424-BCM270X_DT-Declare-the-audio-PWM-pins-explicitly.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0424-BCM270X_DT-Restore-lost-closing-brace.patch (renamed from target/linux/brcm2708/patches-4.4/0425-BCM270X_DT-Restore-lost-closing-brace.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0425-config-Add-driver-for-mcp23017-I2C-GPIO-expander.patch (renamed from target/linux/brcm2708/patches-4.4/0426-config-Add-driver-for-mcp23017-I2C-GPIO-expander.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0426-vchiq_arm-Avoid-use-of-mutex-in-add_completion.patch (renamed from target/linux/brcm2708/patches-4.4/0427-vchiq_arm-Avoid-use-of-mutex-in-add_completion.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0427-bcm2708_fb-Default-framebuffer-to-32-bit.patch (renamed from target/linux/brcm2708/patches-4.4/0428-bcm2708_fb-Default-framebuffer-to-32-bit.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0428-fix-auto-sense-in-lirc_rpi-driver.patch (renamed from target/linux/brcm2708/patches-4.4/0429-fix-auto-sense-in-lirc_rpi-driver.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0429-enable-gembird-joypad-support.patch (renamed from target/linux/brcm2708/patches-4.4/0430-enable-gembird-joypad-support.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0430-Added-HiFiBerry-Digi-Pro-driver.patch (renamed from target/linux/brcm2708/patches-4.4/0431-Added-HiFiBerry-Digi-Pro-driver.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0431-clk-bcm2835-Mark-the-CM-SDRAM-clock-s-parent-as-crit.patch (renamed from target/linux/brcm2708/patches-4.4/0432-clk-bcm2835-Mark-the-CM-SDRAM-clock-s-parent-as-crit.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0432-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-divi.patch (renamed from target/linux/brcm2708/patches-4.4/0433-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-divi.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0433-clk-bcm2835-Do-appropriate-name-lookups-for-DSI1-s-p.patch (renamed from target/linux/brcm2708/patches-4.4/0434-clk-bcm2835-Do-appropriate-name-lookups-for-DSI1-s-p.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0434-clk-bcm2835-Add-an-enum-for-the-DSI1-pixel-clock.patch (renamed from target/linux/brcm2708/patches-4.4/0435-clk-bcm2835-Add-an-enum-for-the-DSI1-pixel-clock.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0435-drm-fb_cma_helper-Remove-implicit-call-to-disable_un.patch (renamed from target/linux/brcm2708/patches-4.4/0436-drm-fb_cma_helper-Remove-implicit-call-to-disable_un.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0436-overlays-Add-assert_falling_edge-to-pps-gpio-overlay.patch (renamed from target/linux/brcm2708/patches-4.4/0437-overlays-Add-assert_falling_edge-to-pps-gpio-overlay.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0437-drm-mipi-dsi-Unregister-bus-at-exit.patch (renamed from target/linux/brcm2708/patches-4.4/0438-drm-mipi-dsi-Unregister-bus-at-exit.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0438-drm-mipi-dsi-Allow-to-build-drm-mipi-dsi-as-a-module.patch (renamed from target/linux/brcm2708/patches-4.4/0439-drm-mipi-dsi-Allow-to-build-drm-mipi-dsi-as-a-module.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0439-drm-vc4-Fix-flipped-HVS-channels-for-DSI0-1.patch (renamed from target/linux/brcm2708/patches-4.4/0440-drm-vc4-Fix-flipped-HVS-channels-for-DSI0-1.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0440-drm-vc4-Add-support-for-feeding-DSI-encoders-from-th.patch (renamed from target/linux/brcm2708/patches-4.4/0441-drm-vc4-Add-support-for-feeding-DSI-encoders-from-th.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0441-drm-vc4-Start-switching-to-using-debugfs_reg32-helpe.patch (renamed from target/linux/brcm2708/patches-4.4/0442-drm-vc4-Start-switching-to-using-debugfs_reg32-helpe.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0442-drm-vc4-Add-DSI1-driver.patch (renamed from target/linux/brcm2708/patches-4.4/0443-drm-vc4-Add-DSI1-driver.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0443-drm-panel-Add-support-for-the-Raspberry-Pi-7-Touchsc.patch (renamed from target/linux/brcm2708/patches-4.4/0444-drm-panel-Add-support-for-the-Raspberry-Pi-7-Touchsc.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0444-BCM270X-Add-the-DSI-panel-to-the-defconfig.patch (renamed from target/linux/brcm2708/patches-4.4/0445-BCM270X-Add-the-DSI-panel-to-the-defconfig.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0445-BCM270X-Add-the-DSI-and-DSI-panel-nodes-to-the-VC4-o.patch (renamed from target/linux/brcm2708/patches-4.4/0446-BCM270X-Add-the-DSI-and-DSI-panel-nodes-to-the-VC4-o.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0446-of-Export-of_device_uevent_modalias-for-DRM_MIPI_DSI.patch (renamed from target/linux/brcm2708/patches-4.4/0447-of-Export-of_device_uevent_modalias-for-DRM_MIPI_DSI.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0447-drm-Emit-modalias-uevents-for-the-DSI-devices-we-cre.patch (renamed from target/linux/brcm2708/patches-4.4/0448-drm-Emit-modalias-uevents-for-the-DSI-devices-we-cre.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0448-gpu-drm-vc4_hdmi-add-missing-of_node_put-after-calli.patch (renamed from target/linux/brcm2708/patches-4.4/0449-gpu-drm-vc4_hdmi-add-missing-of_node_put-after-calli.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0449-drm-vc4-Use-for_each_plane_in_state.patch (renamed from target/linux/brcm2708/patches-4.4/0450-drm-vc4-Use-for_each_plane_in_state.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0450-drm-vc4-Fix-ioctl-permissions-for-render-nodes.patch (renamed from target/linux/brcm2708/patches-4.4/0451-drm-vc4-Fix-ioctl-permissions-for-render-nodes.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0451-drm-vc4-Make-pageflip-completion-handling-more-robus.patch (renamed from target/linux/brcm2708/patches-4.4/0452-drm-vc4-Make-pageflip-completion-handling-more-robus.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0452-drm-vc4-clean-up-error-exit-path-on-failed-dpi_conne.patch (renamed from target/linux/brcm2708/patches-4.4/0453-drm-vc4-clean-up-error-exit-path-on-failed-dpi_conne.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0453-drm-vc4-enable-XBGR8888-and-ABGR8888-pixel-formats.patch (renamed from target/linux/brcm2708/patches-4.4/0454-drm-vc4-enable-XBGR8888-and-ABGR8888-pixel-formats.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0454-drm-vc4-Bind-the-HVS-before-we-bind-the-individual-C.patch (renamed from target/linux/brcm2708/patches-4.4/0455-drm-vc4-Bind-the-HVS-before-we-bind-the-individual-C.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0455-drm-vc4-Implement-precise-vblank-timestamping.patch (renamed from target/linux/brcm2708/patches-4.4/0456-drm-vc4-Implement-precise-vblank-timestamping.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0456-drm-vc4-remove-redundant-ret-status-check.patch (renamed from target/linux/brcm2708/patches-4.4/0457-drm-vc4-remove-redundant-ret-status-check.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0457-drm-vc4-add-extern-C-guard-for-the-UAPI-header.patch (renamed from target/linux/brcm2708/patches-4.4/0458-drm-vc4-add-extern-C-guard-for-the-UAPI-header.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0458-drm-vc4-Fix-definition-of-QPU_R_MS_REV_FLAGS.patch (renamed from target/linux/brcm2708/patches-4.4/0459-drm-vc4-Fix-definition-of-QPU_R_MS_REV_FLAGS.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0459-drm-vc4-Fix-a-the-the-typo-in-a-comment.patch (renamed from target/linux/brcm2708/patches-4.4/0460-drm-vc4-Fix-a-the-the-typo-in-a-comment.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0460-drm-vc4-Return-EBUSY-if-there-s-already-a-pending-fl.patch (renamed from target/linux/brcm2708/patches-4.4/0461-drm-vc4-Return-EBUSY-if-there-s-already-a-pending-fl.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0461-config-Enable-SENSORS_LM75.patch (renamed from target/linux/brcm2708/patches-4.4/0462-config-Enable-SENSORS_LM75.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0462-config-Enable-SERIAL_SC16IS7XX.patch (renamed from target/linux/brcm2708/patches-4.4/0463-config-Enable-SERIAL_SC16IS7XX.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0463-snd-bcm2835-Don-t-allow-responses-from-VC-to-be-inte.patch (renamed from target/linux/brcm2708/patches-4.4/0464-snd-bcm2835-Don-t-allow-responses-from-VC-to-be-inte.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0464-BCM270X-Connect-V3D-to-its-power-domain.patch (renamed from target/linux/brcm2708/patches-4.4/0465-BCM270X-Connect-V3D-to-its-power-domain.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0465-drm-vc4-Enable-runtime-PM.patch (renamed from target/linux/brcm2708/patches-4.4/0466-drm-vc4-Enable-runtime-PM.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0466-drm-vc4-Drop-firmware-node-getting-now-that-we-use-t.patch (renamed from target/linux/brcm2708/patches-4.4/0467-drm-vc4-Drop-firmware-node-getting-now-that-we-use-t.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0467-drm-vc4-Use-runtime-PM-to-power-cycle-the-device-whe.patch (renamed from target/linux/brcm2708/patches-4.4/0468-drm-vc4-Use-runtime-PM-to-power-cycle-the-device-whe.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0468-drm-panel-Drop-debug-printf-from-the-Raspberry-Pi-to.patch (renamed from target/linux/brcm2708/patches-4.4/0469-drm-panel-Drop-debug-printf-from-the-Raspberry-Pi-to.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0469-drm-vc4-Replace-HDMI-force-connected-with-an-EDID-pr.patch (renamed from target/linux/brcm2708/patches-4.4/0470-drm-vc4-Replace-HDMI-force-connected-with-an-EDID-pr.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0470-net-ethernet-enc28j60-add-device-tree-support.patch (renamed from target/linux/brcm2708/patches-4.4/0471-net-ethernet-enc28j60-add-device-tree-support.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0471-enc28j60-Fix-race-condition-in-enc28j60-driver.patch (renamed from target/linux/brcm2708/patches-4.4/0472-enc28j60-Fix-race-condition-in-enc28j60-driver.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0472-Add-cm3-dts-file.patch (renamed from target/linux/brcm2708/patches-4.4/0473-Add-cm3-dts-file.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0473-BCM270X-Drop-HPD-setting-from-the-common-dtsi.patch (renamed from target/linux/brcm2708/patches-4.4/0474-BCM270X-Drop-HPD-setting-from-the-common-dtsi.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0474-BCM2710-Drop-incorrect-HDMI-HPD-line-from-the-DT.patch (renamed from target/linux/brcm2708/patches-4.4/0475-BCM2710-Drop-incorrect-HDMI-HPD-line-from-the-DT.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0475-drm-vc4-Add-a-getparam-ioctl-for-getting-the-V3D-ide.patch (renamed from target/linux/brcm2708/patches-4.4/0476-drm-vc4-Add-a-getparam-ioctl-for-getting-the-V3D-ide.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0476-drm-vc4-Move-validation-s-current-max-ip-into-the-va.patch (renamed from target/linux/brcm2708/patches-4.4/0477-drm-vc4-Move-validation-s-current-max-ip-into-the-va.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0477-drm-vc4-Add-a-bitmap-of-branch-targets-during-shader.patch (renamed from target/linux/brcm2708/patches-4.4/0478-drm-vc4-Add-a-bitmap-of-branch-targets-during-shader.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0478-drm-vc4-Add-support-for-branching-in-shader-validati.patch (renamed from target/linux/brcm2708/patches-4.4/0479-drm-vc4-Add-support-for-branching-in-shader-validati.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0479-drm-vc4-Add-a-getparam-to-signal-support-for-branche.patch (renamed from target/linux/brcm2708/patches-4.4/0480-drm-vc4-Add-a-getparam-to-signal-support-for-branche.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0480-drm-vc4-Don-t-force-new-binner-overflow-allocation-p.patch (renamed from target/linux/brcm2708/patches-4.4/0481-drm-vc4-Don-t-force-new-binner-overflow-allocation-p.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0481-drm-vc4-Use-drm_free_large-on-handles-to-match-its-a.patch (renamed from target/linux/brcm2708/patches-4.4/0482-drm-vc4-Use-drm_free_large-on-handles-to-match-its-a.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0482-drm-vc4-Fix-oops-when-userspace-hands-in-a-bad-BO.patch (renamed from target/linux/brcm2708/patches-4.4/0483-drm-vc4-Fix-oops-when-userspace-hands-in-a-bad-BO.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0483-drm-vc4-Fix-overflow-mem-unreferencing-when-the-binn.patch (renamed from target/linux/brcm2708/patches-4.4/0484-drm-vc4-Fix-overflow-mem-unreferencing-when-the-binn.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0484-config-Enable-SERIAL_SC16IS7XX_SPI.patch (renamed from target/linux/brcm2708/patches-4.4/0485-config-Enable-SERIAL_SC16IS7XX_SPI.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0485-Overlay-for-Microchip-MCP23S08-17-SPI-gpio-expanders.patch (renamed from target/linux/brcm2708/patches-4.4/0486-Overlay-for-Microchip-MCP23S08-17-SPI-gpio-expanders.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0486-BCM270X_DT-Add-audio_pins-to-CM-dtb.patch (renamed from target/linux/brcm2708/patches-4.4/0487-BCM270X_DT-Add-audio_pins-to-CM-dtb.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0487-BCM270X_DT-Don-t-enable-UART0-in-CM3-dtb.patch (renamed from target/linux/brcm2708/patches-4.4/0488-BCM270X_DT-Don-t-enable-UART0-in-CM3-dtb.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0488-overlays-Add-audremap-overlay.patch (renamed from target/linux/brcm2708/patches-4.4/0489-overlays-Add-audremap-overlay.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0489-overlays-Add-swap_lr-and-enable_jack-to-audremap.patch (renamed from target/linux/brcm2708/patches-4.4/0490-overlays-Add-swap_lr-and-enable_jack-to-audremap.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0490-overlays-Clarify-gpio-poweroff-semantics-in-README.patch (renamed from target/linux/brcm2708/patches-4.4/0491-overlays-Clarify-gpio-poweroff-semantics-in-README.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0491-overlays-added-sc16is750-UART-over-I2C-1617.patch (renamed from target/linux/brcm2708/patches-4.4/0492-overlays-added-sc16is750-UART-over-I2C-1617.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0492-Bluetooth-Fix-l2cap_sock_setsockopt-with-optname-BT_.patch (renamed from target/linux/brcm2708/patches-4.4/0493-Bluetooth-Fix-l2cap_sock_setsockopt-with-optname-BT_.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0493-config-Add-CONFIG_IPVLAN-module.patch (renamed from target/linux/brcm2708/patches-4.4/0494-config-Add-CONFIG_IPVLAN-module.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0494-config-Add-CONFIG_VXLAN-module.patch (renamed from target/linux/brcm2708/patches-4.4/0495-config-Add-CONFIG_VXLAN-module.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0495-Fixes-i2c_bcm2708-Write-to-FIFO-correctly-v2-1574.patch (renamed from target/linux/brcm2708/patches-4.4/0496-Fixes-i2c_bcm2708-Write-to-FIFO-correctly-v2-1574.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0496-bcm2835-sdhost-Don-t-exit-cmd-wait-loop-on-error.patch (renamed from target/linux/brcm2708/patches-4.4/0497-bcm2835-sdhost-Don-t-exit-cmd-wait-loop-on-error.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0497-BCM270X_DT-Use-bcm2835-sdhost-on-Compute-Module.patch (renamed from target/linux/brcm2708/patches-4.4/0498-BCM270X_DT-Use-bcm2835-sdhost-on-Compute-Module.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0498-fbmem-Ensure-that-parameters-are-properly-checked-wi.patch (renamed from target/linux/brcm2708/patches-4.4/0499-fbmem-Ensure-that-parameters-are-properly-checked-wi.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0499-config-Enabled-SENSORS_INA2XX-module.patch (renamed from target/linux/brcm2708/patches-4.4/0500-config-Enabled-SENSORS_INA2XX-module.patch)2
-rw-r--r--target/linux/brcm2708/patches-4.4/0500-overlays-Add-dpi18-overlay-1634.patch75
-rw-r--r--target/linux/brcm2708/patches-4.4/0502-drm-vc4-Allow-some-more-signals-to-be-packed-with-un.patch38
-rw-r--r--target/linux/brcm2708/patches-4.4/0503-raspberrypi-firmware-Export-the-general-transaction-.patch42
-rw-r--r--target/linux/brcm2708/patches-4.4/0504-raspberrypi-firmware-Define-the-MBOX-channel-in-the-.patch21
-rw-r--r--target/linux/brcm2708/patches-4.4/0505-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch776
-rw-r--r--target/linux/brcm2708/patches-4.4/0506-BCM270X-Add-an-overlay-for-enabling-the-vc4-driver-i.patch189
-rw-r--r--target/linux/brcm2708/patches-4.4/0507-Allo-Piano-DAC-boards-Initial-2-channel-stereo-suppo.patch324
-rw-r--r--target/linux/brcm2708/patches-4.4/0508-Correct-typos-in-spi-gpio35-39-overlay.dts-1651.patch29
-rw-r--r--target/linux/brcm2708/patches-4.4/0510-drm-vc4-Enable-limited-range-RGB-output-with-CEA-mod.patch83
-rw-r--r--target/linux/brcm2708/patches-4.4/0511-Add-Adafruit-pitft35-touchscreen-support-1657.patch196
-rw-r--r--target/linux/brcm2708/patches-4.4/0512-drm-vc4-Fix-races-when-the-CS-reads-from-render-targ.patch220
-rw-r--r--target/linux/brcm2708/patches-4.4/0513-drm-vc4-Fix-up-the-limited-range-RGB-output-commit.patch29
-rw-r--r--target/linux/brcm2708/patches-4.4/0514-drm-vc4-Increase-timeout-for-HDMI_SCHEDULER_CONTROL-.patch34
-rw-r--r--target/linux/brcm2708/patches-4.4/0515-drm-vc4-Disallow-interlaced-modes-on-DPI.patch37
-rw-r--r--target/linux/brcm2708/patches-4.4/0516-drm-vc4-Fix-handling-of-interlaced-video-modes.patch104
-rw-r--r--target/linux/brcm2708/patches-4.4/0517-drm-vc4-Reject-doublescan-modes.patch30
-rw-r--r--target/linux/brcm2708/patches-4.4/0518-drm-vc4-Enable-precise-vblank-timestamping-for-inter.patch61
-rw-r--r--target/linux/brcm2708/patches-4.4/0519-drm-vc4-Enable-Disable-vblanks-properly-in-crtc-en-d.patch38
-rw-r--r--target/linux/brcm2708/patches-4.4/0520-drm-vc4-Fix-support-for-interlaced-modes-on-HDMI.patch211
-rw-r--r--target/linux/brcm2708/patches-4.4/0521-clk-bcm2835-Clamp-the-PLL-s-requested-rate-to-the-ha.patch43
-rw-r--r--target/linux/brcm2708/patches-4.4/0522-drm-vc4-Set-up-the-AVI-and-SPD-infoframes.patch223
-rw-r--r--target/linux/brcm2708/patches-4.4/0523-drm-vc4-Add-support-for-double-clocked-modes.patch127
-rw-r--r--target/linux/brcm2708/patches-4.4/0524-BCM270X_DT-Update-CM3-to-use-sdhost-interface.patch36
-rw-r--r--target/linux/brcm2708/patches-4.4/0525-drm-vc4-Fix-memory-leak-of-the-CRTC-state.patch26
-rw-r--r--target/linux/brcm2708/patches-4.4/0526-x86-boot-Fix-kdump-cleanup-aborted-E820_PRAM-max_pfn.patch60
-rw-r--r--target/linux/brcm2708/patches-4.4/0527-Support-for-Blokas-Labs-pisound-board.patch1208
-rw-r--r--target/linux/brcm2708/patches-4.4/0528-pisound-Fix-a-warning-in-DEBUG-builds.patch31
-rw-r--r--target/linux/brcm2708/patches-4.4/0529-config-Add-CONFIG_HTU21-module.patch30
-rw-r--r--target/linux/brcm2708/patches-4.4/0530-spi-bcm2835-Remove-unused-code.patch93
-rw-r--r--target/linux/brcm2708/patches-4.4/0531-bcm2708_fb-Add-ioctl-for-reading-gpu-memory-through-.patch167
-rw-r--r--target/linux/brcm2708/patches-4.4/0532-rpi-ft5406-Create-coherent-buffer-and-push-to-firmwa.patch244
-rw-r--r--target/linux/brcm2708/patches-4.4/0533-brcmvirt_gpio-Create-coherent-buffer-and-push-to-fir.patch169
-rw-r--r--target/linux/brcm2708/patches-4.4/0534-brcmvirt_gpio-Pass-device-structure-into-dma_zalloc_.patch53
-rw-r--r--target/linux/brcm2708/patches-4.4/0535-rpi-ft5406-Pass-device-structure-into-dma_zalloc_coh.patch38
-rw-r--r--target/linux/brcm2708/patches-4.4/0536-drm-vc4-Fix-a-couple-error-codes-in-vc4_cl_lookup_bo.patch39
-rw-r--r--target/linux/brcm2708/patches-4.4/0537-drm-vc4-Fix-termination-of-the-initial-scan-for-bran.patch68
-rw-r--r--target/linux/brcm2708/patches-4.4/0538-drm-vc4-Add-support-for-rendering-with-ETC1-textures.patch55
-rw-r--r--target/linux/brcm2708/patches-4.4/0539-drm-vc4-Use-runtime-autosuspend-to-avoid-thrashing-V.patch78
-rw-r--r--target/linux/brcm2708/patches-4.4/0540-drm-vc4-Use-drm_gem_object_unreference_unlocked.patch76
-rw-r--r--target/linux/brcm2708/patches-4.4/0541-drm-vc4-Use-drm_malloc_ab-to-fix-large-rendering-job.patch57
-rw-r--r--target/linux/brcm2708/patches-4.4/0542-drm-vc4-Free-hang-state-before-destroying-BO-cache.patch29
-rw-r--r--target/linux/brcm2708/patches-4.4/0543-fixup-fb-Use-basic-types-for-dma-addresses-as-these-.patch23
-rw-r--r--target/linux/brcm2708/patches-4.4/0544-fb-Use-correct-bus-address-for-dest-of-dma-memcpy.patch29
-rw-r--r--target/linux/brcm2708/patches-4.4/0545-drm-vc4-Add-fragment-shader-threading-support.patch228
-rw-r--r--target/linux/brcm2708/patches-4.4/0546-fb-Use-struct-device-for-dma_alloc_coherent.patch29
-rw-r--r--target/linux/brcm2708/patches-4.4/0547-ARM-dts-Visit-overlays-subdir-unconditionally.patch34
-rw-r--r--target/linux/brcm2708/patches-4.4/0548-Audioinjector-Fix-bit-offsets-for-equal-volume-and-a.patch55
-rw-r--r--target/linux/brcm2708/patches-4.4/0549-config-Add-ABX80X-RTC-driver-and-overlay.patch96
-rw-r--r--target/linux/brcm2708/patches-4.4/0550-config-Add-AK4554-audio-codec-driver.patch33
-rw-r--r--target/linux/brcm2708/patches-4.4/0551-ARM-dts-Restore-dtbs_install-functionality.patch25
-rw-r--r--target/linux/brcm2708/patches-4.4/0552-BCM270X_DT-Update-UART0-clock-frequency.patch29
-rw-r--r--target/linux/brcm2708/patches-4.4/0553-BCM2835-v4l2-Fix-a-conformance-test-failure.patch25
531 files changed, 6619 insertions, 480 deletions
diff --git a/target/linux/brcm2708/image/config.txt b/target/linux/brcm2708/image/config.txt
index b0fbd7a5eb..329aaccc53 100644
--- a/target/linux/brcm2708/image/config.txt
+++ b/target/linux/brcm2708/image/config.txt
@@ -941,6 +941,7 @@ dtparam=i2c1=on
dtparam=spi=on
#dtoverlay=adau1977-adc
+#dtoverlay=allo-piano-dac-pcm512x-audio
#dtoverlay=audioinjector-wm8731-audio
#dtoverlay=dionaudio-loco
#dtoverlay=hifiberry-amp
@@ -953,6 +954,7 @@ dtparam=spi=on
#dtoverlay=iqaudio-digi-wm8804-audio
#dtoverlay=justboom-dac
#dtoverlay=justboom-digi
+#dtoverlay=pisound
#dtoverlay=raspidac3
#dtoverlay=rpi-dac
#dtoverlay=rpi-proto
diff --git a/target/linux/brcm2708/modules.mk b/target/linux/brcm2708/modules.mk
index 4cfdd6d7c4..e2b3fdb59e 100644
--- a/target/linux/brcm2708/modules.mk
+++ b/target/linux/brcm2708/modules.mk
@@ -68,6 +68,30 @@ endef
$(eval $(call KernelPackage,sound-soc-adau1977-adc))
+define KernelPackage/sound-soc-allo-piano-dac
+ TITLE:=Support for Allo Piano DAC
+ KCONFIG:= \
+ CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC \
+ CONFIG_SND_SOC_PCM512x \
+ CONFIG_SND_SOC_PCM512x_I2C
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-allo-piano-dac.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x-i2c.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x-i2c snd-soc-pcm512x \
+ snd-soc-allo-piano-dac)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s \
+ +kmod-i2c-bcm2708
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-allo-piano-dac/description
+ This package contains support for Allo Piano DAC
+endef
+
+$(eval $(call KernelPackage,sound-soc-allo-piano-dac))
+
define KernelPackage/sound-soc-audioinjector-pi-soundcard
TITLE:=Support for AudioInjector Pi soundcard
KCONFIG:= \
@@ -314,6 +338,26 @@ endef
$(eval $(call KernelPackage,sound-soc-justboom-digi))
+define KernelPackage/sound-soc-pisound
+ TITLE:=Support for Blokas Labs PiSound
+ KCONFIG:= \
+ CONFIG_SND_PISOUND \
+ CONFIG_SND_SOC_PCM5102A
+ FILES:= \
+ $(LINUX_DIR)/sound/soc/bcm/snd-soc-pisound.ko \
+ $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm5102a.ko
+ AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm5102a snd-soc-pisound)
+ DEPENDS:= \
+ kmod-sound-soc-bcm2835-i2s
+ $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-pisound/description
+ This package contains support for Blokas Labs PiSound
+endef
+
+$(eval $(call KernelPackage,sound-soc-pisound))
+
define KernelPackage/sound-soc-raspidac3
TITLE:=Support for RaspiDAC Rev.3x
KCONFIG:= \
diff --git a/target/linux/brcm2708/patches-4.4/0001-smsx95xx-fix-crimes-against-truesize.patch b/target/linux/brcm2708/patches-4.4/0001-smsx95xx-fix-crimes-against-truesize.patch
index 5e6a82cb15..fcf4eb36f8 100644
--- a/target/linux/brcm2708/patches-4.4/0001-smsx95xx-fix-crimes-against-truesize.patch
+++ b/target/linux/brcm2708/patches-4.4/0001-smsx95xx-fix-crimes-against-truesize.patch
@@ -1,4 +1,4 @@
-From 4f81faf37ec66edd44da24800c5a5ae87edae808 Mon Sep 17 00:00:00 2001
+From 5f5e9d496540a0e6f915a04e8b9f364eed5e1f7a Mon Sep 17 00:00:00 2001
From: Steve Glendinning <steve.glendinning@smsc.com>
Date: Thu, 19 Feb 2015 18:47:12 +0000
Subject: [PATCH] smsx95xx: fix crimes against truesize
diff --git a/target/linux/brcm2708/patches-4.4/0002-smsc95xx-Disable-turbo-mode-by-default.patch b/target/linux/brcm2708/patches-4.4/0002-smsc95xx-Disable-turbo-mode-by-default.patch
index 1a79fd08df..0c9f4bde11 100644
--- a/target/linux/brcm2708/patches-4.4/0002-smsc95xx-Disable-turbo-mode-by-default.patch
+++ b/target/linux/brcm2708/patches-4.4/0002-smsc95xx-Disable-turbo-mode-by-default.patch
@@ -1,4 +1,4 @@
-From 588a0950ef065eb5a0b36974394245ae2c9fc75b Mon Sep 17 00:00:00 2001
+From 954a047293ac324d9497511eb4b5ce8c792a4039 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 17 Apr 2015 16:58:45 +0100
Subject: [PATCH] smsc95xx: Disable turbo mode by default
diff --git a/target/linux/brcm2708/patches-4.4/0003-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch b/target/linux/brcm2708/patches-4.4/0003-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch
index e93fc31b8e..af4451485c 100644
--- a/target/linux/brcm2708/patches-4.4/0003-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch
+++ b/target/linux/brcm2708/patches-4.4/0003-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch
@@ -1,4 +1,4 @@
-From 8ca7ff8021f8d9bcbac83bd4584da9bbc854b829 Mon Sep 17 00:00:00 2001
+From c68809400f149d3f176e03a3ab36e576a4d5ae79 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 18 Jun 2014 13:42:01 +0100
Subject: [PATCH] vmstat: Workaround for issue where dirty page count goes
diff --git a/target/linux/brcm2708/patches-4.4/0004-BCM2835_DT-Fix-I2S-register-map.patch b/target/linux/brcm2708/patches-4.4/0004-BCM2835_DT-Fix-I2S-register-map.patch
index bd4e1f731d..0013983a07 100644
--- a/target/linux/brcm2708/patches-4.4/0004-BCM2835_DT-Fix-I2S-register-map.patch
+++ b/target/linux/brcm2708/patches-4.4/0004-BCM2835_DT-Fix-I2S-register-map.patch
@@ -1,4 +1,4 @@
-From 7aa3931981956896b353b58c068a941f522182bf Mon Sep 17 00:00:00 2001
+From b110393b07eb57aa234dbf25019f586a13b57792 Mon Sep 17 00:00:00 2001
From: Robert Tiemann <rtie@gmx.de>
Date: Mon, 20 Jul 2015 11:01:25 +0200
Subject: [PATCH] BCM2835_DT: Fix I2S register map
diff --git a/target/linux/brcm2708/patches-4.4/0005-irq-bcm2836-Prevent-spurious-interrupts-and-trap-the.patch b/target/linux/brcm2708/patches-4.4/0005-irq-bcm2836-Prevent-spurious-interrupts-and-trap-the.patch
index 3977b8d9b3..d42b3d2c0e 100644
--- a/target/linux/brcm2708/patches-4.4/0005-irq-bcm2836-Prevent-spurious-interrupts-and-trap-the.patch
+++ b/target/linux/brcm2708/patches-4.4/0005-irq-bcm2836-Prevent-spurious-interrupts-and-trap-the.patch
@@ -1,4 +1,4 @@
-From 71609ab22785edd13b385920b1b0c6de24adc901 Mon Sep 17 00:00:00 2001
+From 640ebb7ef07930c2f22362cadf8bfc3e46064dc0 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 4 Dec 2015 17:41:50 +0000
Subject: [PATCH] irq-bcm2836: Prevent spurious interrupts, and trap them early
diff --git a/target/linux/brcm2708/patches-4.4/0006-irqchip-bcm2835-Add-FIQ-support.patch b/target/linux/brcm2708/patches-4.4/0006-irqchip-bcm2835-Add-FIQ-support.patch
index 8ad59ed4d7..9db5a9cd0c 100644
--- a/target/linux/brcm2708/patches-4.4/0006-irqchip-bcm2835-Add-FIQ-support.patch
+++ b/target/linux/brcm2708/patches-4.4/0006-irqchip-bcm2835-Add-FIQ-support.patch
@@ -1,4 +1,4 @@
-From e34586ca8f6b346d1ee37230f26c7ad44ca15786 Mon Sep 17 00:00:00 2001
+From f9663336907eaafa48c1d6e08b78c7dccb6b8699 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Fri, 12 Jun 2015 19:01:05 +0200
Subject: [PATCH] irqchip: bcm2835: Add FIQ support
diff --git a/target/linux/brcm2708/patches-4.4/0007-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch b/target/linux/brcm2708/patches-4.4/0007-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch
index b58728de54..cb090fb700 100644
--- a/target/linux/brcm2708/patches-4.4/0007-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch
+++ b/target/linux/brcm2708/patches-4.4/0007-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch
@@ -1,4 +1,4 @@
-From e6387565d57b8d3912948dfb89d27705ef04bb89 Mon Sep 17 00:00:00 2001
+From 0d6484eb61b794ef795ff569f5f066922d554156 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Fri, 23 Oct 2015 16:26:55 +0200
Subject: [PATCH] irqchip: irq-bcm2835: Add 2836 FIQ support
diff --git a/target/linux/brcm2708/patches-4.4/0008-serial-8250-Don-t-crash-when-nr_uarts-is-0.patch b/target/linux/brcm2708/patches-4.4/0008-serial-8250-Don-t-crash-when-nr_uarts-is-0.patch
index 49ead89722..498d0fa902 100644
--- a/target/linux/brcm2708/patches-4.4/0008-serial-8250-Don-t-crash-when-nr_uarts-is-0.patch
+++ b/target/linux/brcm2708/patches-4.4/0008-serial-8250-Don-t-crash-when-nr_uarts-is-0.patch
@@ -1,4 +1,4 @@
-From 5638cf1b2b8a418553790662c414b29ced8521dd Mon Sep 17 00:00:00 2001
+From f17d5198c547b208379e523bf400e55cef88ff56 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 30 Jun 2015 14:12:42 +0100
Subject: [PATCH] serial: 8250: Don't crash when nr_uarts is 0
diff --git a/target/linux/brcm2708/patches-4.4/0009-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch b/target/linux/brcm2708/patches-4.4/0009-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch
index c9c093635b..ea8647e77f 100644
--- a/target/linux/brcm2708/patches-4.4/0009-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch
+++ b/target/linux/brcm2708/patches-4.4/0009-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch
@@ -1,4 +1,4 @@
-From d64c6c6de97acb1f18415dfeeabd7e19294830a1 Mon Sep 17 00:00:00 2001
+From 1df70a75d48a37dbeb1d4865e2484e5b02779c3f Mon Sep 17 00:00:00 2001
From: notro <notro@tronnes.org>
Date: Thu, 10 Jul 2014 13:59:47 +0200
Subject: [PATCH] pinctrl-bcm2835: Set base to 0 give expected gpio numbering
diff --git a/target/linux/brcm2708/patches-4.4/0010-pinctrl-bcm2835-Fix-interrupt-handling-for-GPIOs-28-.patch b/target/linux/brcm2708/patches-4.4/0010-pinctrl-bcm2835-Fix-interrupt-handling-for-GPIOs-28-.patch
index 44e79fad25..3f1393b009 100644
--- a/target/linux/brcm2708/patches-4.4/0010-pinctrl-bcm2835-Fix-interrupt-handling-for-GPIOs-28-.patch
+++ b/target/linux/brcm2708/patches-4.4/0010-pinctrl-bcm2835-Fix-interrupt-handling-for-GPIOs-28-.patch
@@ -1,4 +1,4 @@
-From 1d1f6e6688a282e9b091fcb56719893c72e88a3a Mon Sep 17 00:00:00 2001
+From 6027af32e9de99b2843602c3411a88793ae535e4 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 24 Feb 2015 13:40:50 +0000
Subject: [PATCH] pinctrl-bcm2835: Fix interrupt handling for GPIOs 28-31 and
diff --git a/target/linux/brcm2708/patches-4.4/0011-pinctrl-bcm2835-Only-request-the-interrupts-listed-i.patch b/target/linux/brcm2708/patches-4.4/0011-pinctrl-bcm2835-Only-request-the-interrupts-listed-i.patch
index 7ac6970a9e..5dff592d4a 100644
--- a/target/linux/brcm2708/patches-4.4/0011-pinctrl-bcm2835-Only-request-the-interrupts-listed-i.patch
+++ b/target/linux/brcm2708/patches-4.4/0011-pinctrl-bcm2835-Only-request-the-interrupts-listed-i.patch
@@ -1,4 +1,4 @@
-From d52d6e440040cd5139f9f9ef0071ea00b103302e Mon Sep 17 00:00:00 2001
+From d1758273a63b143f48c8856706a1d03f7dcb1b93 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 26 Feb 2015 09:58:22 +0000
Subject: [PATCH] pinctrl-bcm2835: Only request the interrupts listed in the
diff --git a/target/linux/brcm2708/patches-4.4/0012-spi-bcm2835-Support-pin-groups-other-than-7-11.patch b/target/linux/brcm2708/patches-4.4/0012-spi-bcm2835-Support-pin-groups-other-than-7-11.patch
index 13ef4396e9..3bd0628a39 100644
--- a/target/linux/brcm2708/patches-4.4/0012-spi-bcm2835-Support-pin-groups-other-than-7-11.patch
+++ b/target/linux/brcm2708/patches-4.4/0012-spi-bcm2835-Support-pin-groups-other-than-7-11.patch
@@ -1,4 +1,4 @@
-From 41c1cc2920df75124c931cd58f6b67ec586a5a6a Mon Sep 17 00:00:00 2001
+From f58037ac49ec4233848397cf67f84afa97a3ab38 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 24 Jun 2015 14:10:44 +0100
Subject: [PATCH] spi-bcm2835: Support pin groups other than 7-11
diff --git a/target/linux/brcm2708/patches-4.4/0013-ARM-bcm2835-Set-Serial-number-and-Revision.patch b/target/linux/brcm2708/patches-4.4/0013-ARM-bcm2835-Set-Serial-number-and-Revision.patch
index a1b4af0c9d..9c1200f61e 100644
--- a/target/linux/brcm2708/patches-4.4/0013-ARM-bcm2835-Set-Serial-number-and-Revision.patch
+++ b/target/linux/brcm2708/patches-4.4/0013-ARM-bcm2835-Set-Serial-number-and-Revision.patch
@@ -1,4 +1,4 @@
-From 3b9d28ec938020106f431f5a47ab5525b73bb0d0 Mon Sep 17 00:00:00 2001
+From 3ebee041596518ad4bb5e6dfb2faedd2dd72e045 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Wed, 3 Jun 2015 12:26:13 +0200
Subject: [PATCH] ARM: bcm2835: Set Serial number and Revision
diff --git a/target/linux/brcm2708/patches-4.4/0014-bcm2835-i2s-get-base-address-for-DMA-from-devicetree.patch b/target/linux/brcm2708/patches-4.4/0014-bcm2835-i2s-get-base-address-for-DMA-from-devicetree.patch
index 9e551b9ebc..974754d9a0 100644
--- a/target/linux/brcm2708/patches-4.4/0014-bcm2835-i2s-get-base-address-for-DMA-from-devicetree.patch
+++ b/target/linux/brcm2708/patches-4.4/0014-bcm2835-i2s-get-base-address-for-DMA-from-devicetree.patch
@@ -1,4 +1,4 @@
-From 17025015a60ffc92d09ade98131ed080bbf09106 Mon Sep 17 00:00:00 2001
+From 32530970c34f0e8e447fd9a7f8991df6f04b8ccc Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 11 Oct 2015 16:44:05 +0200
Subject: [PATCH] bcm2835-i2s: get base address for DMA from devicetree
diff --git a/target/linux/brcm2708/patches-4.4/0015-bcm2835-i2s-add-24bit-support-update-bclk_ratio-to-m.patch b/target/linux/brcm2708/patches-4.4/0015-bcm2835-i2s-add-24bit-support-update-bclk_ratio-to-m.patch
index 5afab2e6d1..b673db660c 100644
--- a/target/linux/brcm2708/patches-4.4/0015-bcm2835-i2s-add-24bit-support-update-bclk_ratio-to-m.patch
+++ b/target/linux/brcm2708/patches-4.4/0015-bcm2835-i2s-add-24bit-support-update-bclk_ratio-to-m.patch
@@ -1,4 +1,4 @@
-From fb1dbd3a7ff1ae0ccd429a4decafc882473f5d94 Mon Sep 17 00:00:00 2001
+From 962015d18b8f8dcce75ec843b5a5224c813c3362 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 11 Oct 2015 15:21:16 +0200
Subject: [PATCH] bcm2835-i2s: add 24bit support, update bclk_ratio to more
diff --git a/target/linux/brcm2708/patches-4.4/0016-bcm2835-i2s-setup-clock-only-if-CPU-is-clock-master.patch b/target/linux/brcm2708/patches-4.4/0016-bcm2835-i2s-setup-clock-only-if-CPU-is-clock-master.patch
index e61700f976..47e8021fda 100644
--- a/target/linux/brcm2708/patches-4.4/0016-bcm2835-i2s-setup-clock-only-if-CPU-is-clock-master.patch
+++ b/target/linux/brcm2708/patches-4.4/0016-bcm2835-i2s-setup-clock-only-if-CPU-is-clock-master.patch
@@ -1,4 +1,4 @@
-From 63e23a08bd0bcf782f870bacaf82404e36a6a1bd Mon Sep 17 00:00:00 2001
+From 0d7ccc03423bee3040d1abf99a9d34c701138085 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 11 Oct 2015 15:25:51 +0200
Subject: [PATCH] bcm2835-i2s: setup clock only if CPU is clock master
diff --git a/target/linux/brcm2708/patches-4.4/0017-bcm2835-i2s-Eliminate-debugfs-directory-error.patch b/target/linux/brcm2708/patches-4.4/0017-bcm2835-i2s-Eliminate-debugfs-directory-error.patch
index 306dd977b4..f2a032e3e4 100644
--- a/target/linux/brcm2708/patches-4.4/0017-bcm2835-i2s-Eliminate-debugfs-directory-error.patch
+++ b/target/linux/brcm2708/patches-4.4/0017-bcm2835-i2s-Eliminate-debugfs-directory-error.patch
@@ -1,4 +1,4 @@
-From 487c53a0c7bbf586ccc441dfc6f7021dc5f1522d Mon Sep 17 00:00:00 2001
+From c94751eae717c8d87ef234389ef4795ce1e432f5 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 11 Oct 2015 15:49:51 +0200
Subject: [PATCH] bcm2835-i2s: Eliminate debugfs directory error
diff --git a/target/linux/brcm2708/patches-4.4/0018-bcm2835-i2s-Register-PCM-device.patch b/target/linux/brcm2708/patches-4.4/0018-bcm2835-i2s-Register-PCM-device.patch
index f7470a36cb..f769947bf5 100644
--- a/target/linux/brcm2708/patches-4.4/0018-bcm2835-i2s-Register-PCM-device.patch
+++ b/target/linux/brcm2708/patches-4.4/0018-bcm2835-i2s-Register-PCM-device.patch
@@ -1,4 +1,4 @@
-From d86d8ab0405b4eecee7516670e9497ce450c1bbe Mon Sep 17 00:00:00 2001
+From 35ac836d7cbe42c15b8823b38abff66efc88806c Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 11 Oct 2015 15:35:20 +0200
Subject: [PATCH] bcm2835-i2s: Register PCM device
diff --git a/target/linux/brcm2708/patches-4.4/0019-bcm2835-i2s-Enable-MMAP-support-via-a-DT-property.patch b/target/linux/brcm2708/patches-4.4/0019-bcm2835-i2s-Enable-MMAP-support-via-a-DT-property.patch
index 6624efba47..a76d932609 100644
--- a/target/linux/brcm2708/patches-4.4/0019-bcm2835-i2s-Enable-MMAP-support-via-a-DT-property.patch
+++ b/target/linux/brcm2708/patches-4.4/0019-bcm2835-i2s-Enable-MMAP-support-via-a-DT-property.patch
@@ -1,4 +1,4 @@
-From 4d08d5e742e59e1e73787bfeca27595d5afbf1af Mon Sep 17 00:00:00 2001
+From e8e6b5aae45b269c2fcc14159894901514961161 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 11 Oct 2015 15:55:21 +0200
Subject: [PATCH] bcm2835-i2s: Enable MMAP support via a DT property
diff --git a/target/linux/brcm2708/patches-4.4/0020-dmaengine-bcm2835-Add-slave-dma-support.patch b/target/linux/brcm2708/patches-4.4/0020-dmaengine-bcm2835-Add-slave-dma-support.patch
index 651f96ea67..d8af8ffa46 100644
--- a/target/linux/brcm2708/patches-4.4/0020-dmaengine-bcm2835-Add-slave-dma-support.patch
+++ b/target/linux/brcm2708/patches-4.4/0020-dmaengine-bcm2835-Add-slave-dma-support.patch
@@ -1,4 +1,4 @@
-From c9f03ab8241d445daebd5fb8c4cf63c976460e2d Mon Sep 17 00:00:00 2001
+From d19a0acbd44ad6cd7b6deb75c48f610bbbc44c94 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Thu, 9 Apr 2015 12:34:11 +0200
Subject: [PATCH] dmaengine: bcm2835: Add slave dma support
diff --git a/target/linux/brcm2708/patches-4.4/0021-dmaengine-bcm2835-set-residue_granularity-field.patch b/target/linux/brcm2708/patches-4.4/0021-dmaengine-bcm2835-set-residue_granularity-field.patch
index 336f50d3cd..17caec5206 100644
--- a/target/linux/brcm2708/patches-4.4/0021-dmaengine-bcm2835-set-residue_granularity-field.patch
+++ b/target/linux/brcm2708/patches-4.4/0021-dmaengine-bcm2835-set-residue_granularity-field.patch
@@ -1,4 +1,4 @@
-From f4f1c7f4084eca4b826a07a43c467e2febe57f1e Mon Sep 17 00:00:00 2001
+From b289e31cd9ba63bfa054ec6584204e8ca6ee1019 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Sat, 3 Oct 2015 15:58:59 +0200
Subject: [PATCH] dmaengine: bcm2835: set residue_granularity field
diff --git a/target/linux/brcm2708/patches-4.4/0022-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch b/target/linux/brcm2708/patches-4.4/0022-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch
index 00ba9cd554..a2cbbf3ccb 100644
--- a/target/linux/brcm2708/patches-4.4/0022-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch
+++ b/target/linux/brcm2708/patches-4.4/0022-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch
@@ -1,4 +1,4 @@
-From d7714e2a4e40cbeb4e69fb7465621f2014b358d2 Mon Sep 17 00:00:00 2001
+From 1fcc178455d43657d3d7a318dd570b9a091a8708 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Sat, 3 Oct 2015 22:22:55 +0200
Subject: [PATCH] dmaengine: bcm2835: Load driver early and support legacy API
diff --git a/target/linux/brcm2708/patches-4.4/0023-bcm2835-dma-Fix-dreq-not-set-for-slave-transfers.patch b/target/linux/brcm2708/patches-4.4/0023-bcm2835-dma-Fix-dreq-not-set-for-slave-transfers.patch
index 403e2970bc..53e6f94e72 100644
--- a/target/linux/brcm2708/patches-4.4/0023-bcm2835-dma-Fix-dreq-not-set-for-slave-transfers.patch
+++ b/target/linux/brcm2708/patches-4.4/0023-bcm2835-dma-Fix-dreq-not-set-for-slave-transfers.patch
@@ -1,4 +1,4 @@
-From 93e23eca701dfbf20def2a598af43d64c39bd9b8 Mon Sep 17 00:00:00 2001
+From 79b7365ee2e49034a96061e91c4aaa3f9e37eabd Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sat, 10 Oct 2015 12:29:18 +0200
Subject: [PATCH] bcm2835-dma: Fix dreq not set for slave transfers
diff --git a/target/linux/brcm2708/patches-4.4/0024-bcm2835-dma-Limit-cyclic-transfers-on-lite-channels-.patch b/target/linux/brcm2708/patches-4.4/0024-bcm2835-dma-Limit-cyclic-transfers-on-lite-channels-.patch
index 92f1c030cd..afca933b50 100644
--- a/target/linux/brcm2708/patches-4.4/0024-bcm2835-dma-Limit-cyclic-transfers-on-lite-channels-.patch
+++ b/target/linux/brcm2708/patches-4.4/0024-bcm2835-dma-Limit-cyclic-transfers-on-lite-channels-.patch
@@ -1,4 +1,4 @@
-From fc5bc111e65b27883284591aec9db5a290665ac9 Mon Sep 17 00:00:00 2001
+From c9b92657b415bc1b855c394284efa0e33119ef61 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 11 Oct 2015 12:28:30 +0200
Subject: [PATCH] bcm2835-dma: Limit cyclic transfers on lite channels to 32k
diff --git a/target/linux/brcm2708/patches-4.4/0025-bcm2835-Add-support-for-uart1.patch b/target/linux/brcm2708/patches-4.4/0025-bcm2835-Add-support-for-uart1.patch
index d1c8941488..6f65257018 100644
--- a/target/linux/brcm2708/patches-4.4/0025-bcm2835-Add-support-for-uart1.patch
+++ b/target/linux/brcm2708/patches-4.4/0025-bcm2835-Add-support-for-uart1.patch
@@ -1,4 +1,4 @@
-From e95d949879bf632a5fa82c9a1c5607b40388484e Mon Sep 17 00:00:00 2001
+From 1f2bc712a966060a4e73d6e0742e7417877ac8ff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Sat, 15 Aug 2015 20:50:02 +0200
Subject: [PATCH] bcm2835: Add support for uart1
diff --git a/target/linux/brcm2708/patches-4.4/0026-firmware-bcm2835-Add-missing-property-tags.patch b/target/linux/brcm2708/patches-4.4/0026-firmware-bcm2835-Add-missing-property-tags.patch
index 14c3aac713..8a78408aea 100644
--- a/target/linux/brcm2708/patches-4.4/0026-firmware-bcm2835-Add-missing-property-tags.patch
+++ b/target/linux/brcm2708/patches-4.4/0026-firmware-bcm2835-Add-missing-property-tags.patch
@@ -1,4 +1,4 @@
-From 65277e76bcc581bb99f98bb69d9b603bdbfa1d98 Mon Sep 17 00:00:00 2001
+From 37faf877fc9db93893b313190f688c56f51ea1fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Fri, 26 Jun 2015 14:21:20 +0200
Subject: [PATCH] firmware: bcm2835: Add missing property tags
diff --git a/target/linux/brcm2708/patches-4.4/0027-Main-bcm2708-bcm2709-linux-port.patch b/target/linux/brcm2708/patches-4.4/0027-Main-bcm2708-bcm2709-linux-port.patch
index 766e49990f..18ffb037f6 100644
--- a/target/linux/brcm2708/patches-4.4/0027-Main-bcm2708-bcm2709-linux-port.patch
+++ b/target/linux/brcm2708/patches-4.4/0027-Main-bcm2708-bcm2709-linux-port.patch
@@ -1,4 +1,4 @@
-From cea9e735ed55e4e75819e984290cf147e9712c73 Mon Sep 17 00:00:00 2001
+From 20ae9d488adbe06ef257b7920fab756063e2cf38 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sun, 12 May 2013 12:24:19 +0100
Subject: [PATCH] Main bcm2708/bcm2709 linux port
diff --git a/target/linux/brcm2708/patches-4.4/0028-squash-include-ARCH_BCM2708-ARCH_BCM2709.patch b/target/linux/brcm2708/patches-4.4/0028-squash-include-ARCH_BCM2708-ARCH_BCM2709.patch
index 63231fab6d..676cb4b8ae 100644
--- a/target/linux/brcm2708/patches-4.4/0028-squash-include-ARCH_BCM2708-ARCH_BCM2709.patch
+++ b/target/linux/brcm2708/patches-4.4/0028-squash-include-ARCH_BCM2708-ARCH_BCM2709.patch
@@ -1,4 +1,4 @@
-From 613412454d5196c8982a3abc0820389c16599a51 Mon Sep 17 00:00:00 2001
+From 792c5b694155f203fcb2daf73be8d3096c9c579b Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 11 Nov 2015 21:01:15 +0000
Subject: [PATCH] squash: include ARCH_BCM2708 / ARCH_BCM2709
diff --git a/target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch b/target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch
index 23da36f553..5326a99c7c 100644
--- a/target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch
@@ -1,4 +1,4 @@
-From 130a06f0f8becad1e93d3dda1ce96d6e5413ee39 Mon Sep 17 00:00:00 2001
+From fceeb5c989e1adda9676270cffca3225b51a15a1 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 1 May 2013 19:46:17 +0100
Subject: [PATCH] Add dwc_otg driver
diff --git a/target/linux/brcm2708/patches-4.4/0030-bcm2708-framebuffer-driver.patch b/target/linux/brcm2708/patches-4.4/0030-bcm2708-framebuffer-driver.patch
index 18be5797ee..188df7e5fa 100644
--- a/target/linux/brcm2708/patches-4.4/0030-bcm2708-framebuffer-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0030-bcm2708-framebuffer-driver.patch
@@ -1,4 +1,4 @@
-From c634714a43035371d4035b65e67413dcf1ff0f8e Mon Sep 17 00:00:00 2001
+From b55243d8af3cc0161d2ab671226635e7a203534c Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 17 Jun 2015 17:06:34 +0100
Subject: [PATCH] bcm2708 framebuffer driver
diff --git a/target/linux/brcm2708/patches-4.4/0031-dmaengine-Add-support-for-BCM2708.patch b/target/linux/brcm2708/patches-4.4/0031-dmaengine-Add-support-for-BCM2708.patch
index 067b5ad013..3b5a63c3cd 100644
--- a/target/linux/brcm2708/patches-4.4/0031-dmaengine-Add-support-for-BCM2708.patch
+++ b/target/linux/brcm2708/patches-4.4/0031-dmaengine-Add-support-for-BCM2708.patch
@@ -1,4 +1,4 @@
-From 5fca3a9b2f0c0c928fa94368cdb767829a696ed5 Mon Sep 17 00:00:00 2001
+From 54def9a915b32cc162e77d8ce0f67da51fac5969 Mon Sep 17 00:00:00 2001
From: Florian Meier <florian.meier@koalo.de>
Date: Fri, 22 Nov 2013 14:22:53 +0100
Subject: [PATCH] dmaengine: Add support for BCM2708
diff --git a/target/linux/brcm2708/patches-4.4/0032-MMC-added-alternative-MMC-driver.patch b/target/linux/brcm2708/patches-4.4/0032-MMC-added-alternative-MMC-driver.patch
index 2c9534f19d..cdf3caaf88 100644
--- a/target/linux/brcm2708/patches-4.4/0032-MMC-added-alternative-MMC-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0032-MMC-added-alternative-MMC-driver.patch
@@ -1,4 +1,4 @@
-From 28aa7cada5d110ced59ef0d9392a7fb3121cc551 Mon Sep 17 00:00:00 2001
+From 0b0a72af564ffb47a1447a25f05354b99ff40e63 Mon Sep 17 00:00:00 2001
From: gellert <gellert@raspberrypi.org>
Date: Fri, 15 Aug 2014 16:35:06 +0100
Subject: [PATCH] MMC: added alternative MMC driver
diff --git a/target/linux/brcm2708/patches-4.4/0033-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch b/target/linux/brcm2708/patches-4.4/0033-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch
index 5ec38b2fb6..0253e43569 100644
--- a/target/linux/brcm2708/patches-4.4/0033-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch
+++ b/target/linux/brcm2708/patches-4.4/0033-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch
@@ -1,4 +1,4 @@
-From 0c9b7e17d022e45363737d67da590524416f8e3d Mon Sep 17 00:00:00 2001
+From 14e4f85ae6199d74472b35567b33a36d3dcf6428 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 25 Mar 2015 17:49:47 +0000
Subject: [PATCH] Adding bcm2835-sdhost driver, and an overlay to enable it
diff --git a/target/linux/brcm2708/patches-4.4/0034-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch b/target/linux/brcm2708/patches-4.4/0034-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch
index e9a6ed1147..48a72a020f 100644
--- a/target/linux/brcm2708/patches-4.4/0034-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch
+++ b/target/linux/brcm2708/patches-4.4/0034-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch
@@ -1,4 +1,4 @@
-From dec8e7bfb37280733ec278955f1bd8dd2bc176b8 Mon Sep 17 00:00:00 2001
+From 5941d6eccd8522090c18a68c506ab51885b955d5 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 3 Jul 2013 00:31:47 +0100
Subject: [PATCH] cma: Add vc_cma driver to enable use of CMA
diff --git a/target/linux/brcm2708/patches-4.4/0035-bcm2708-alsa-sound-driver.patch b/target/linux/brcm2708/patches-4.4/0035-bcm2708-alsa-sound-driver.patch
index f4bbcf3983..daab885c71 100644
--- a/target/linux/brcm2708/patches-4.4/0035-bcm2708-alsa-sound-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0035-bcm2708-alsa-sound-driver.patch
@@ -1,4 +1,4 @@
-From b3f75cc54e1ee4612cfb34e2a91e03e3d1923534 Mon Sep 17 00:00:00 2001
+From ccbbc7dca6f75cf9874bf5a791f5abdae9e23143 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 26 Mar 2012 22:15:50 +0100
Subject: [PATCH] bcm2708: alsa sound driver
diff --git a/target/linux/brcm2708/patches-4.4/0036-bcm2708-vchiq-driver.patch b/target/linux/brcm2708/patches-4.4/0036-bcm2708-vchiq-driver.patch
index 02929f11e6..7247fa6951 100644
--- a/target/linux/brcm2708/patches-4.4/0036-bcm2708-vchiq-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0036-bcm2708-vchiq-driver.patch
@@ -1,4 +1,4 @@
-From 9a1f0040b1f125f8729c772c1ad8e6940b923d7a Mon Sep 17 00:00:00 2001
+From 24d3397930cc8faafd020bae31a2c9f1e4682f02 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 2 Jul 2013 23:42:01 +0100
Subject: [PATCH] bcm2708 vchiq driver
diff --git a/target/linux/brcm2708/patches-4.4/0037-vc_mem-Add-vc_mem-driver.patch b/target/linux/brcm2708/patches-4.4/0037-vc_mem-Add-vc_mem-driver.patch
index ead1162c9e..59c467c302 100644
--- a/target/linux/brcm2708/patches-4.4/0037-vc_mem-Add-vc_mem-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0037-vc_mem-Add-vc_mem-driver.patch
@@ -1,4 +1,4 @@
-From bad77c41a36b52033392a19b2b6d51037f2614a5 Mon Sep 17 00:00:00 2001
+From b08bfcd6d88d7006f458e21dddabd42e53780708 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 17 Jun 2015 16:07:06 +0100
Subject: [PATCH] vc_mem: Add vc_mem driver
diff --git a/target/linux/brcm2708/patches-4.4/0038-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch b/target/linux/brcm2708/patches-4.4/0038-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch
index fd193b0e2e..1fbaddd52e 100644
--- a/target/linux/brcm2708/patches-4.4/0038-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch
+++ b/target/linux/brcm2708/patches-4.4/0038-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch
@@ -1,4 +1,4 @@
-From 6bdbcad7cce6f6a6fc02f67add6b82d3fcc9e0c6 Mon Sep 17 00:00:00 2001
+From 02b8a5c4e32b9451932a583fb98ceacd4bc0d43b Mon Sep 17 00:00:00 2001
From: Tim Gover <tgover@broadcom.com>
Date: Tue, 22 Jul 2014 15:41:04 +0100
Subject: [PATCH] vcsm: VideoCore shared memory service for BCM2835
diff --git a/target/linux/brcm2708/patches-4.4/0039-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch b/target/linux/brcm2708/patches-4.4/0039-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch
index 25a2ae76bd..e327c5a190 100644
--- a/target/linux/brcm2708/patches-4.4/0039-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch
+++ b/target/linux/brcm2708/patches-4.4/0039-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch
@@ -1,4 +1,4 @@
-From 5dc37246986844910511379a5c57ca87a50c6c0d Mon Sep 17 00:00:00 2001
+From e52d7ce66319f6687da3531b00cfec3001aec7a8 Mon Sep 17 00:00:00 2001
From: Luke Wren <luke@raspberrypi.org>
Date: Fri, 21 Aug 2015 23:14:48 +0100
Subject: [PATCH] Add /dev/gpiomem device for rootless user GPIO access
diff --git a/target/linux/brcm2708/patches-4.4/0040-Add-SMI-driver.patch b/target/linux/brcm2708/patches-4.4/0040-Add-SMI-driver.patch
index c69862fe7c..d73b0bbbfe 100644
--- a/target/linux/brcm2708/patches-4.4/0040-Add-SMI-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0040-Add-SMI-driver.patch
@@ -1,4 +1,4 @@
-From d85d7801b25872d08bd848c40da8fce973db5e46 Mon Sep 17 00:00:00 2001
+From 75b517005b8a733b84735cacfa9cdb3f301db6a0 Mon Sep 17 00:00:00 2001
From: Luke Wren <wren6991@gmail.com>
Date: Sat, 5 Sep 2015 01:14:45 +0100
Subject: [PATCH] Add SMI driver
diff --git a/target/linux/brcm2708/patches-4.4/0041-Add-SMI-NAND-driver.patch b/target/linux/brcm2708/patches-4.4/0041-Add-SMI-NAND-driver.patch
index b5fe99009f..94b4258c38 100644
--- a/target/linux/brcm2708/patches-4.4/0041-Add-SMI-NAND-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0041-Add-SMI-NAND-driver.patch
@@ -1,4 +1,4 @@
-From b1718d13dae01f04ead925c9562bf18634bbf267 Mon Sep 17 00:00:00 2001
+From 7c6a797f5ff01d8e968331eb83782ecbf2f13e6d Mon Sep 17 00:00:00 2001
From: Luke Wren <wren6991@gmail.com>
Date: Sat, 5 Sep 2015 01:16:10 +0100
Subject: [PATCH] Add SMI NAND driver
diff --git a/target/linux/brcm2708/patches-4.4/0042-lirc-added-support-for-RaspberryPi-GPIO.patch b/target/linux/brcm2708/patches-4.4/0042-lirc-added-support-for-RaspberryPi-GPIO.patch
index d9e9079b38..370d8c8e53 100644
--- a/target/linux/brcm2708/patches-4.4/0042-lirc-added-support-for-RaspberryPi-GPIO.patch
+++ b/target/linux/brcm2708/patches-4.4/0042-lirc-added-support-for-RaspberryPi-GPIO.patch
@@ -1,4 +1,4 @@
-From b4269ab1d08d22959ec26ce1d31a45a1c5e85191 Mon Sep 17 00:00:00 2001
+From 656c19b0ad2dd41ae053d766ee4bda9a09cf34e6 Mon Sep 17 00:00:00 2001
From: Aron Szabo <aron@aron.ws>
Date: Sat, 16 Jun 2012 12:15:55 +0200
Subject: [PATCH] lirc: added support for RaspberryPi GPIO
diff --git a/target/linux/brcm2708/patches-4.4/0043-Add-cpufreq-driver.patch b/target/linux/brcm2708/patches-4.4/0043-Add-cpufreq-driver.patch
index 11659f6747..6d2c2b7b19 100644
--- a/target/linux/brcm2708/patches-4.4/0043-Add-cpufreq-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0043-Add-cpufreq-driver.patch
@@ -1,4 +1,4 @@
-From f3f2bddacba23cab954a421d490bd17364e69d2d Mon Sep 17 00:00:00 2001
+From f2624ce13f5f6ba1121a8447a2a128215a62345a Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 3 Jul 2013 00:49:20 +0100
Subject: [PATCH] Add cpufreq driver
diff --git a/target/linux/brcm2708/patches-4.4/0044-Added-hwmon-thermal-driver-for-reporting-core-temper.patch b/target/linux/brcm2708/patches-4.4/0044-Added-hwmon-thermal-driver-for-reporting-core-temper.patch
index deb88d4c96..599ba4e3c0 100644
--- a/target/linux/brcm2708/patches-4.4/0044-Added-hwmon-thermal-driver-for-reporting-core-temper.patch
+++ b/target/linux/brcm2708/patches-4.4/0044-Added-hwmon-thermal-driver-for-reporting-core-temper.patch
@@ -1,4 +1,4 @@
-From 688fec3024a2648a48396168a73ada00131682e1 Mon Sep 17 00:00:00 2001
+From 97433120b60c89bd6fa524bce96c7b0779d495b6 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 26 Mar 2013 19:24:24 +0000
Subject: [PATCH] Added hwmon/thermal driver for reporting core temperature.
diff --git a/target/linux/brcm2708/patches-4.4/0045-Add-Chris-Boot-s-i2c-driver.patch b/target/linux/brcm2708/patches-4.4/0045-Add-Chris-Boot-s-i2c-driver.patch
index 21d0674c1f..3eb912c4f1 100644
--- a/target/linux/brcm2708/patches-4.4/0045-Add-Chris-Boot-s-i2c-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0045-Add-Chris-Boot-s-i2c-driver.patch
@@ -1,4 +1,4 @@
-From b78bc1bb96c2db043c3be03c1bcccefa22621543 Mon Sep 17 00:00:00 2001
+From ea9c8e134ea48cdb7cd41db3afa3d9dafd09e00c Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 17 Jun 2015 15:44:08 +0100
Subject: [PATCH] Add Chris Boot's i2c driver
diff --git a/target/linux/brcm2708/patches-4.4/0046-char-broadcom-Add-vcio-module.patch b/target/linux/brcm2708/patches-4.4/0046-char-broadcom-Add-vcio-module.patch
index 0b21588e57..7ee51cf371 100644
--- a/target/linux/brcm2708/patches-4.4/0046-char-broadcom-Add-vcio-module.patch
+++ b/target/linux/brcm2708/patches-4.4/0046-char-broadcom-Add-vcio-module.patch
@@ -1,4 +1,4 @@
-From 0fed71c0553d0bc86798f395c7e354cd132c9802 Mon Sep 17 00:00:00 2001
+From a7543fe261e31e16e8a6c1804d562556f0c1b794 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Fri, 26 Jun 2015 14:27:06 +0200
Subject: [PATCH] char: broadcom: Add vcio module
diff --git a/target/linux/brcm2708/patches-4.4/0047-firmware-bcm2835-Support-ARCH_BCM270x.patch b/target/linux/brcm2708/patches-4.4/0047-firmware-bcm2835-Support-ARCH_BCM270x.patch
index 2713d7fd76..b5bf278c41 100644
--- a/target/linux/brcm2708/patches-4.4/0047-firmware-bcm2835-Support-ARCH_BCM270x.patch
+++ b/target/linux/brcm2708/patches-4.4/0047-firmware-bcm2835-Support-ARCH_BCM270x.patch
@@ -1,4 +1,4 @@
-From 2d716ee18a62c6e8b3a2e28a225bb3484693b6d2 Mon Sep 17 00:00:00 2001
+From cf0949b356a63cb426aa2bde985f669b48912564 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Fri, 26 Jun 2015 14:25:01 +0200
Subject: [PATCH] firmware: bcm2835: Support ARCH_BCM270x
diff --git a/target/linux/brcm2708/patches-4.4/0048-bcm2835-add-v4l2-camera-device.patch b/target/linux/brcm2708/patches-4.4/0048-bcm2835-add-v4l2-camera-device.patch
index 6f59f573ab..e66b2719b3 100644
--- a/target/linux/brcm2708/patches-4.4/0048-bcm2835-add-v4l2-camera-device.patch
+++ b/target/linux/brcm2708/patches-4.4/0048-bcm2835-add-v4l2-camera-device.patch
@@ -1,4 +1,4 @@
-From b2868be5ed011e649590efdbcc6356bee4fcf257 Mon Sep 17 00:00:00 2001
+From 18383d506cc9489eb5e55bc3f7f481e82d5e33c5 Mon Sep 17 00:00:00 2001
From: Vincent Sanders <vincent.sanders@collabora.co.uk>
Date: Wed, 30 Jan 2013 12:45:18 +0000
Subject: [PATCH] bcm2835: add v4l2 camera device
diff --git a/target/linux/brcm2708/patches-4.4/0049-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch b/target/linux/brcm2708/patches-4.4/0049-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch
index 06d2a0bcf1..145348ae7b 100644
--- a/target/linux/brcm2708/patches-4.4/0049-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch
+++ b/target/linux/brcm2708/patches-4.4/0049-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch
@@ -1,4 +1,4 @@
-From 10a2bc39e76f415f9a42166ccc7af7e7b43565fc Mon Sep 17 00:00:00 2001
+From c5e1c42c941a7dbcb700d34b99e20e3f67725489 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 11 May 2015 09:00:42 +0100
Subject: [PATCH] scripts: Add mkknlimg and knlinfo scripts from tools repo
diff --git a/target/linux/brcm2708/patches-4.4/0050-fdt-Add-support-for-the-CONFIG_CMDLINE_EXTEND-option.patch b/target/linux/brcm2708/patches-4.4/0050-fdt-Add-support-for-the-CONFIG_CMDLINE_EXTEND-option.patch
index 60bed19c76..525ec8368d 100644
--- a/target/linux/brcm2708/patches-4.4/0050-fdt-Add-support-for-the-CONFIG_CMDLINE_EXTEND-option.patch
+++ b/target/linux/brcm2708/patches-4.4/0050-fdt-Add-support-for-the-CONFIG_CMDLINE_EXTEND-option.patch
@@ -1,4 +1,4 @@
-From 5e3dd32b2906cc4f07b81f18de3d4a23c417e8fc Mon Sep 17 00:00:00 2001
+From 02b9189111d560c40c1ee4252b65d1dd59244108 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 5 Dec 2014 17:26:26 +0000
Subject: [PATCH] fdt: Add support for the CONFIG_CMDLINE_EXTEND option
@@ -9,7 +9,7 @@ Subject: [PATCH] fdt: Add support for the CONFIG_CMDLINE_EXTEND option
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
-@@ -954,19 +954,38 @@ int __init early_init_dt_scan_chosen(uns
+@@ -957,19 +957,38 @@ int __init early_init_dt_scan_chosen(uns
/* Retrieve command line */
p = of_get_flat_dt_prop(node, "bootargs", &l);
diff --git a/target/linux/brcm2708/patches-4.4/0051-BCM2708-Add-core-Device-Tree-support.patch b/target/linux/brcm2708/patches-4.4/0051-BCM2708-Add-core-Device-Tree-support.patch
index 9631c93a7d..6af98654fb 100644
--- a/target/linux/brcm2708/patches-4.4/0051-BCM2708-Add-core-Device-Tree-support.patch
+++ b/target/linux/brcm2708/patches-4.4/0051-BCM2708-Add-core-Device-Tree-support.patch
@@ -1,4 +1,4 @@
-From 48b5e0d194a88c4de6956f94ddd788e126de0a77 Mon Sep 17 00:00:00 2001
+From 92872257d573e4948d857100d8e68db63c8e76c0 Mon Sep 17 00:00:00 2001
From: notro <notro@tronnes.org>
Date: Wed, 9 Jul 2014 14:46:08 +0200
Subject: [PATCH] BCM2708: Add core Device Tree support
diff --git a/target/linux/brcm2708/patches-4.4/0052-bcm2835-Match-with-BCM2708-Device-Trees.patch b/target/linux/brcm2708/patches-4.4/0052-bcm2835-Match-with-BCM2708-Device-Trees.patch
index 5d3ebc5e9d..abd74ad519 100644
--- a/target/linux/brcm2708/patches-4.4/0052-bcm2835-Match-with-BCM2708-Device-Trees.patch
+++ b/target/linux/brcm2708/patches-4.4/0052-bcm2835-Match-with-BCM2708-Device-Trees.patch
@@ -1,4 +1,4 @@
-From a8bd4a9fead66a720889c5693bf0d21608d9e2c0 Mon Sep 17 00:00:00 2001
+From 9e3c6310b7e656ef22e39fa0dfa5055171728431 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Sat, 15 Aug 2015 20:47:07 +0200
Subject: [PATCH] bcm2835: Match with BCM2708 Device Trees
diff --git a/target/linux/brcm2708/patches-4.4/0053-fbdev-add-FBIOCOPYAREA-ioctl.patch b/target/linux/brcm2708/patches-4.4/0053-fbdev-add-FBIOCOPYAREA-ioctl.patch
index 2a07c75040..8a87dd1911 100644
--- a/target/linux/brcm2708/patches-4.4/0053-fbdev-add-FBIOCOPYAREA-ioctl.patch
+++ b/target/linux/brcm2708/patches-4.4/0053-fbdev-add-FBIOCOPYAREA-ioctl.patch
@@ -1,4 +1,4 @@
-From a05a655545efe01002cf061b4373a9bb0071a302 Mon Sep 17 00:00:00 2001
+From b76321eab2ff7ba2a69eefd643a6c5e5dc917529 Mon Sep 17 00:00:00 2001
From: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Date: Mon, 17 Jun 2013 13:32:11 +0300
Subject: [PATCH] fbdev: add FBIOCOPYAREA ioctl
diff --git a/target/linux/brcm2708/patches-4.4/0057-Speed-up-console-framebuffer-imageblit-function.patch b/target/linux/brcm2708/patches-4.4/0057-Speed-up-console-framebuffer-imageblit-function.patch
index 8325ba9735..070f661a41 100644
--- a/target/linux/brcm2708/patches-4.4/0057-Speed-up-console-framebuffer-imageblit-function.patch
+++ b/target/linux/brcm2708/patches-4.4/0057-Speed-up-console-framebuffer-imageblit-function.patch
@@ -1,4 +1,4 @@
-From 4d7fd18a26cbb4a3cab0aff6ed48070e3aaf3599 Mon Sep 17 00:00:00 2001
+From d0ec0dae8be7a7181645bd8f9a849ea24f4484b0 Mon Sep 17 00:00:00 2001
From: Harm Hanemaaijer <fgenfb@yahoo.com>
Date: Thu, 20 Jun 2013 20:21:39 +0200
Subject: [PATCH] Speed up console framebuffer imageblit function
diff --git a/target/linux/brcm2708/patches-4.4/0058-Allow-mac-address-to-be-set-in-smsc95xx.patch b/target/linux/brcm2708/patches-4.4/0058-Allow-mac-address-to-be-set-in-smsc95xx.patch
index 31adff746e..0d40acb3a6 100644
--- a/target/linux/brcm2708/patches-4.4/0058-Allow-mac-address-to-be-set-in-smsc95xx.patch
+++ b/target/linux/brcm2708/patches-4.4/0058-Allow-mac-address-to-be-set-in-smsc95xx.patch
@@ -1,4 +1,4 @@
-From e681d15368e0c4515a5ee4bf238f859e8c501cf9 Mon Sep 17 00:00:00 2001
+From 534a5d5cecfd7c3e6cb18cde2dc15f5e6f1e415f Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 26 Mar 2013 17:26:38 +0000
Subject: [PATCH] Allow mac address to be set in smsc95xx
diff --git a/target/linux/brcm2708/patches-4.4/0059-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch b/target/linux/brcm2708/patches-4.4/0059-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch
index 890bd744e3..08c2c9081a 100644
--- a/target/linux/brcm2708/patches-4.4/0059-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch
+++ b/target/linux/brcm2708/patches-4.4/0059-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch
@@ -1,4 +1,4 @@
-From cab5187fbbc59808bab951b7f2736c4f0deff9fa Mon Sep 17 00:00:00 2001
+From d7a403ac584a5ed4a871c66deeb60fd887074ffc Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 8 May 2013 11:46:50 +0100
Subject: [PATCH] enabling the realtime clock 1-wire chip DS1307 and 1-wire on
diff --git a/target/linux/brcm2708/patches-4.4/0060-Added-Device-IDs-for-August-DVB-T-205.patch b/target/linux/brcm2708/patches-4.4/0060-Added-Device-IDs-for-August-DVB-T-205.patch
index 457377205a..36e4055bd7 100644
--- a/target/linux/brcm2708/patches-4.4/0060-Added-Device-IDs-for-August-DVB-T-205.patch
+++ b/target/linux/brcm2708/patches-4.4/0060-Added-Device-IDs-for-August-DVB-T-205.patch
@@ -1,4 +1,4 @@
-From c21be4772d67bc0b6bd3a59ce878b5dae705af44 Mon Sep 17 00:00:00 2001
+From 9646c6244bb4cc76369b2390b3a96d51566bea29 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 3 Jul 2013 00:54:08 +0100
Subject: [PATCH] Added Device IDs for August DVB-T 205
diff --git a/target/linux/brcm2708/patches-4.4/0061-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch b/target/linux/brcm2708/patches-4.4/0061-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch
index 72bd250b9f..81a8a62a26 100644
--- a/target/linux/brcm2708/patches-4.4/0061-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch
+++ b/target/linux/brcm2708/patches-4.4/0061-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch
@@ -1,4 +1,4 @@
-From 7106c05e5f71588e746c786f93b1fca9dcdd3c50 Mon Sep 17 00:00:00 2001
+From 64f24afea7e30d68004f0d8db7822f87859d8dac Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 18 Dec 2013 22:16:19 +0000
Subject: [PATCH] config: Enable CONFIG_MEMCG, but leave it disabled (due to
diff --git a/target/linux/brcm2708/patches-4.4/0062-ASoC-Add-support-for-PCM5102A-codec.patch b/target/linux/brcm2708/patches-4.4/0062-ASoC-Add-support-for-PCM5102A-codec.patch
index 3001849ce1..336606ee10 100644
--- a/target/linux/brcm2708/patches-4.4/0062-ASoC-Add-support-for-PCM5102A-codec.patch
+++ b/target/linux/brcm2708/patches-4.4/0062-ASoC-Add-support-for-PCM5102A-codec.patch
@@ -1,4 +1,4 @@
-From dbcc62f3ac4f3996b77cfb6b00ec26dc99f2521b Mon Sep 17 00:00:00 2001
+From 8d9e66b5c078b9677715362a48e17a55db1e0a41 Mon Sep 17 00:00:00 2001
From: Florian Meier <florian.meier@koalo.de>
Date: Fri, 22 Nov 2013 14:59:51 +0100
Subject: [PATCH] ASoC: Add support for PCM5102A codec
diff --git a/target/linux/brcm2708/patches-4.4/0063-ASoC-Add-support-for-HifiBerry-DAC.patch b/target/linux/brcm2708/patches-4.4/0063-ASoC-Add-support-for-HifiBerry-DAC.patch
index 943febc5c1..aedc55ed75 100644
--- a/target/linux/brcm2708/patches-4.4/0063-ASoC-Add-support-for-HifiBerry-DAC.patch
+++ b/target/linux/brcm2708/patches-4.4/0063-ASoC-Add-support-for-HifiBerry-DAC.patch
@@ -1,4 +1,4 @@
-From 592ac515f17d49627b6653375267bad5c4bb1e5c Mon Sep 17 00:00:00 2001
+From 9cf0b8eed930ac26384249e193c1c91044a460e1 Mon Sep 17 00:00:00 2001
From: Florian Meier <florian.meier@koalo.de>
Date: Fri, 22 Nov 2013 19:19:08 +0100
Subject: [PATCH] ASoC: Add support for HifiBerry DAC
diff --git a/target/linux/brcm2708/patches-4.4/0064-ASoC-Add-support-for-Rpi-DAC.patch b/target/linux/brcm2708/patches-4.4/0064-ASoC-Add-support-for-Rpi-DAC.patch
index 5adc0476de..a5e38c2dc8 100644
--- a/target/linux/brcm2708/patches-4.4/0064-ASoC-Add-support-for-Rpi-DAC.patch
+++ b/target/linux/brcm2708/patches-4.4/0064-ASoC-Add-support-for-Rpi-DAC.patch
@@ -1,4 +1,4 @@
-From ffd6597f0c3cff5d2171347f23b9a98d4e6fa95e Mon Sep 17 00:00:00 2001
+From 29c1cff5d670cc4f22eed035c6e584aec967c1b6 Mon Sep 17 00:00:00 2001
From: Florian Meier <florian.meier@koalo.de>
Date: Fri, 22 Nov 2013 19:21:34 +0100
Subject: [PATCH] ASoC: Add support for Rpi-DAC
diff --git a/target/linux/brcm2708/patches-4.4/0065-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch b/target/linux/brcm2708/patches-4.4/0065-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch
index b71141cc2c..5502573841 100644
--- a/target/linux/brcm2708/patches-4.4/0065-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch
+++ b/target/linux/brcm2708/patches-4.4/0065-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch
@@ -1,4 +1,4 @@
-From 34e0545c33b0f444a5dd8c066cfe37420e95db33 Mon Sep 17 00:00:00 2001
+From dca34e0a5c4f9c77cbdb24f95e780e198d64013a Mon Sep 17 00:00:00 2001
From: Daniel Matuschek <info@crazy-audio.com>
Date: Wed, 15 Jan 2014 21:41:23 +0100
Subject: [PATCH] ASoC: wm8804: Implement MCLK configuration options, add 32bit
diff --git a/target/linux/brcm2708/patches-4.4/0066-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch b/target/linux/brcm2708/patches-4.4/0066-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch
index 727e72728e..99dbf51765 100644
--- a/target/linux/brcm2708/patches-4.4/0066-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch
+++ b/target/linux/brcm2708/patches-4.4/0066-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch
@@ -1,4 +1,4 @@
-From 1d300db91ccab78593f0ea40d4e1c8a931232197 Mon Sep 17 00:00:00 2001
+From 881ed164c1e17831d21848d8fb2308d966860d82 Mon Sep 17 00:00:00 2001
From: Daniel Matuschek <info@crazy-audio.com>
Date: Wed, 15 Jan 2014 21:42:08 +0100
Subject: [PATCH] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on
diff --git a/target/linux/brcm2708/patches-4.4/0067-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch b/target/linux/brcm2708/patches-4.4/0067-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch
index f9c706798a..ba47458991 100644
--- a/target/linux/brcm2708/patches-4.4/0067-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch
+++ b/target/linux/brcm2708/patches-4.4/0067-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch
@@ -1,4 +1,4 @@
-From 0dd064b656993f40c09c055a6bef13fa023ceedf Mon Sep 17 00:00:00 2001
+From 8dc1047aba0f19791ee20957edcde1af7bb1ba0e Mon Sep 17 00:00:00 2001
From: Daniel Matuschek <info@crazy-audio.com>
Date: Thu, 16 Jan 2014 07:36:35 +0100
Subject: [PATCH] ASoC: wm8804: Set idle_bias_off to false Idle bias has been
diff --git a/target/linux/brcm2708/patches-4.4/0068-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch b/target/linux/brcm2708/patches-4.4/0068-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch
index 2c86d25ce3..5641fdfb74 100644
--- a/target/linux/brcm2708/patches-4.4/0068-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch
+++ b/target/linux/brcm2708/patches-4.4/0068-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch
@@ -1,4 +1,4 @@
-From 8a4af475fccaff7b70b3d93ef1730001a2376063 Mon Sep 17 00:00:00 2001
+From dc2bd1c4b038c4f2d921808891b69a803805d984 Mon Sep 17 00:00:00 2001
From: Gordon Garrity <gordon@iqaudio.com>
Date: Sat, 8 Mar 2014 16:56:57 +0000
Subject: [PATCH] Add IQaudIO Sound Card support for Raspberry Pi
diff --git a/target/linux/brcm2708/patches-4.4/0069-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch b/target/linux/brcm2708/patches-4.4/0069-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
index c3b599900a..7914e067b6 100644
--- a/target/linux/brcm2708/patches-4.4/0069-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
+++ b/target/linux/brcm2708/patches-4.4/0069-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
@@ -1,4 +1,4 @@
-From 8529e2130a7d67c7595746e5cf618e6058c3315c Mon Sep 17 00:00:00 2001
+From 4b8b269bc8793dd4367ed6e858bfdec4e0d2e850 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 14 Jul 2014 22:02:09 +0100
Subject: [PATCH] hid: Reduce default mouse polling interval to 60Hz
diff --git a/target/linux/brcm2708/patches-4.4/0070-Added-support-for-HiFiBerry-DAC.patch b/target/linux/brcm2708/patches-4.4/0070-Added-support-for-HiFiBerry-DAC.patch
index a6a55f3af7..018bc5a41d 100644
--- a/target/linux/brcm2708/patches-4.4/0070-Added-support-for-HiFiBerry-DAC.patch
+++ b/target/linux/brcm2708/patches-4.4/0070-Added-support-for-HiFiBerry-DAC.patch
@@ -1,4 +1,4 @@
-From aaa93fd9dee0084d0c2d9b50021fe7f2a2457fd7 Mon Sep 17 00:00:00 2001
+From f3a96a42af5565562adadb00524ad386038aafff Mon Sep 17 00:00:00 2001
From: Daniel Matuschek <info@crazy-audio.com>
Date: Mon, 4 Aug 2014 10:06:56 +0200
Subject: [PATCH] Added support for HiFiBerry DAC+
diff --git a/target/linux/brcm2708/patches-4.4/0071-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch b/target/linux/brcm2708/patches-4.4/0071-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch
index 1d71ac9fdc..5a4338be41 100644
--- a/target/linux/brcm2708/patches-4.4/0071-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch
+++ b/target/linux/brcm2708/patches-4.4/0071-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch
@@ -1,4 +1,4 @@
-From 4f718b9dbd8bd3d9ce465351463b0240116f4945 Mon Sep 17 00:00:00 2001
+From 8508fddff6dbb8b83296a4aa9edad6288b3b50bb Mon Sep 17 00:00:00 2001
From: Daniel Matuschek <info@crazy-audio.com>
Date: Mon, 4 Aug 2014 11:09:58 +0200
Subject: [PATCH] Added driver for HiFiBerry Amp amplifier add-on board
diff --git a/target/linux/brcm2708/patches-4.4/0072-Update-ds1307-driver-for-device-tree-support.patch b/target/linux/brcm2708/patches-4.4/0072-Update-ds1307-driver-for-device-tree-support.patch
index 0259d5edf1..87e44c7ed5 100644
--- a/target/linux/brcm2708/patches-4.4/0072-Update-ds1307-driver-for-device-tree-support.patch
+++ b/target/linux/brcm2708/patches-4.4/0072-Update-ds1307-driver-for-device-tree-support.patch
@@ -1,4 +1,4 @@
-From 5527e5534c58f8555d699d10d2d67afc3aa768e0 Mon Sep 17 00:00:00 2001
+From fc2758b64e4d75ae71f7a32b1a78b107d5ec84bd Mon Sep 17 00:00:00 2001
From: Ryan Coe <bluemrp9@gmail.com>
Date: Sat, 31 Jan 2015 18:25:49 -0700
Subject: [PATCH] Update ds1307 driver for device-tree support
diff --git a/target/linux/brcm2708/patches-4.4/0073-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch b/target/linux/brcm2708/patches-4.4/0073-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch
index d817298541..edd7dfac59 100644
--- a/target/linux/brcm2708/patches-4.4/0073-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch
+++ b/target/linux/brcm2708/patches-4.4/0073-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch
@@ -1,4 +1,4 @@
-From b19a2e678c297e81b8b9ab6db1f4775be1c678a8 Mon Sep 17 00:00:00 2001
+From 1d7fe535e241fb25ba677a9f152d4e233b10273b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 6 Feb 2015 13:50:57 +0000
Subject: [PATCH] BCM270x_DT: Add pwr_led, and the required "input" trigger
diff --git a/target/linux/brcm2708/patches-4.4/0074-enc28j60-Add-device-tree-compatible-string-and-an-ov.patch b/target/linux/brcm2708/patches-4.4/0074-enc28j60-Add-device-tree-compatible-string-and-an-ov.patch
index bb88376441..fe6983fa40 100644
--- a/target/linux/brcm2708/patches-4.4/0074-enc28j60-Add-device-tree-compatible-string-and-an-ov.patch
+++ b/target/linux/brcm2708/patches-4.4/0074-enc28j60-Add-device-tree-compatible-string-and-an-ov.patch
@@ -1,4 +1,4 @@
-From 2eb050c58ca0620dd91af4e49a584118fadd9398 Mon Sep 17 00:00:00 2001
+From 872df8214f904707c5adab47beed4e8bbcfd8653 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 27 Feb 2015 15:10:24 +0000
Subject: [PATCH] enc28j60: Add device tree compatible string and an overlay
diff --git a/target/linux/brcm2708/patches-4.4/0075-Add-driver-for-rpi-proto.patch b/target/linux/brcm2708/patches-4.4/0075-Add-driver-for-rpi-proto.patch
index 20f0dc36a1..8bacfb1f64 100644
--- a/target/linux/brcm2708/patches-4.4/0075-Add-driver-for-rpi-proto.patch
+++ b/target/linux/brcm2708/patches-4.4/0075-Add-driver-for-rpi-proto.patch
@@ -1,4 +1,4 @@
-From bae12047250724b26ffd0acdceeede7dfe766f52 Mon Sep 17 00:00:00 2001
+From d2f2b44e63dd67888a4d2b24a79a5d66206c9e2d Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbrodkorb@conet.de>
Date: Wed, 25 Mar 2015 09:26:17 +0100
Subject: [PATCH] Add driver for rpi-proto
diff --git a/target/linux/brcm2708/patches-4.4/0076-config-Add-default-configs.patch b/target/linux/brcm2708/patches-4.4/0076-config-Add-default-configs.patch
index 4f4934849b..0ff4bcc15a 100644
--- a/target/linux/brcm2708/patches-4.4/0076-config-Add-default-configs.patch
+++ b/target/linux/brcm2708/patches-4.4/0076-config-Add-default-configs.patch
@@ -1,4 +1,4 @@
-From b9a95c01f53d1ae5e2e5d24682d7533ee1f487a8 Mon Sep 17 00:00:00 2001
+From 7d42460d569ed603352ee1b28bfe5bc5501b3048 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 13 Apr 2015 17:16:29 +0100
Subject: [PATCH] config: Add default configs
diff --git a/target/linux/brcm2708/patches-4.4/0077-bcm2835-bcm2835_defconfig.patch b/target/linux/brcm2708/patches-4.4/0077-bcm2835-bcm2835_defconfig.patch
index 1726f5a1d4..cee7da1a6a 100644
--- a/target/linux/brcm2708/patches-4.4/0077-bcm2835-bcm2835_defconfig.patch
+++ b/target/linux/brcm2708/patches-4.4/0077-bcm2835-bcm2835_defconfig.patch
@@ -1,4 +1,4 @@
-From c06545159fe86fd45a9ff570e0a1b7cf04c2ebe0 Mon Sep 17 00:00:00 2001
+From 0b4369e0b29b2c974e7d4792e19bd8ec5a1cfe32 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Wed, 29 Apr 2015 17:24:02 +0200
Subject: [PATCH] bcm2835: bcm2835_defconfig
diff --git a/target/linux/brcm2708/patches-4.4/0078-rpi-ft5406-Add-touchscreen-driver-for-pi-LCD-display.patch b/target/linux/brcm2708/patches-4.4/0078-rpi-ft5406-Add-touchscreen-driver-for-pi-LCD-display.patch
index 960b19fc76..861b198fc1 100644
--- a/target/linux/brcm2708/patches-4.4/0078-rpi-ft5406-Add-touchscreen-driver-for-pi-LCD-display.patch
+++ b/target/linux/brcm2708/patches-4.4/0078-rpi-ft5406-Add-touchscreen-driver-for-pi-LCD-display.patch
@@ -1,4 +1,4 @@
-From 1c0f57f0ad2d226ec0d1ef1e91a38c3abdee891a Mon Sep 17 00:00:00 2001
+From e6cf054ec136973f863fb31684453c37aef9c616 Mon Sep 17 00:00:00 2001
From: Gordon Hollingworth <gordon@raspberrypi.org>
Date: Tue, 12 May 2015 14:47:56 +0100
Subject: [PATCH] rpi-ft5406: Add touchscreen driver for pi LCD display
diff --git a/target/linux/brcm2708/patches-4.4/0079-Improve-__copy_to_user-and-__copy_from_user-performa.patch b/target/linux/brcm2708/patches-4.4/0079-Improve-__copy_to_user-and-__copy_from_user-performa.patch
index 235008e2a2..3de1e63d07 100644
--- a/target/linux/brcm2708/patches-4.4/0079-Improve-__copy_to_user-and-__copy_from_user-performa.patch
+++ b/target/linux/brcm2708/patches-4.4/0079-Improve-__copy_to_user-and-__copy_from_user-performa.patch
@@ -1,4 +1,4 @@
-From 74c81d3d8233d758e3e58f9a72dd6370d08077ac Mon Sep 17 00:00:00 2001
+From ffdb5092c571c88a6d924c2c3dbf8bec9d70a3e6 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 13 Oct 2014 11:47:53 +0100
Subject: [PATCH] Improve __copy_to_user and __copy_from_user performance
diff --git a/target/linux/brcm2708/patches-4.4/0080-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch b/target/linux/brcm2708/patches-4.4/0080-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch
index d02152db49..0c7970fb3b 100644
--- a/target/linux/brcm2708/patches-4.4/0080-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch
+++ b/target/linux/brcm2708/patches-4.4/0080-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch
@@ -1,4 +1,4 @@
-From 24703d6981447867a7092997e29ac911698ec77d Mon Sep 17 00:00:00 2001
+From 1ad569f9f83546073951ea911702cf3cb18affe3 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 25 Jun 2015 12:16:11 +0100
Subject: [PATCH] gpio-poweroff: Allow it to work on Raspberry Pi
diff --git a/target/linux/brcm2708/patches-4.4/0081-spidev-Add-spidev-compatible-string-to-silence-warni.patch b/target/linux/brcm2708/patches-4.4/0081-spidev-Add-spidev-compatible-string-to-silence-warni.patch
index 875d31944f..7c5481b8f3 100644
--- a/target/linux/brcm2708/patches-4.4/0081-spidev-Add-spidev-compatible-string-to-silence-warni.patch
+++ b/target/linux/brcm2708/patches-4.4/0081-spidev-Add-spidev-compatible-string-to-silence-warni.patch
@@ -1,4 +1,4 @@
-From 962e7c5c04075063b86f389043dcfe1ac948a868 Mon Sep 17 00:00:00 2001
+From 8d428c18ab557bb00c6fb6d61d8e20a3c1602f32 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 14 Jul 2015 10:26:09 +0100
Subject: [PATCH] spidev: Add "spidev" compatible string to silence warning
diff --git a/target/linux/brcm2708/patches-4.4/0082-scripts-dtc-Add-overlay-support.patch b/target/linux/brcm2708/patches-4.4/0082-scripts-dtc-Add-overlay-support.patch
index 31c02d61ab..51adf93486 100644
--- a/target/linux/brcm2708/patches-4.4/0082-scripts-dtc-Add-overlay-support.patch
+++ b/target/linux/brcm2708/patches-4.4/0082-scripts-dtc-Add-overlay-support.patch
@@ -1,4 +1,4 @@
-From cd035dbd2c541ab1f517f79d6b7c54948a91ed8b Mon Sep 17 00:00:00 2001
+From 546cd6ad07064b850fe069f84e28da11526cbc3f Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 14 Jul 2015 17:00:18 +0100
Subject: [PATCH] scripts/dtc: Add overlay support
diff --git a/target/linux/brcm2708/patches-4.4/0083-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch b/target/linux/brcm2708/patches-4.4/0083-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch
index 7d491d5149..e3101e0131 100644
--- a/target/linux/brcm2708/patches-4.4/0083-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0083-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch
@@ -1,4 +1,4 @@
-From 2b475b95bcf5487bd23b7a636ce36fae98f6e81a Mon Sep 17 00:00:00 2001
+From 2aea8eec985fba410f063532210f5757d494bc19 Mon Sep 17 00:00:00 2001
From: Phil Elwell <pelwell@users.noreply.github.com>
Date: Tue, 14 Jul 2015 14:32:47 +0100
Subject: [PATCH] mfd: Add Raspberry Pi Sense HAT core driver
diff --git a/target/linux/brcm2708/patches-4.4/0084-RaspiDAC3-support.patch b/target/linux/brcm2708/patches-4.4/0084-RaspiDAC3-support.patch
index b1870462f4..0cc285632c 100644
--- a/target/linux/brcm2708/patches-4.4/0084-RaspiDAC3-support.patch
+++ b/target/linux/brcm2708/patches-4.4/0084-RaspiDAC3-support.patch
@@ -1,4 +1,4 @@
-From 89afb4f891b10c2f736cfac22f274e33ebc5256e Mon Sep 17 00:00:00 2001
+From 08fec50dc8b898f329d1a44eedc1872895c195d6 Mon Sep 17 00:00:00 2001
From: Jan Grulich <jan@grulich.eu>
Date: Mon, 24 Aug 2015 16:03:47 +0100
Subject: [PATCH] RaspiDAC3 support
diff --git a/target/linux/brcm2708/patches-4.4/0085-tpa6130a2-Add-headphone-switch-control.patch b/target/linux/brcm2708/patches-4.4/0085-tpa6130a2-Add-headphone-switch-control.patch
index aca4d75103..6d0803c14d 100644
--- a/target/linux/brcm2708/patches-4.4/0085-tpa6130a2-Add-headphone-switch-control.patch
+++ b/target/linux/brcm2708/patches-4.4/0085-tpa6130a2-Add-headphone-switch-control.patch
@@ -1,4 +1,4 @@
-From d182e9b8453b663bb0c75f73e1791bf78f2d4bcc Mon Sep 17 00:00:00 2001
+From fdc3eec5500e9a443609856afa4f7b1acf7440ea Mon Sep 17 00:00:00 2001
From: Jan Grulich <jan@grulich.eu>
Date: Mon, 24 Aug 2015 16:02:34 +0100
Subject: [PATCH] tpa6130a2: Add headphone switch control
diff --git a/target/linux/brcm2708/patches-4.4/0086-irq-bcm2835-Fix-building-with-2708.patch b/target/linux/brcm2708/patches-4.4/0086-irq-bcm2835-Fix-building-with-2708.patch
index edd36602d7..7192bb879e 100644
--- a/target/linux/brcm2708/patches-4.4/0086-irq-bcm2835-Fix-building-with-2708.patch
+++ b/target/linux/brcm2708/patches-4.4/0086-irq-bcm2835-Fix-building-with-2708.patch
@@ -1,4 +1,4 @@
-From 80bd42a96b7c6a20219803609651acd9e49f4db6 Mon Sep 17 00:00:00 2001
+From 3fd3bb6b780df4b923bfdb167313ee2ab359b741 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 28 Sep 2015 23:38:59 +0100
Subject: [PATCH] irq-bcm2835: Fix building with 2708
diff --git a/target/linux/brcm2708/patches-4.4/0087-rpi_display-add-backlight-driver-and-overlay.patch b/target/linux/brcm2708/patches-4.4/0087-rpi_display-add-backlight-driver-and-overlay.patch
index db292ccd5c..15604d87e0 100644
--- a/target/linux/brcm2708/patches-4.4/0087-rpi_display-add-backlight-driver-and-overlay.patch
+++ b/target/linux/brcm2708/patches-4.4/0087-rpi_display-add-backlight-driver-and-overlay.patch
@@ -1,4 +1,4 @@
-From a8124cba46bd8d4d8fdf9e09fe3046b01ff21c42 Mon Sep 17 00:00:00 2001
+From df54a53fe53d15568160b7b975ba376bad83fc47 Mon Sep 17 00:00:00 2001
From: P33M <P33M@github.com>
Date: Wed, 21 Oct 2015 14:55:21 +0100
Subject: [PATCH] rpi_display: add backlight driver and overlay
diff --git a/target/linux/brcm2708/patches-4.4/0088-bcm2835-dma-Fix-up-convert-to-DMA-pool.patch b/target/linux/brcm2708/patches-4.4/0088-bcm2835-dma-Fix-up-convert-to-DMA-pool.patch
index ef15b9ecec..cbc12414db 100644
--- a/target/linux/brcm2708/patches-4.4/0088-bcm2835-dma-Fix-up-convert-to-DMA-pool.patch
+++ b/target/linux/brcm2708/patches-4.4/0088-bcm2835-dma-Fix-up-convert-to-DMA-pool.patch
@@ -1,4 +1,4 @@
-From 7e7500431515d41e1498cef0984ef6f9b91cac67 Mon Sep 17 00:00:00 2001
+From 073ad36caa6710db3a90cf2d1214c418cfa47644 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Mon, 16 Nov 2015 14:05:35 +0000
Subject: [PATCH] bcm2835-dma: Fix up convert to DMA pool
diff --git a/target/linux/brcm2708/patches-4.4/0089-scripts-Multi-platform-support-for-mkknlimg-and-knli.patch b/target/linux/brcm2708/patches-4.4/0089-scripts-Multi-platform-support-for-mkknlimg-and-knli.patch
index a3bd0a0c09..09b3ed6f4d 100644
--- a/target/linux/brcm2708/patches-4.4/0089-scripts-Multi-platform-support-for-mkknlimg-and-knli.patch
+++ b/target/linux/brcm2708/patches-4.4/0089-scripts-Multi-platform-support-for-mkknlimg-and-knli.patch
@@ -1,4 +1,4 @@
-From 93ede86bcccc686cdc933e0711289b0312f0361a Mon Sep 17 00:00:00 2001
+From aa3c95a513a7407550c304180ed4951cbd607a6c Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 11 Nov 2015 11:38:59 +0000
Subject: [PATCH] scripts: Multi-platform support for mkknlimg and knlinfo
diff --git a/target/linux/brcm2708/patches-4.4/0090-drm-vc4-Add-suport-for-3D-rendering-using-the-V3D-en.patch b/target/linux/brcm2708/patches-4.4/0090-drm-vc4-Add-suport-for-3D-rendering-using-the-V3D-en.patch
index c3ca12800d..c0de2881f3 100644
--- a/target/linux/brcm2708/patches-4.4/0090-drm-vc4-Add-suport-for-3D-rendering-using-the-V3D-en.patch
+++ b/target/linux/brcm2708/patches-4.4/0090-drm-vc4-Add-suport-for-3D-rendering-using-the-V3D-en.patch
@@ -1,4 +1,4 @@
-From a70ea1cd22e9b4e7278dfea3b2d6fb87e8902ca3 Mon Sep 17 00:00:00 2001
+From 5009df0a7714100a74d455893485ea9a8dd8a48d Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 2 Mar 2015 13:01:12 -0800
Subject: [PATCH] drm/vc4: Add suport for 3D rendering using the V3D engine.
diff --git a/target/linux/brcm2708/patches-4.4/0091-drm-vc4-Force-HDMI-to-connected.patch b/target/linux/brcm2708/patches-4.4/0091-drm-vc4-Force-HDMI-to-connected.patch
index 00a22d384e..9697de91d6 100644
--- a/target/linux/brcm2708/patches-4.4/0091-drm-vc4-Force-HDMI-to-connected.patch
+++ b/target/linux/brcm2708/patches-4.4/0091-drm-vc4-Force-HDMI-to-connected.patch
@@ -1,4 +1,4 @@
-From 1c356bdfac710d5427cfeac2ce2216d0bb17a6db Mon Sep 17 00:00:00 2001
+From ea89a4c8bf0456bffb86303180c5c77bea9544ba Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 14 Oct 2015 11:32:14 -0700
Subject: [PATCH] drm/vc4: Force HDMI to connected.
diff --git a/target/linux/brcm2708/patches-4.4/0092-drm-vc4-bo-cache-locking-fixes.patch b/target/linux/brcm2708/patches-4.4/0092-drm-vc4-bo-cache-locking-fixes.patch
index df465b4178..a77d8f3762 100644
--- a/target/linux/brcm2708/patches-4.4/0092-drm-vc4-bo-cache-locking-fixes.patch
+++ b/target/linux/brcm2708/patches-4.4/0092-drm-vc4-bo-cache-locking-fixes.patch
@@ -1,4 +1,4 @@
-From 99cab11df7185247a24977d8cbcf5d660d0f861b Mon Sep 17 00:00:00 2001
+From cc7b77efeca4e1c56f3634618cf152f8dc2c0a8d Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 19 Oct 2015 08:23:18 -0700
Subject: [PATCH] drm/vc4: bo cache locking fixes.
diff --git a/target/linux/brcm2708/patches-4.4/0093-drm-vc4-bo-cache-locking-cleanup.patch b/target/linux/brcm2708/patches-4.4/0093-drm-vc4-bo-cache-locking-cleanup.patch
index b0ae22f807..a5f9d5d560 100644
--- a/target/linux/brcm2708/patches-4.4/0093-drm-vc4-bo-cache-locking-cleanup.patch
+++ b/target/linux/brcm2708/patches-4.4/0093-drm-vc4-bo-cache-locking-cleanup.patch
@@ -1,4 +1,4 @@
-From beac608ce63d6537a89f3de8080a1c2d16aa1a4c Mon Sep 17 00:00:00 2001
+From f8b577f45825b0adbad112489f01a3bf62298b2c Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 19 Oct 2015 08:29:41 -0700
Subject: [PATCH] drm/vc4: bo cache locking cleanup.
diff --git a/target/linux/brcm2708/patches-4.4/0094-drm-vc4-Use-job_lock-to-protect-seqno_cb_list.patch b/target/linux/brcm2708/patches-4.4/0094-drm-vc4-Use-job_lock-to-protect-seqno_cb_list.patch
index 4a29fc15ec..3dff8a363f 100644
--- a/target/linux/brcm2708/patches-4.4/0094-drm-vc4-Use-job_lock-to-protect-seqno_cb_list.patch
+++ b/target/linux/brcm2708/patches-4.4/0094-drm-vc4-Use-job_lock-to-protect-seqno_cb_list.patch
@@ -1,4 +1,4 @@
-From 454b9dabe51753598732a2d91f742abdd82f3b18 Mon Sep 17 00:00:00 2001
+From f3bf16818c042a794181a0f60f25a643fe66c72e Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 19 Oct 2015 08:32:24 -0700
Subject: [PATCH] drm/vc4: Use job_lock to protect seqno_cb_list.
diff --git a/target/linux/brcm2708/patches-4.4/0095-drm-vc4-Drop-struct_mutex-around-CL-validation.patch b/target/linux/brcm2708/patches-4.4/0095-drm-vc4-Drop-struct_mutex-around-CL-validation.patch
index 0cf7654920..08c0010e02 100644
--- a/target/linux/brcm2708/patches-4.4/0095-drm-vc4-Drop-struct_mutex-around-CL-validation.patch
+++ b/target/linux/brcm2708/patches-4.4/0095-drm-vc4-Drop-struct_mutex-around-CL-validation.patch
@@ -1,4 +1,4 @@
-From 72634a2adb667d991249e66e691878cd7e7722a0 Mon Sep 17 00:00:00 2001
+From 775a3408d94a474101066ac8dd8939a4cd5c793a Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 19 Oct 2015 08:44:35 -0700
Subject: [PATCH] drm/vc4: Drop struct_mutex around CL validation.
diff --git a/target/linux/brcm2708/patches-4.4/0096-drm-vc4-Drop-struct_mutex-around-CL-validation.patch b/target/linux/brcm2708/patches-4.4/0096-drm-vc4-Drop-struct_mutex-around-CL-validation.patch
index 98412c140e..e2575d20be 100644
--- a/target/linux/brcm2708/patches-4.4/0096-drm-vc4-Drop-struct_mutex-around-CL-validation.patch
+++ b/target/linux/brcm2708/patches-4.4/0096-drm-vc4-Drop-struct_mutex-around-CL-validation.patch
@@ -1,4 +1,4 @@
-From 81fcdac0b54488a1fea35a0fe2e799511888fa84 Mon Sep 17 00:00:00 2001
+From 08d3b4a8535a142d79c30fe6a558ac8c97de11f1 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 19 Oct 2015 08:44:35 -0700
Subject: [PATCH] drm/vc4: Drop struct_mutex around CL validation.
diff --git a/target/linux/brcm2708/patches-4.4/0097-drm-vc4-Add-support-for-more-display-plane-formats.patch b/target/linux/brcm2708/patches-4.4/0097-drm-vc4-Add-support-for-more-display-plane-formats.patch
index 6f0ad8aef8..c738713612 100644
--- a/target/linux/brcm2708/patches-4.4/0097-drm-vc4-Add-support-for-more-display-plane-formats.patch
+++ b/target/linux/brcm2708/patches-4.4/0097-drm-vc4-Add-support-for-more-display-plane-formats.patch
@@ -1,4 +1,4 @@
-From 593759c954e9ac7b237bb4e2136a12952ae107d0 Mon Sep 17 00:00:00 2001
+From b7c383a85d432fd5f4fdc41cda64200543cb2176 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 20 Oct 2015 13:59:15 +0100
Subject: [PATCH] drm/vc4: Add support for more display plane formats.
diff --git a/target/linux/brcm2708/patches-4.4/0098-drm-vc4-No-need-to-stop-the-stopped-threads.patch b/target/linux/brcm2708/patches-4.4/0098-drm-vc4-No-need-to-stop-the-stopped-threads.patch
index 18dffd6d8a..088b3cc5bb 100644
--- a/target/linux/brcm2708/patches-4.4/0098-drm-vc4-No-need-to-stop-the-stopped-threads.patch
+++ b/target/linux/brcm2708/patches-4.4/0098-drm-vc4-No-need-to-stop-the-stopped-threads.patch
@@ -1,4 +1,4 @@
-From ab2cd74a31d3da208cc6264ab79c1c0ee503498d Mon Sep 17 00:00:00 2001
+From 8591fab92df5153be99548dbdd9b1fcb075a7924 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 23 Oct 2015 12:31:56 +0100
Subject: [PATCH] drm/vc4: No need to stop the stopped threads.
diff --git a/target/linux/brcm2708/patches-4.4/0099-drm-vc4-Remove-extra-barrier-s-aroudn-CTnCA-CTnEA-se.patch b/target/linux/brcm2708/patches-4.4/0099-drm-vc4-Remove-extra-barrier-s-aroudn-CTnCA-CTnEA-se.patch
index 432a60ebf4..3e3a4edacb 100644
--- a/target/linux/brcm2708/patches-4.4/0099-drm-vc4-Remove-extra-barrier-s-aroudn-CTnCA-CTnEA-se.patch
+++ b/target/linux/brcm2708/patches-4.4/0099-drm-vc4-Remove-extra-barrier-s-aroudn-CTnCA-CTnEA-se.patch
@@ -1,4 +1,4 @@
-From 7ab57c24a8c094163c2a5da180edbba0c45b5765 Mon Sep 17 00:00:00 2001
+From 77d99c047cae1413a2a5f2aa2f0a0723388d9e7b Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 23 Oct 2015 12:33:43 +0100
Subject: [PATCH] drm/vc4: Remove extra barrier()s aroudn CTnCA/CTnEA setup.
diff --git a/target/linux/brcm2708/patches-4.4/0100-drm-vc4-Fix-a-typo-in-a-V3D-debug-register.patch b/target/linux/brcm2708/patches-4.4/0100-drm-vc4-Fix-a-typo-in-a-V3D-debug-register.patch
index e15cae83bc..15bbbff84c 100644
--- a/target/linux/brcm2708/patches-4.4/0100-drm-vc4-Fix-a-typo-in-a-V3D-debug-register.patch
+++ b/target/linux/brcm2708/patches-4.4/0100-drm-vc4-Fix-a-typo-in-a-V3D-debug-register.patch
@@ -1,4 +1,4 @@
-From b1cfa411e68e4afc1d8bedda4ae1924108a5c2fa Mon Sep 17 00:00:00 2001
+From bf7d47d5a691a348dcbc884c35e9336ae4ad5d77 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 23 Oct 2015 14:57:22 +0100
Subject: [PATCH] drm/vc4: Fix a typo in a V3D debug register.
diff --git a/target/linux/brcm2708/patches-4.4/0101-drm-vc4-Enable-VC4-modules-and-increase-CMA-size-wit.patch b/target/linux/brcm2708/patches-4.4/0101-drm-vc4-Enable-VC4-modules-and-increase-CMA-size-wit.patch
index 5cf4a64036..f8ed0f1f84 100644
--- a/target/linux/brcm2708/patches-4.4/0101-drm-vc4-Enable-VC4-modules-and-increase-CMA-size-wit.patch
+++ b/target/linux/brcm2708/patches-4.4/0101-drm-vc4-Enable-VC4-modules-and-increase-CMA-size-wit.patch
@@ -1,4 +1,4 @@
-From 7a4238c79a815c0cb87eecb30897f6710f5e4a82 Mon Sep 17 00:00:00 2001
+From e426c18fa0b44ddf9c059e4c0288fbcb0c1b7acf Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 2 Nov 2015 17:07:33 +0000
Subject: [PATCH] drm/vc4: Enable VC4 modules, and increase CMA size with
diff --git a/target/linux/brcm2708/patches-4.4/0102-squash-fixups.patch b/target/linux/brcm2708/patches-4.4/0102-squash-fixups.patch
index f9046563b4..ee1f5df472 100644
--- a/target/linux/brcm2708/patches-4.4/0102-squash-fixups.patch
+++ b/target/linux/brcm2708/patches-4.4/0102-squash-fixups.patch
@@ -1,4 +1,4 @@
-From 505327ef0c6712565139bfbae6fde8c881566088 Mon Sep 17 00:00:00 2001
+From 4572e750b39f33337337565be5e820aabcf79608 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 18 Nov 2015 18:29:58 +0000
Subject: [PATCH] squash: fixups
diff --git a/target/linux/brcm2708/patches-4.4/0103-squash-add-missing-vc4-kms-v3d-overlay.dtb-to-makefi.patch b/target/linux/brcm2708/patches-4.4/0103-squash-add-missing-vc4-kms-v3d-overlay.dtb-to-makefi.patch
index ee54a40298..e249d6cc35 100644
--- a/target/linux/brcm2708/patches-4.4/0103-squash-add-missing-vc4-kms-v3d-overlay.dtb-to-makefi.patch
+++ b/target/linux/brcm2708/patches-4.4/0103-squash-add-missing-vc4-kms-v3d-overlay.dtb-to-makefi.patch
@@ -1,4 +1,4 @@
-From fd632236b26e841d032acc5fce6cdd4d50780daa Mon Sep 17 00:00:00 2001
+From bd8a6a92307f8ab297904777b9d8fc9db86472c9 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 18 Nov 2015 20:26:03 +0000
Subject: [PATCH] squash: add missing vc4-kms-v3d-overlay.dtb to makefile
diff --git a/target/linux/brcm2708/patches-4.4/0104-clk-bcm2835-Also-build-the-driver-for-downstream-ker.patch b/target/linux/brcm2708/patches-4.4/0104-clk-bcm2835-Also-build-the-driver-for-downstream-ker.patch
index 3cf0524c70..91f43db57d 100644
--- a/target/linux/brcm2708/patches-4.4/0104-clk-bcm2835-Also-build-the-driver-for-downstream-ker.patch
+++ b/target/linux/brcm2708/patches-4.4/0104-clk-bcm2835-Also-build-the-driver-for-downstream-ker.patch
@@ -1,4 +1,4 @@
-From d8d6facbd16527ccc11a926e769ec3e86f60dcdb Mon Sep 17 00:00:00 2001
+From e339d872e8c50264bf026a09d521dfb20f463c55 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 12 Oct 2015 11:23:34 -0700
Subject: [PATCH] clk: bcm2835: Also build the driver for downstream kernels.
diff --git a/target/linux/brcm2708/patches-4.4/0105-dts-Added-overlay-for-gpio_ir_recv-driver.patch b/target/linux/brcm2708/patches-4.4/0105-dts-Added-overlay-for-gpio_ir_recv-driver.patch
index da3fcce9fa..4a5f37a61d 100644
--- a/target/linux/brcm2708/patches-4.4/0105-dts-Added-overlay-for-gpio_ir_recv-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0105-dts-Added-overlay-for-gpio_ir_recv-driver.patch
@@ -1,4 +1,4 @@
-From d47719348c1c616d8ffa42d9ae8827147c0251ea Mon Sep 17 00:00:00 2001
+From 95901c883fd6a5220e0aee84a9f52179d6410a1d Mon Sep 17 00:00:00 2001
From: Holger Steinhaus <hsteinhaus@gmx.de>
Date: Sat, 14 Nov 2015 18:37:43 +0100
Subject: [PATCH] dts: Added overlay for gpio_ir_recv driver
diff --git a/target/linux/brcm2708/patches-4.4/0106-Build-i2c_gpio-module-and-add-a-device-tree-overlay-.patch b/target/linux/brcm2708/patches-4.4/0106-Build-i2c_gpio-module-and-add-a-device-tree-overlay-.patch
index 5b3a401df0..f01584ec28 100644
--- a/target/linux/brcm2708/patches-4.4/0106-Build-i2c_gpio-module-and-add-a-device-tree-overlay-.patch
+++ b/target/linux/brcm2708/patches-4.4/0106-Build-i2c_gpio-module-and-add-a-device-tree-overlay-.patch
@@ -1,4 +1,4 @@
-From 85b8ee017f92d4aa0e004e01878cab3ba5b88851 Mon Sep 17 00:00:00 2001
+From c8d4cf878f12987c7fda5ac6bfe85168a24dc40a Mon Sep 17 00:00:00 2001
From: Alistair Buxton <a.j.buxton@gmail.com>
Date: Sun, 1 Nov 2015 22:27:56 +0000
Subject: [PATCH] Build i2c_gpio module and add a device tree overlay to
diff --git a/target/linux/brcm2708/patches-4.4/0107-New-overlay-for-PiScreen2r.patch b/target/linux/brcm2708/patches-4.4/0107-New-overlay-for-PiScreen2r.patch
index 94bb91f37b..0a2e8a64f2 100644
--- a/target/linux/brcm2708/patches-4.4/0107-New-overlay-for-PiScreen2r.patch
+++ b/target/linux/brcm2708/patches-4.4/0107-New-overlay-for-PiScreen2r.patch
@@ -1,4 +1,4 @@
-From 1e78b98d827b57373b0a984af0ceb21e576b6037 Mon Sep 17 00:00:00 2001
+From 4dbd55cb96ca68e96e9b5f4b38891305c5ef1b13 Mon Sep 17 00:00:00 2001
From: mwilliams03 <mark.mwilliams@gmail.com>
Date: Sun, 18 Oct 2015 17:07:24 -0700
Subject: [PATCH] New overlay for PiScreen2r
diff --git a/target/linux/brcm2708/patches-4.4/0108-dts-Added-overlay-for-Adafruit-PiTFT-2.8-capacitive-.patch b/target/linux/brcm2708/patches-4.4/0108-dts-Added-overlay-for-Adafruit-PiTFT-2.8-capacitive-.patch
index 3deca391b1..76cdcca0fb 100644
--- a/target/linux/brcm2708/patches-4.4/0108-dts-Added-overlay-for-Adafruit-PiTFT-2.8-capacitive-.patch
+++ b/target/linux/brcm2708/patches-4.4/0108-dts-Added-overlay-for-Adafruit-PiTFT-2.8-capacitive-.patch
@@ -1,4 +1,4 @@
-From cd12f8bd219b60685803c427847909f5151d8143 Mon Sep 17 00:00:00 2001
+From b69e933e051a52e91c1b0acf8d0edc132b6de10e Mon Sep 17 00:00:00 2001
From: Ondrej Wisniewski <ondrej.wisniewski@gmail.com>
Date: Fri, 6 Nov 2015 15:01:28 +0100
Subject: [PATCH] dts: Added overlay for Adafruit PiTFT 2.8" capacitive touch
diff --git a/target/linux/brcm2708/patches-4.4/0109-Add-support-for-the-HiFiBerry-DAC-Pro.patch b/target/linux/brcm2708/patches-4.4/0109-Add-support-for-the-HiFiBerry-DAC-Pro.patch
index cce82ef422..dc31d137a9 100644
--- a/target/linux/brcm2708/patches-4.4/0109-Add-support-for-the-HiFiBerry-DAC-Pro.patch
+++ b/target/linux/brcm2708/patches-4.4/0109-Add-support-for-the-HiFiBerry-DAC-Pro.patch
@@ -1,4 +1,4 @@
-From bc4c561b1b11b068263addb6ca5055136859cc5e Mon Sep 17 00:00:00 2001
+From 0672f5739873fe7c7513a2b1ee4422bab906bc77 Mon Sep 17 00:00:00 2001
From: Stuart MacLean <stuart@hifiberry.com>
Date: Fri, 2 Oct 2015 15:12:59 +0100
Subject: [PATCH] Add support for the HiFiBerry DAC+ Pro.
diff --git a/target/linux/brcm2708/patches-4.4/0110-BCM270X_DT-Add-at86rf233-overlay.patch b/target/linux/brcm2708/patches-4.4/0110-BCM270X_DT-Add-at86rf233-overlay.patch
index 614ab0c1a3..728bf1ffaf 100644
--- a/target/linux/brcm2708/patches-4.4/0110-BCM270X_DT-Add-at86rf233-overlay.patch
+++ b/target/linux/brcm2708/patches-4.4/0110-BCM270X_DT-Add-at86rf233-overlay.patch
@@ -1,4 +1,4 @@
-From c952f560bf95867368542c0f2e46abe536ad9afc Mon Sep 17 00:00:00 2001
+From bab0eadfe38c5ef41da44d7bddd5c1940fb21444 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 5 Oct 2015 10:47:45 +0100
Subject: [PATCH] BCM270X_DT: Add at86rf233 overlay
diff --git a/target/linux/brcm2708/patches-4.4/0111-mm-Remove-the-PFN-busy-warning.patch b/target/linux/brcm2708/patches-4.4/0111-mm-Remove-the-PFN-busy-warning.patch
index d2e3547312..f643ec883c 100644
--- a/target/linux/brcm2708/patches-4.4/0111-mm-Remove-the-PFN-busy-warning.patch
+++ b/target/linux/brcm2708/patches-4.4/0111-mm-Remove-the-PFN-busy-warning.patch
@@ -1,4 +1,4 @@
-From daf482fad156e7bf39e3e2a26183452068796e7d Mon Sep 17 00:00:00 2001
+From 25b689e947f8607f961d12f3cb51c1c52394a71c Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 18 Dec 2014 16:07:15 -0800
Subject: [PATCH] mm: Remove the PFN busy warning
diff --git a/target/linux/brcm2708/patches-4.4/0112-drm-Put-an-optional-field-in-the-driver-struct-for-G.patch b/target/linux/brcm2708/patches-4.4/0112-drm-Put-an-optional-field-in-the-driver-struct-for-G.patch
index 91694add77..7fbaa27ca2 100644
--- a/target/linux/brcm2708/patches-4.4/0112-drm-Put-an-optional-field-in-the-driver-struct-for-G.patch
+++ b/target/linux/brcm2708/patches-4.4/0112-drm-Put-an-optional-field-in-the-driver-struct-for-G.patch
@@ -1,4 +1,4 @@
-From a1fbf2a0424262c6f2d974aa5a6e71d47288e1a8 Mon Sep 17 00:00:00 2001
+From 997e91885e700a7b175c98f0e64670ed4fd57bc0 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 19 Nov 2014 12:06:38 -0800
Subject: [PATCH] drm: Put an optional field in the driver struct for GEM obj
diff --git a/target/linux/brcm2708/patches-4.4/0113-drm-vc4-Add-an-interface-for-capturing-the-GPU-state.patch b/target/linux/brcm2708/patches-4.4/0113-drm-vc4-Add-an-interface-for-capturing-the-GPU-state.patch
index 16dbe75b43..aaaf38ede8 100644
--- a/target/linux/brcm2708/patches-4.4/0113-drm-vc4-Add-an-interface-for-capturing-the-GPU-state.patch
+++ b/target/linux/brcm2708/patches-4.4/0113-drm-vc4-Add-an-interface-for-capturing-the-GPU-state.patch
@@ -1,4 +1,4 @@
-From 66b424ecf55290f394d004e13f800bec1b44a87a Mon Sep 17 00:00:00 2001
+From 4deea5f5ad38d8b398355a636b9113150ca9da9f Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 30 Oct 2015 10:09:02 -0700
Subject: [PATCH] drm/vc4: Add an interface for capturing the GPU state after a
diff --git a/target/linux/brcm2708/patches-4.4/0114-drm-vc4-Update-a-bunch-of-code-to-match-upstream-sub.patch b/target/linux/brcm2708/patches-4.4/0114-drm-vc4-Update-a-bunch-of-code-to-match-upstream-sub.patch
index d99aca9b1e..29321c338e 100644
--- a/target/linux/brcm2708/patches-4.4/0114-drm-vc4-Update-a-bunch-of-code-to-match-upstream-sub.patch
+++ b/target/linux/brcm2708/patches-4.4/0114-drm-vc4-Update-a-bunch-of-code-to-match-upstream-sub.patch
@@ -1,4 +1,4 @@
-From c6f6dec9e9b7956d7261f11caf6e2a0b78a54d89 Mon Sep 17 00:00:00 2001
+From dd5e9636e87ee08b38b28626fc862099e5a038cf Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 4 Dec 2015 11:35:34 -0800
Subject: [PATCH] drm/vc4: Update a bunch of code to match upstream submission.
diff --git a/target/linux/brcm2708/patches-4.4/0115-drm-Use-the-driver-s-gem_object_free-function-from-C.patch b/target/linux/brcm2708/patches-4.4/0115-drm-Use-the-driver-s-gem_object_free-function-from-C.patch
index f7eaf9152b..a5924a3bcf 100644
--- a/target/linux/brcm2708/patches-4.4/0115-drm-Use-the-driver-s-gem_object_free-function-from-C.patch
+++ b/target/linux/brcm2708/patches-4.4/0115-drm-Use-the-driver-s-gem_object_free-function-from-C.patch
@@ -1,4 +1,4 @@
-From 3fb1fdfad76d7ebbe1c78e262f57e636cfa2545d Mon Sep 17 00:00:00 2001
+From 7e34028c87bb714dff3d3e3720a18e46d452feaa Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 11 Dec 2015 19:45:03 -0800
Subject: [PATCH] drm: Use the driver's gem_object_free function from CMA
diff --git a/target/linux/brcm2708/patches-4.4/0116-drm-vc4-Add-support-for-MSAA-rendering.patch b/target/linux/brcm2708/patches-4.4/0116-drm-vc4-Add-support-for-MSAA-rendering.patch
index d8cc64678a..2ee5cb7ce3 100644
--- a/target/linux/brcm2708/patches-4.4/0116-drm-vc4-Add-support-for-MSAA-rendering.patch
+++ b/target/linux/brcm2708/patches-4.4/0116-drm-vc4-Add-support-for-MSAA-rendering.patch
@@ -1,4 +1,4 @@
-From 3fcab2551c8649da57ad5fc5166f85edd870f641 Mon Sep 17 00:00:00 2001
+From c682c50a4564b43a43791dc03d0aa7c8848b2564 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 17 Jul 2015 13:15:50 -0700
Subject: [PATCH] drm/vc4: Add support for MSAA rendering.
diff --git a/target/linux/brcm2708/patches-4.4/0117-drm-vc4-A-few-more-non-functional-changes-to-sync-to.patch b/target/linux/brcm2708/patches-4.4/0117-drm-vc4-A-few-more-non-functional-changes-to-sync-to.patch
index 8cf3997326..7f449b44c5 100644
--- a/target/linux/brcm2708/patches-4.4/0117-drm-vc4-A-few-more-non-functional-changes-to-sync-to.patch
+++ b/target/linux/brcm2708/patches-4.4/0117-drm-vc4-A-few-more-non-functional-changes-to-sync-to.patch
@@ -1,4 +1,4 @@
-From 4c19d1b2713fd0452edfc479cea4628229048994 Mon Sep 17 00:00:00 2001
+From 7d93805e31f36c9766e05e32c84e143090a5b3f9 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 8 Dec 2015 14:00:43 -0800
Subject: [PATCH] drm/vc4: A few more non-functional changes to sync to
diff --git a/target/linux/brcm2708/patches-4.4/0118-drm-vc4-Use-hpd-gpios-for-HDMI-GPIO-like-what-landed.patch b/target/linux/brcm2708/patches-4.4/0118-drm-vc4-Use-hpd-gpios-for-HDMI-GPIO-like-what-landed.patch
index ea9ba0b2f9..7cfb78e66d 100644
--- a/target/linux/brcm2708/patches-4.4/0118-drm-vc4-Use-hpd-gpios-for-HDMI-GPIO-like-what-landed.patch
+++ b/target/linux/brcm2708/patches-4.4/0118-drm-vc4-Use-hpd-gpios-for-HDMI-GPIO-like-what-landed.patch
@@ -1,4 +1,4 @@
-From b45971f3b371a7e50bfa2ebd8545abaf299182d5 Mon Sep 17 00:00:00 2001
+From 24c98ec16f68e3028b8db89ce6ceb074d719fe19 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 15 Dec 2015 23:46:32 +0000
Subject: [PATCH] drm/vc4: Use "hpd-gpios" for HDMI GPIO, like what landed
diff --git a/target/linux/brcm2708/patches-4.4/0119-drm-vc4-Synchronize-validation-code-for-v2-submissio.patch b/target/linux/brcm2708/patches-4.4/0119-drm-vc4-Synchronize-validation-code-for-v2-submissio.patch
index 0a855188d8..29fff60145 100644
--- a/target/linux/brcm2708/patches-4.4/0119-drm-vc4-Synchronize-validation-code-for-v2-submissio.patch
+++ b/target/linux/brcm2708/patches-4.4/0119-drm-vc4-Synchronize-validation-code-for-v2-submissio.patch
@@ -1,4 +1,4 @@
-From 837fa77c227eda3ebdab64b24acb3dc94599e76d Mon Sep 17 00:00:00 2001
+From 55242268abd2076c4560de14d0227ae5382f274e Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 7 Dec 2015 12:35:01 -0800
Subject: [PATCH] drm/vc4: Synchronize validation code for v2 submission
diff --git a/target/linux/brcm2708/patches-4.4/0120-MMC-Do-not-use-mmc_debug-if-CONFIG_MMC_BCM2835-is-no.patch b/target/linux/brcm2708/patches-4.4/0120-MMC-Do-not-use-mmc_debug-if-CONFIG_MMC_BCM2835-is-no.patch
index 4a81e5a3aa..7aacd2a7a0 100644
--- a/target/linux/brcm2708/patches-4.4/0120-MMC-Do-not-use-mmc_debug-if-CONFIG_MMC_BCM2835-is-no.patch
+++ b/target/linux/brcm2708/patches-4.4/0120-MMC-Do-not-use-mmc_debug-if-CONFIG_MMC_BCM2835-is-no.patch
@@ -1,4 +1,4 @@
-From 6a602d99694b69c8cd19970f7d2b019dadaaaa09 Mon Sep 17 00:00:00 2001
+From 426f98468a5e4d083a1753f60ddfa777d98cd86c Mon Sep 17 00:00:00 2001
From: janluca <janluca@zedat.fu-berlin.de>
Date: Sun, 27 Dec 2015 14:34:04 +0100
Subject: [PATCH] MMC: Do not use mmc_debug if CONFIG_MMC_BCM2835 is not set
diff --git a/target/linux/brcm2708/patches-4.4/0121-Extend-clock-timeout-fix-modprobe-baudrate-parameter.patch b/target/linux/brcm2708/patches-4.4/0121-Extend-clock-timeout-fix-modprobe-baudrate-parameter.patch
index eb39fffbc2..b174a4e26f 100644
--- a/target/linux/brcm2708/patches-4.4/0121-Extend-clock-timeout-fix-modprobe-baudrate-parameter.patch
+++ b/target/linux/brcm2708/patches-4.4/0121-Extend-clock-timeout-fix-modprobe-baudrate-parameter.patch
@@ -1,4 +1,4 @@
-From 29171b2e2b69a4edb84bd228e1d9ea0451e7dcd2 Mon Sep 17 00:00:00 2001
+From eca01622bfb78a9fd65266d0c31a87d5930416bd Mon Sep 17 00:00:00 2001
From: Devon Fyson <devonfyson@gmail.com>
Date: Wed, 30 Dec 2015 16:40:47 -0500
Subject: [PATCH] Extend clock timeout, fix modprobe baudrate parameter.
diff --git a/target/linux/brcm2708/patches-4.4/0122-bcm270x_dt-Add-dwc2-and-dwc-otg-overlays.patch b/target/linux/brcm2708/patches-4.4/0122-bcm270x_dt-Add-dwc2-and-dwc-otg-overlays.patch
index 03a2eca16b..6834f241b0 100644
--- a/target/linux/brcm2708/patches-4.4/0122-bcm270x_dt-Add-dwc2-and-dwc-otg-overlays.patch
+++ b/target/linux/brcm2708/patches-4.4/0122-bcm270x_dt-Add-dwc2-and-dwc-otg-overlays.patch
@@ -1,4 +1,4 @@
-From 9715590cd5024b1eb657d06a6eb60a48751e221c Mon Sep 17 00:00:00 2001
+From f59901d7849b23cd2ae6dc17184d46f62eaf9386 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Thu, 31 Dec 2015 16:44:58 +0100
Subject: [PATCH] bcm270x_dt: Add dwc2 and dwc-otg overlays
diff --git a/target/linux/brcm2708/patches-4.4/0123-BCM270X_DT-Add-the-sdtweak-overlay-for-tuning-sdhost.patch b/target/linux/brcm2708/patches-4.4/0123-BCM270X_DT-Add-the-sdtweak-overlay-for-tuning-sdhost.patch
index abb58a35d3..e1ba4b3f66 100644
--- a/target/linux/brcm2708/patches-4.4/0123-BCM270X_DT-Add-the-sdtweak-overlay-for-tuning-sdhost.patch
+++ b/target/linux/brcm2708/patches-4.4/0123-BCM270X_DT-Add-the-sdtweak-overlay-for-tuning-sdhost.patch
@@ -1,4 +1,4 @@
-From 5c8479b7e82155eed9e86658935dda7bf8202b8d Mon Sep 17 00:00:00 2001
+From 22c2725b4321128985d9780152d85a8dd1ace706 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 4 Jan 2016 14:42:17 +0000
Subject: [PATCH] BCM270X_DT: Add the sdtweak overlay, for tuning sdhost
diff --git a/target/linux/brcm2708/patches-4.4/0124-bcm2835-mmc-Don-t-override-bus-width-capabilities-fr.patch b/target/linux/brcm2708/patches-4.4/0124-bcm2835-mmc-Don-t-override-bus-width-capabilities-fr.patch
index 907b1fe303..9c68ea0e40 100644
--- a/target/linux/brcm2708/patches-4.4/0124-bcm2835-mmc-Don-t-override-bus-width-capabilities-fr.patch
+++ b/target/linux/brcm2708/patches-4.4/0124-bcm2835-mmc-Don-t-override-bus-width-capabilities-fr.patch
@@ -1,4 +1,4 @@
-From 5e45aa3d7aa8a59d82fb57cafd341e2c8c908f81 Mon Sep 17 00:00:00 2001
+From 55a1a97ec19439ea0225e666508878a4619a1dff Mon Sep 17 00:00:00 2001
From: Andrew Litt <ajlitt@splunge.net>
Date: Mon, 11 Jan 2016 07:54:21 +0000
Subject: [PATCH] bcm2835-mmc: Don't override bus width capabilities from
diff --git a/target/linux/brcm2708/patches-4.4/0125-SDIO-overlay-add-bus_width-parameter.patch b/target/linux/brcm2708/patches-4.4/0125-SDIO-overlay-add-bus_width-parameter.patch
index 6a3d874c44..912204fca7 100644
--- a/target/linux/brcm2708/patches-4.4/0125-SDIO-overlay-add-bus_width-parameter.patch
+++ b/target/linux/brcm2708/patches-4.4/0125-SDIO-overlay-add-bus_width-parameter.patch
@@ -1,4 +1,4 @@
-From bafb94810a17cd66baa5d220f6005d8f1db1e516 Mon Sep 17 00:00:00 2001
+From f2c83096a1292894329f8c3855be4a21f31efa44 Mon Sep 17 00:00:00 2001
From: Andrew Litt <ajlitt@splunge.net>
Date: Mon, 11 Jan 2016 07:55:54 +0000
Subject: [PATCH] SDIO-overlay: add bus_width parameter
diff --git a/target/linux/brcm2708/patches-4.4/0126-bcm2835-extend-allowed-range-of-channels-and-sampler.patch b/target/linux/brcm2708/patches-4.4/0126-bcm2835-extend-allowed-range-of-channels-and-sampler.patch
index b9c2918bd9..addfd914e1 100644
--- a/target/linux/brcm2708/patches-4.4/0126-bcm2835-extend-allowed-range-of-channels-and-sampler.patch
+++ b/target/linux/brcm2708/patches-4.4/0126-bcm2835-extend-allowed-range-of-channels-and-sampler.patch
@@ -1,4 +1,4 @@
-From 0b6eb4c6015ead6da180ef4a4da695b660bcb99f Mon Sep 17 00:00:00 2001
+From 9901970aec244478351526d0ec64bd71998a4898 Mon Sep 17 00:00:00 2001
From: wm4 <wm4@nowhere>
Date: Wed, 13 Jan 2016 19:41:45 +0100
Subject: [PATCH] bcm2835: extend allowed range of channels and samplerates
diff --git a/target/linux/brcm2708/patches-4.4/0127-bcm2835-restrict-channels-rate-to-8-960000.patch b/target/linux/brcm2708/patches-4.4/0127-bcm2835-restrict-channels-rate-to-8-960000.patch
index 52601b139d..33feb0b540 100644
--- a/target/linux/brcm2708/patches-4.4/0127-bcm2835-restrict-channels-rate-to-8-960000.patch
+++ b/target/linux/brcm2708/patches-4.4/0127-bcm2835-restrict-channels-rate-to-8-960000.patch
@@ -1,4 +1,4 @@
-From 4b235ff95b0fcfa9731c1159402f4fef0e26f1d3 Mon Sep 17 00:00:00 2001
+From f204c383ca1e309b94e7c447b1b15f1063a4d2ba Mon Sep 17 00:00:00 2001
From: wm4 <wm4@nowhere>
Date: Wed, 13 Jan 2016 19:42:18 +0100
Subject: [PATCH] bcm2835: restrict channels*rate to 8*960000
diff --git a/target/linux/brcm2708/patches-4.4/0128-rpi-update-vc_vchi_audioserv_defs.h.patch b/target/linux/brcm2708/patches-4.4/0128-rpi-update-vc_vchi_audioserv_defs.h.patch
index a6b211dfe7..dd1bffc3d8 100644
--- a/target/linux/brcm2708/patches-4.4/0128-rpi-update-vc_vchi_audioserv_defs.h.patch
+++ b/target/linux/brcm2708/patches-4.4/0128-rpi-update-vc_vchi_audioserv_defs.h.patch
@@ -1,4 +1,4 @@
-From fa0c088b7f7372b6946a2f2139f0e391cace34d6 Mon Sep 17 00:00:00 2001
+From d7d03f10e6da33cd732e25499977c88f172732a4 Mon Sep 17 00:00:00 2001
From: wm4 <wm4@nowhere>
Date: Wed, 13 Jan 2016 19:42:48 +0100
Subject: [PATCH] rpi: update vc_vchi_audioserv_defs.h
diff --git a/target/linux/brcm2708/patches-4.4/0129-bcm2835-implement-channel-map-API.patch b/target/linux/brcm2708/patches-4.4/0129-bcm2835-implement-channel-map-API.patch
index 6f3f5a45d5..19417ff146 100644
--- a/target/linux/brcm2708/patches-4.4/0129-bcm2835-implement-channel-map-API.patch
+++ b/target/linux/brcm2708/patches-4.4/0129-bcm2835-implement-channel-map-API.patch
@@ -1,4 +1,4 @@
-From 55349969a1914b515956c14f3fafd25df5c827a9 Mon Sep 17 00:00:00 2001
+From 32cfd4810065c36ad0cb136a47004e4c4c9ed227 Mon Sep 17 00:00:00 2001
From: wm4 <wm4@nowhere>
Date: Wed, 13 Jan 2016 19:43:12 +0100
Subject: [PATCH] bcm2835: implement channel map API
diff --git a/target/linux/brcm2708/patches-4.4/0130-bcm2835-access-controls-under-the-audio-mutex.patch b/target/linux/brcm2708/patches-4.4/0130-bcm2835-access-controls-under-the-audio-mutex.patch
index 099c8ec0f2..56dd7df015 100644
--- a/target/linux/brcm2708/patches-4.4/0130-bcm2835-access-controls-under-the-audio-mutex.patch
+++ b/target/linux/brcm2708/patches-4.4/0130-bcm2835-access-controls-under-the-audio-mutex.patch
@@ -1,4 +1,4 @@
-From 7067b04bc0f05e25621868e47e3de42befa8ac61 Mon Sep 17 00:00:00 2001
+From 0346d7cfbc9c1f48eada6f27c929eda059298879 Mon Sep 17 00:00:00 2001
From: wm4 <wm4@nowhere>
Date: Wed, 13 Jan 2016 19:43:35 +0100
Subject: [PATCH] bcm2835: access controls under the audio mutex
diff --git a/target/linux/brcm2708/patches-4.4/0131-bcm2835-always-use-2-4-8-channels-for-multichannel-l.patch b/target/linux/brcm2708/patches-4.4/0131-bcm2835-always-use-2-4-8-channels-for-multichannel-l.patch
index 731091d49e..fbed1d82e9 100644
--- a/target/linux/brcm2708/patches-4.4/0131-bcm2835-always-use-2-4-8-channels-for-multichannel-l.patch
+++ b/target/linux/brcm2708/patches-4.4/0131-bcm2835-always-use-2-4-8-channels-for-multichannel-l.patch
@@ -1,4 +1,4 @@
-From db9dc8093738d064963257f19b8b6d927d137dd9 Mon Sep 17 00:00:00 2001
+From 895025420b369c66ed590356ebfd0b787572956a Mon Sep 17 00:00:00 2001
From: wm4 <wm4@nowhere>
Date: Wed, 13 Jan 2016 19:44:03 +0100
Subject: [PATCH] bcm2835: always use 2/4/8 channels for multichannel layouts
diff --git a/target/linux/brcm2708/patches-4.4/0132-bcm2835-only-allow-stereo-if-analogue-jack-is-select.patch b/target/linux/brcm2708/patches-4.4/0132-bcm2835-only-allow-stereo-if-analogue-jack-is-select.patch
index 98be6d2b8a..c902226372 100644
--- a/target/linux/brcm2708/patches-4.4/0132-bcm2835-only-allow-stereo-if-analogue-jack-is-select.patch
+++ b/target/linux/brcm2708/patches-4.4/0132-bcm2835-only-allow-stereo-if-analogue-jack-is-select.patch
@@ -1,4 +1,4 @@
-From 8bf3ca92ea1352a4b97258eee4b225240e525a54 Mon Sep 17 00:00:00 2001
+From f54692dc8ff6e0aecf27fdd2ebaed8e22d04f053 Mon Sep 17 00:00:00 2001
From: wm4 <wm4@nowhere>
Date: Wed, 13 Jan 2016 19:44:24 +0100
Subject: [PATCH] bcm2835: only allow stereo if analogue jack is selected
diff --git a/target/linux/brcm2708/patches-4.4/0133-bcm2835-interpolate-audio-delay.patch b/target/linux/brcm2708/patches-4.4/0133-bcm2835-interpolate-audio-delay.patch
index 3ea75eed0b..d3e1b9bb01 100644
--- a/target/linux/brcm2708/patches-4.4/0133-bcm2835-interpolate-audio-delay.patch
+++ b/target/linux/brcm2708/patches-4.4/0133-bcm2835-interpolate-audio-delay.patch
@@ -1,4 +1,4 @@
-From 7756cf7615123045c60b9f9e311d2491a5e23424 Mon Sep 17 00:00:00 2001
+From 965303a0745da159e5eaa72694421ce95ccf8421 Mon Sep 17 00:00:00 2001
From: wm4 <wm4@nowhere>
Date: Wed, 13 Jan 2016 19:44:47 +0100
Subject: [PATCH] bcm2835: interpolate audio delay
diff --git a/target/linux/brcm2708/patches-4.4/0134-bcm2835-sdhost-Add-workaround-for-odd-behaviour-on-s.patch b/target/linux/brcm2708/patches-4.4/0134-bcm2835-sdhost-Add-workaround-for-odd-behaviour-on-s.patch
index 8eda6d5949..959353f752 100644
--- a/target/linux/brcm2708/patches-4.4/0134-bcm2835-sdhost-Add-workaround-for-odd-behaviour-on-s.patch
+++ b/target/linux/brcm2708/patches-4.4/0134-bcm2835-sdhost-Add-workaround-for-odd-behaviour-on-s.patch
@@ -1,4 +1,4 @@
-From 2e34fd2e06d95cd4e4e29d94ce016ab4426f75af Mon Sep 17 00:00:00 2001
+From a621bf4951f8e66f77d3298148a064c94db1ef0e Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 19 Jan 2016 17:16:38 +0000
Subject: [PATCH] bcm2835-sdhost: Add workaround for odd behaviour on some
diff --git a/target/linux/brcm2708/patches-4.4/0135-bcm2835-sdhost-Add-debug_flags-dtparam.patch b/target/linux/brcm2708/patches-4.4/0135-bcm2835-sdhost-Add-debug_flags-dtparam.patch
index 4086649214..a08dc54740 100644
--- a/target/linux/brcm2708/patches-4.4/0135-bcm2835-sdhost-Add-debug_flags-dtparam.patch
+++ b/target/linux/brcm2708/patches-4.4/0135-bcm2835-sdhost-Add-debug_flags-dtparam.patch
@@ -1,4 +1,4 @@
-From 8349a032c4e1d3f9c3c5e4bb66064b6addf6f111 Mon Sep 17 00:00:00 2001
+From b08d7543b04d9b9d82073ed5c61123be28f5300d Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 22 Jan 2016 16:03:24 +0000
Subject: [PATCH] bcm2835-sdhost: Add debug_flags dtparam
diff --git a/target/linux/brcm2708/patches-4.4/0136-BCM270X_DT-Add-sdio_overclock-parameter-to-sdio-over.patch b/target/linux/brcm2708/patches-4.4/0136-BCM270X_DT-Add-sdio_overclock-parameter-to-sdio-over.patch
index 13aec51cac..fbbe2bf372 100644
--- a/target/linux/brcm2708/patches-4.4/0136-BCM270X_DT-Add-sdio_overclock-parameter-to-sdio-over.patch
+++ b/target/linux/brcm2708/patches-4.4/0136-BCM270X_DT-Add-sdio_overclock-parameter-to-sdio-over.patch
@@ -1,4 +1,4 @@
-From 1bb36898f708926752ef4afa43c62056b376d7a4 Mon Sep 17 00:00:00 2001
+From 9120234bb37043477ef69fec8c03c3731ed6861f Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 25 Jan 2016 09:12:06 +0000
Subject: [PATCH] BCM270X_DT: Add sdio_overclock parameter to sdio overlay
diff --git a/target/linux/brcm2708/patches-4.4/0137-rtc-ds1307-add-support-for-the-DT-property-wakeup-so.patch b/target/linux/brcm2708/patches-4.4/0137-rtc-ds1307-add-support-for-the-DT-property-wakeup-so.patch
index 7be2d88f8c..4a0c4dba0a 100644
--- a/target/linux/brcm2708/patches-4.4/0137-rtc-ds1307-add-support-for-the-DT-property-wakeup-so.patch
+++ b/target/linux/brcm2708/patches-4.4/0137-rtc-ds1307-add-support-for-the-DT-property-wakeup-so.patch
@@ -1,4 +1,4 @@
-From e4bd962eeb728b924ebdaca077c2136280a190f2 Mon Sep 17 00:00:00 2001
+From cc252ee4f3948d12a878c93cbdb0505a9ee7bc03 Mon Sep 17 00:00:00 2001
From: Michael Lange <linuxstuff@milaw.biz>
Date: Thu, 21 Jan 2016 18:10:16 +0100
Subject: [PATCH] rtc: ds1307: add support for the DT property 'wakeup-source'
diff --git a/target/linux/brcm2708/patches-4.4/0138-dt-overlay-add-wittypi-overlay.dts.patch b/target/linux/brcm2708/patches-4.4/0138-dt-overlay-add-wittypi-overlay.dts.patch
index a08502152e..05c99f66dd 100644
--- a/target/linux/brcm2708/patches-4.4/0138-dt-overlay-add-wittypi-overlay.dts.patch
+++ b/target/linux/brcm2708/patches-4.4/0138-dt-overlay-add-wittypi-overlay.dts.patch
@@ -1,4 +1,4 @@
-From 44a37e094bbe4dd9ee63fb1d5426b3945981fd26 Mon Sep 17 00:00:00 2001
+From 5e6354c06e4fe463c37179a768da78d675cc2f36 Mon Sep 17 00:00:00 2001
From: vitalogy <vitalogy_github@milaw.biz>
Date: Tue, 19 Jan 2016 07:02:02 +0100
Subject: [PATCH] dt-overlay: add wittypi-overlay.dts
diff --git a/target/linux/brcm2708/patches-4.4/0139-FIXUP-i2c_bcm2708-Don-t-change-module-baudrate-param.patch b/target/linux/brcm2708/patches-4.4/0139-FIXUP-i2c_bcm2708-Don-t-change-module-baudrate-param.patch
index 37cf64ac3a..c6d627dc2b 100644
--- a/target/linux/brcm2708/patches-4.4/0139-FIXUP-i2c_bcm2708-Don-t-change-module-baudrate-param.patch
+++ b/target/linux/brcm2708/patches-4.4/0139-FIXUP-i2c_bcm2708-Don-t-change-module-baudrate-param.patch
@@ -1,4 +1,4 @@
-From 4efc768113042d0b48fdb4e170d5469f93f6e20b Mon Sep 17 00:00:00 2001
+From 6ddd618b031bc8f28f76114ac553f14bed1eb2ee Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 19 Jan 2016 16:28:05 +0000
Subject: [PATCH] FIXUP i2c_bcm2708: Don't change module baudrate parameter
diff --git a/target/linux/brcm2708/patches-4.4/0140-Allow-up-to-24dB-digital-gain-to-be-applied-when-usi.patch b/target/linux/brcm2708/patches-4.4/0140-Allow-up-to-24dB-digital-gain-to-be-applied-when-usi.patch
index 0af3a52d88..1abdcdc4ef 100644
--- a/target/linux/brcm2708/patches-4.4/0140-Allow-up-to-24dB-digital-gain-to-be-applied-when-usi.patch
+++ b/target/linux/brcm2708/patches-4.4/0140-Allow-up-to-24dB-digital-gain-to-be-applied-when-usi.patch
@@ -1,4 +1,4 @@
-From 290cec3c415ef37c10465f201545f26423241249 Mon Sep 17 00:00:00 2001
+From cd2b4030e41c716256e0ee92286a4b376d242956 Mon Sep 17 00:00:00 2001
From: Digital Dreamtime <clive.messer@digitaldreamtime.co.uk>
Date: Thu, 4 Feb 2016 14:14:44 +0000
Subject: [PATCH] Allow up to 24dB digital gain to be applied when using
diff --git a/target/linux/brcm2708/patches-4.4/0141-Limit-PCM512x-Digital-gain-to-0dB-by-default-with-Hi.patch b/target/linux/brcm2708/patches-4.4/0141-Limit-PCM512x-Digital-gain-to-0dB-by-default-with-Hi.patch
index 7003f57639..ee95c292c7 100644
--- a/target/linux/brcm2708/patches-4.4/0141-Limit-PCM512x-Digital-gain-to-0dB-by-default-with-Hi.patch
+++ b/target/linux/brcm2708/patches-4.4/0141-Limit-PCM512x-Digital-gain-to-0dB-by-default-with-Hi.patch
@@ -1,4 +1,4 @@
-From 3f38eac723b07d22f70a77ae006d18eb84218a9e Mon Sep 17 00:00:00 2001
+From 5eb11c1a6735ddbcb4b37014caf5945123aad8a2 Mon Sep 17 00:00:00 2001
From: Digital Dreamtime <clive.messer@digitaldreamtime.co.uk>
Date: Thu, 4 Feb 2016 20:04:00 +0000
Subject: [PATCH] Limit PCM512x "Digital" gain to 0dB by default with HiFiBerry
diff --git a/target/linux/brcm2708/patches-4.4/0142-BCM270X_DT-Adjust-overlay-README-formatting.patch b/target/linux/brcm2708/patches-4.4/0142-BCM270X_DT-Adjust-overlay-README-formatting.patch
index 20b44254f4..40af70fa26 100644
--- a/target/linux/brcm2708/patches-4.4/0142-BCM270X_DT-Adjust-overlay-README-formatting.patch
+++ b/target/linux/brcm2708/patches-4.4/0142-BCM270X_DT-Adjust-overlay-README-formatting.patch
@@ -1,4 +1,4 @@
-From 8d559133434730d0a1c5f661e6cdaca27f6ee184 Mon Sep 17 00:00:00 2001
+From fff71f293b81ea6aa254397236484437b491ed9c Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 8 Feb 2016 09:46:33 +0000
Subject: [PATCH] BCM270X_DT: Adjust overlay README formatting
diff --git a/target/linux/brcm2708/patches-4.4/0143-bcm2835-sdhost-Major-revision.patch b/target/linux/brcm2708/patches-4.4/0143-bcm2835-sdhost-Major-revision.patch
index 9a8364a29a..32bb53d2dd 100644
--- a/target/linux/brcm2708/patches-4.4/0143-bcm2835-sdhost-Major-revision.patch
+++ b/target/linux/brcm2708/patches-4.4/0143-bcm2835-sdhost-Major-revision.patch
@@ -1,4 +1,4 @@
-From da5b64aae5cb189a2a2e24a459e84cb5fab5d864 Mon Sep 17 00:00:00 2001
+From 7febd88f815cadf0cb2f73b4aa9ad78e8cf79e04 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 11 Feb 2016 16:51:01 +0000
Subject: [PATCH] bcm2835-sdhost: Major revision
diff --git a/target/linux/brcm2708/patches-4.4/0144-BCM270X_DT-Add-dtparams-for-the-SD-interface.patch b/target/linux/brcm2708/patches-4.4/0144-BCM270X_DT-Add-dtparams-for-the-SD-interface.patch
index 5ff574f6f7..2178460b94 100644
--- a/target/linux/brcm2708/patches-4.4/0144-BCM270X_DT-Add-dtparams-for-the-SD-interface.patch
+++ b/target/linux/brcm2708/patches-4.4/0144-BCM270X_DT-Add-dtparams-for-the-SD-interface.patch
@@ -1,4 +1,4 @@
-From f6031fa472bf8ce9eaba902b00cd2af3d00f0fb4 Mon Sep 17 00:00:00 2001
+From dab78628dc1fe1488674cdc8a6864cbf382f72cc Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 12 Feb 2016 15:38:00 +0000
Subject: [PATCH] BCM270X_DT: Add dtparams for the SD interface
diff --git a/target/linux/brcm2708/patches-4.4/0145-dcw_otg-trim-xfer-length-when-buffer-larger-than-all.patch b/target/linux/brcm2708/patches-4.4/0145-dcw_otg-trim-xfer-length-when-buffer-larger-than-all.patch
index 70d0764c30..b15464ea3e 100644
--- a/target/linux/brcm2708/patches-4.4/0145-dcw_otg-trim-xfer-length-when-buffer-larger-than-all.patch
+++ b/target/linux/brcm2708/patches-4.4/0145-dcw_otg-trim-xfer-length-when-buffer-larger-than-all.patch
@@ -1,4 +1,4 @@
-From 20c4f162386eea18273c461a183244a472ecc1da Mon Sep 17 00:00:00 2001
+From 2407b0b1342fbe40d1c25a879590544405a07a11 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 12 Feb 2016 14:50:25 +0000
Subject: [PATCH] dcw_otg: trim xfer length when buffer larger than allocated
diff --git a/target/linux/brcm2708/patches-4.4/0146-bcm2835-sdhost-Restore-ATOMIC-flag-to-PIO-sg-mapping.patch b/target/linux/brcm2708/patches-4.4/0146-bcm2835-sdhost-Restore-ATOMIC-flag-to-PIO-sg-mapping.patch
index 6ca2b54081..7a606cb5d7 100644
--- a/target/linux/brcm2708/patches-4.4/0146-bcm2835-sdhost-Restore-ATOMIC-flag-to-PIO-sg-mapping.patch
+++ b/target/linux/brcm2708/patches-4.4/0146-bcm2835-sdhost-Restore-ATOMIC-flag-to-PIO-sg-mapping.patch
@@ -1,4 +1,4 @@
-From 2ace17c79f413a43950944cf282235ea3de8c6e2 Mon Sep 17 00:00:00 2001
+From dc519294e6a463eae2f1ad1d65fd06b1c4d10c96 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 15 Feb 2016 10:00:27 +0000
Subject: [PATCH] bcm2835-sdhost: Restore ATOMIC flag to PIO sg mapping
diff --git a/target/linux/brcm2708/patches-4.4/0147-Updated-smsc95xx-driver-to-check-for-a-valid-MAC-add.patch b/target/linux/brcm2708/patches-4.4/0147-Updated-smsc95xx-driver-to-check-for-a-valid-MAC-add.patch
index 476e01b680..80dec72ff6 100644
--- a/target/linux/brcm2708/patches-4.4/0147-Updated-smsc95xx-driver-to-check-for-a-valid-MAC-add.patch
+++ b/target/linux/brcm2708/patches-4.4/0147-Updated-smsc95xx-driver-to-check-for-a-valid-MAC-add.patch
@@ -1,4 +1,4 @@
-From ef351705676a8a3906bfbc3696e7d44bcc3a320b Mon Sep 17 00:00:00 2001
+From 0f77e8585ca73daddcc386ec45c9e5d5649de0fa Mon Sep 17 00:00:00 2001
From: Craig Roberts <cjr@craigroberts.net>
Date: Tue, 16 Feb 2016 10:03:42 +0000
Subject: [PATCH] Updated smsc95xx driver to check for a valid MAC address in
diff --git a/target/linux/brcm2708/patches-4.4/0148-dcw_otg-Make-trimming-messages-less-noisy.patch b/target/linux/brcm2708/patches-4.4/0148-dcw_otg-Make-trimming-messages-less-noisy.patch
index 790d2969ba..18929f2bc5 100644
--- a/target/linux/brcm2708/patches-4.4/0148-dcw_otg-Make-trimming-messages-less-noisy.patch
+++ b/target/linux/brcm2708/patches-4.4/0148-dcw_otg-Make-trimming-messages-less-noisy.patch
@@ -1,4 +1,4 @@
-From 82973637f761439a9ff507bf7a0a4aa325d98870 Mon Sep 17 00:00:00 2001
+From ef391c488590773b5b1476a3095a38d728a92751 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 17 Feb 2016 19:02:31 +0000
Subject: [PATCH] dcw_otg: Make trimming messages less noisy
diff --git a/target/linux/brcm2708/patches-4.4/0149-BCM270X_DT-at86rf233-overlay-drop-to-3MHz.patch b/target/linux/brcm2708/patches-4.4/0149-BCM270X_DT-at86rf233-overlay-drop-to-3MHz.patch
index 47db7aa8db..57c886442a 100644
--- a/target/linux/brcm2708/patches-4.4/0149-BCM270X_DT-at86rf233-overlay-drop-to-3MHz.patch
+++ b/target/linux/brcm2708/patches-4.4/0149-BCM270X_DT-at86rf233-overlay-drop-to-3MHz.patch
@@ -1,4 +1,4 @@
-From dfcdab5a069fb85d39ae9b0b86dca5f7277a5a47 Mon Sep 17 00:00:00 2001
+From 8c1a913881a9805fce189f382f929beeb8ea2a50 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 18 Feb 2016 15:28:14 +0000
Subject: [PATCH] BCM270X_DT: at86rf233 overlay - drop to 3MHz
diff --git a/target/linux/brcm2708/patches-4.4/0150-bcm2835-sdhost-Downgrade-log-message-status.patch b/target/linux/brcm2708/patches-4.4/0150-bcm2835-sdhost-Downgrade-log-message-status.patch
index a39efeb84a..722b79ed77 100644
--- a/target/linux/brcm2708/patches-4.4/0150-bcm2835-sdhost-Downgrade-log-message-status.patch
+++ b/target/linux/brcm2708/patches-4.4/0150-bcm2835-sdhost-Downgrade-log-message-status.patch
@@ -1,4 +1,4 @@
-From 0f091b751bab3fcedb2281d3a201c42c627c7867 Mon Sep 17 00:00:00 2001
+From 36cb06886133f1ce5374a5c6b38b6598370f7094 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 19 Feb 2016 12:04:48 +0000
Subject: [PATCH] bcm2835-sdhost: Downgrade log message status
diff --git a/target/linux/brcm2708/patches-4.4/0151-config-Enable-HCI-over-UARTs.patch b/target/linux/brcm2708/patches-4.4/0151-config-Enable-HCI-over-UARTs.patch
index e39870746e..91a7bc3e6a 100644
--- a/target/linux/brcm2708/patches-4.4/0151-config-Enable-HCI-over-UARTs.patch
+++ b/target/linux/brcm2708/patches-4.4/0151-config-Enable-HCI-over-UARTs.patch
@@ -1,4 +1,4 @@
-From 87614bfb6cc2eba2b5dd80596a76866f42bef42a Mon Sep 17 00:00:00 2001
+From 0d89bfb41f2879a9b5ea0831cab8f0e75dbba831 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 15 Jan 2016 16:48:27 +0000
Subject: [PATCH] config: Enable HCI over UARTs
diff --git a/target/linux/brcm2708/patches-4.4/0152-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch b/target/linux/brcm2708/patches-4.4/0152-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch
index 05c2ae2641..6b2cf1cbc5 100644
--- a/target/linux/brcm2708/patches-4.4/0152-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch
+++ b/target/linux/brcm2708/patches-4.4/0152-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch
@@ -1,4 +1,4 @@
-From fc507785b54db0e908719ba738531f45fb1797d3 Mon Sep 17 00:00:00 2001
+From 8398a93b43f10a99e9c40297d46801eda6e681b1 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 17 Dec 2015 13:37:07 +0000
Subject: [PATCH] hci_h5: Don't send conf_req when ACTIVE
diff --git a/target/linux/brcm2708/patches-4.4/0153-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch b/target/linux/brcm2708/patches-4.4/0153-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch
index 7cadb2a8ea..32e41f6076 100644
--- a/target/linux/brcm2708/patches-4.4/0153-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch
+++ b/target/linux/brcm2708/patches-4.4/0153-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch
@@ -1,4 +1,4 @@
-From e0f147530d17dfe705fee528c40232047bd1ee47 Mon Sep 17 00:00:00 2001
+From 39f58f568f34295be6c0b9a2f6f2e502b9305c01 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 23 Feb 2016 17:26:48 +0000
Subject: [PATCH] amba_pl011: Don't use DT aliases for numbering
diff --git a/target/linux/brcm2708/patches-4.4/0154-clk-bcm2835-Add-bindings-for-the-auxiliary-periphera.patch b/target/linux/brcm2708/patches-4.4/0154-clk-bcm2835-Add-bindings-for-the-auxiliary-periphera.patch
index 7e1b2bab29..7877e2441d 100644
--- a/target/linux/brcm2708/patches-4.4/0154-clk-bcm2835-Add-bindings-for-the-auxiliary-periphera.patch
+++ b/target/linux/brcm2708/patches-4.4/0154-clk-bcm2835-Add-bindings-for-the-auxiliary-periphera.patch
@@ -1,4 +1,4 @@
-From 0ace9f0a0b1d5768cec58a69bd0d4fffd5995ad2 Mon Sep 17 00:00:00 2001
+From 85e7001af712694f81195fe9389deb14aa562da3 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 15 Dec 2015 15:35:57 -0800
Subject: [PATCH] clk: bcm2835: Add bindings for the auxiliary peripheral clock
diff --git a/target/linux/brcm2708/patches-4.4/0155-clk-bcm2835-Add-a-driver-for-the-auxiliary-periphera.patch b/target/linux/brcm2708/patches-4.4/0155-clk-bcm2835-Add-a-driver-for-the-auxiliary-periphera.patch
index f095a7a884..91d2937f8b 100644
--- a/target/linux/brcm2708/patches-4.4/0155-clk-bcm2835-Add-a-driver-for-the-auxiliary-periphera.patch
+++ b/target/linux/brcm2708/patches-4.4/0155-clk-bcm2835-Add-a-driver-for-the-auxiliary-periphera.patch
@@ -1,4 +1,4 @@
-From 19a393608fdcadad7fdde85e4439f05d10381d84 Mon Sep 17 00:00:00 2001
+From 55c1d677bb9f90db7d08c514171a9e3cbf643910 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 15 Dec 2015 15:35:58 -0800
Subject: [PATCH] clk: bcm2835: Add a driver for the auxiliary peripheral clock
diff --git a/target/linux/brcm2708/patches-4.4/0156-Aux-SPI-1-2-implementation.patch b/target/linux/brcm2708/patches-4.4/0156-Aux-SPI-1-2-implementation.patch
index 8094495f34..4d42ee1d7c 100644
--- a/target/linux/brcm2708/patches-4.4/0156-Aux-SPI-1-2-implementation.patch
+++ b/target/linux/brcm2708/patches-4.4/0156-Aux-SPI-1-2-implementation.patch
@@ -1,4 +1,4 @@
-From fb47ac65c77bd2bc6480bb45a0bef29056108984 Mon Sep 17 00:00:00 2001
+From 9fa83cc7de026d7d41b4a13f037cc30f5f877956 Mon Sep 17 00:00:00 2001
From: Fraser <github@frasersdev.net>
Date: Tue, 23 Feb 2016 10:04:37 +1100
Subject: [PATCH] Aux SPI 1&2 implementation
diff --git a/target/linux/brcm2708/patches-4.4/0157-ASoC-bcm-add-missing-.owner-fields-in-sound-card-dri.patch b/target/linux/brcm2708/patches-4.4/0157-ASoC-bcm-add-missing-.owner-fields-in-sound-card-dri.patch
index 953b0f2f17..38ac70b7e4 100644
--- a/target/linux/brcm2708/patches-4.4/0157-ASoC-bcm-add-missing-.owner-fields-in-sound-card-dri.patch
+++ b/target/linux/brcm2708/patches-4.4/0157-ASoC-bcm-add-missing-.owner-fields-in-sound-card-dri.patch
@@ -1,4 +1,4 @@
-From 8369af719005849271d4c50a87dc6422b83dc276 Mon Sep 17 00:00:00 2001
+From 2508082b19a36af8ad56d401c910362b4d54ffca Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Tue, 23 Feb 2016 17:28:23 +0100
Subject: [PATCH] ASoC: bcm: add missing .owner fields in sound card drivers
diff --git a/target/linux/brcm2708/patches-4.4/0158-smsx95xx-Add-option-to-disable-the-crimes-against-tr.patch b/target/linux/brcm2708/patches-4.4/0158-smsx95xx-Add-option-to-disable-the-crimes-against-tr.patch
index b94313ca83..74a531dd15 100644
--- a/target/linux/brcm2708/patches-4.4/0158-smsx95xx-Add-option-to-disable-the-crimes-against-tr.patch
+++ b/target/linux/brcm2708/patches-4.4/0158-smsx95xx-Add-option-to-disable-the-crimes-against-tr.patch
@@ -1,4 +1,4 @@
-From 3bd2928682ee70f260d9c62a17d1a5e43f979fec Mon Sep 17 00:00:00 2001
+From fc2a68dea3c04061fa6f237dac63e7a8cdc7c1e4 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 20 Jan 2016 17:50:09 +0000
Subject: [PATCH] smsx95xx: Add option to disable the crimes against truesize
diff --git a/target/linux/brcm2708/patches-4.4/0159-bcm2835-virtgpio-Virtual-GPIO-driver.patch b/target/linux/brcm2708/patches-4.4/0159-bcm2835-virtgpio-Virtual-GPIO-driver.patch
index aeae6a51b1..37a8c248f8 100644
--- a/target/linux/brcm2708/patches-4.4/0159-bcm2835-virtgpio-Virtual-GPIO-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0159-bcm2835-virtgpio-Virtual-GPIO-driver.patch
@@ -1,4 +1,4 @@
-From fba2e30e3511cbc94249468490843723268a0c39 Mon Sep 17 00:00:00 2001
+From 3ffde07f9d0ee50522cb017639c12a83cfd6409b Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 23 Feb 2016 19:56:04 +0000
Subject: [PATCH] bcm2835-virtgpio: Virtual GPIO driver
diff --git a/target/linux/brcm2708/patches-4.4/0160-BCM270X_DT-Add-Pi3-support.patch b/target/linux/brcm2708/patches-4.4/0160-BCM270X_DT-Add-Pi3-support.patch
index 04c5e0969e..67ac25b056 100644
--- a/target/linux/brcm2708/patches-4.4/0160-BCM270X_DT-Add-Pi3-support.patch
+++ b/target/linux/brcm2708/patches-4.4/0160-BCM270X_DT-Add-Pi3-support.patch
@@ -1,4 +1,4 @@
-From d5ed78c5a2305b7952f4e86f4de4c68630875264 Mon Sep 17 00:00:00 2001
+From 4ef209cd78c9e9eac87838309c727bc90e46abe7 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 21 Jan 2016 17:57:49 +0000
Subject: [PATCH] BCM270X_DT: Add Pi3 support
diff --git a/target/linux/brcm2708/patches-4.4/0161-DT-Add-overlays-to-configure-I2C-pins.patch b/target/linux/brcm2708/patches-4.4/0161-DT-Add-overlays-to-configure-I2C-pins.patch
index 145c6e705c..c24bd1b467 100644
--- a/target/linux/brcm2708/patches-4.4/0161-DT-Add-overlays-to-configure-I2C-pins.patch
+++ b/target/linux/brcm2708/patches-4.4/0161-DT-Add-overlays-to-configure-I2C-pins.patch
@@ -1,4 +1,4 @@
-From ff7f4e8e8f46f1132b1013cf1799abb7dde687cb Mon Sep 17 00:00:00 2001
+From 67c13f9569f35903cd8e02307223f31701e3bece Mon Sep 17 00:00:00 2001
From: Dave Stevenson <6by9@users.noreply.github.com>
Date: Mon, 8 Feb 2016 23:49:41 +0000
Subject: [PATCH] DT: Add overlays to configure I2C pins
diff --git a/target/linux/brcm2708/patches-4.4/0162-bcm2835-camera-fix-a-bug-in-computation-of-frame-tim.patch b/target/linux/brcm2708/patches-4.4/0162-bcm2835-camera-fix-a-bug-in-computation-of-frame-tim.patch
index 04616bf6ea..4c3b55a451 100644
--- a/target/linux/brcm2708/patches-4.4/0162-bcm2835-camera-fix-a-bug-in-computation-of-frame-tim.patch
+++ b/target/linux/brcm2708/patches-4.4/0162-bcm2835-camera-fix-a-bug-in-computation-of-frame-tim.patch
@@ -1,4 +1,4 @@
-From 185f82a6c86933b1df3ba8ec99f82fbcdd77d396 Mon Sep 17 00:00:00 2001
+From 6760ab7eda42c3fba4a8057a51d7cb17fa5d4c5e Mon Sep 17 00:00:00 2001
From: Dhiraj Goel <dhiraj.goel@gmail.com>
Date: Thu, 3 Mar 2016 21:10:50 -0800
Subject: [PATCH] bcm2835-camera: fix a bug in computation of frame timestamp
diff --git a/target/linux/brcm2708/patches-4.4/0163-BCM270X_DT-Add-pi3-disable-bt-overlay.patch b/target/linux/brcm2708/patches-4.4/0163-BCM270X_DT-Add-pi3-disable-bt-overlay.patch
index d2c554c5bc..602bee1af3 100644
--- a/target/linux/brcm2708/patches-4.4/0163-BCM270X_DT-Add-pi3-disable-bt-overlay.patch
+++ b/target/linux/brcm2708/patches-4.4/0163-BCM270X_DT-Add-pi3-disable-bt-overlay.patch
@@ -1,4 +1,4 @@
-From f74038a8afbdbb109f831befeb53ce2b641a8805 Mon Sep 17 00:00:00 2001
+From e203577bc5e6aab0b42e2d7cc25999b2e0976e0b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 2 Mar 2016 10:59:05 +0000
Subject: [PATCH] BCM270X_DT: Add pi3-disable-bt overlay
diff --git a/target/linux/brcm2708/patches-4.4/0164-BCM270X_DT-Add-pi3-miniuart-bt-DT-overlay.patch b/target/linux/brcm2708/patches-4.4/0164-BCM270X_DT-Add-pi3-miniuart-bt-DT-overlay.patch
index 27d7390007..6ef981e80e 100644
--- a/target/linux/brcm2708/patches-4.4/0164-BCM270X_DT-Add-pi3-miniuart-bt-DT-overlay.patch
+++ b/target/linux/brcm2708/patches-4.4/0164-BCM270X_DT-Add-pi3-miniuart-bt-DT-overlay.patch
@@ -1,4 +1,4 @@
-From 3a7f5db20ed4d685ce8b5336f859d547bdd98a85 Mon Sep 17 00:00:00 2001
+From adc561fa52120b3dd7a7c5f485bd7ab29e46e881 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 7 Mar 2016 09:53:03 +0000
Subject: [PATCH] BCM270X_DT: Add pi3-miniuart-bt DT overlay
diff --git a/target/linux/brcm2708/patches-4.4/0165-Pi3-DT-Add-dtparams-for-the-SD-interface.patch b/target/linux/brcm2708/patches-4.4/0165-Pi3-DT-Add-dtparams-for-the-SD-interface.patch
index ecccb2a17d..899e0a51d1 100644
--- a/target/linux/brcm2708/patches-4.4/0165-Pi3-DT-Add-dtparams-for-the-SD-interface.patch
+++ b/target/linux/brcm2708/patches-4.4/0165-Pi3-DT-Add-dtparams-for-the-SD-interface.patch
@@ -1,4 +1,4 @@
-From a241da2b069599afab9ee1259855d3c2e509894d Mon Sep 17 00:00:00 2001
+From 6d0549bc24a0c4668ab1a526d9816fe4acbfe2ea Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 7 Mar 2016 13:38:39 +0000
Subject: [PATCH] Pi3 DT: Add dtparams for the SD interface
diff --git a/target/linux/brcm2708/patches-4.4/0166-vchiq_arm-Tweak-the-logging-output.patch b/target/linux/brcm2708/patches-4.4/0166-vchiq_arm-Tweak-the-logging-output.patch
index d293862335..5e2f13c7f5 100644
--- a/target/linux/brcm2708/patches-4.4/0166-vchiq_arm-Tweak-the-logging-output.patch
+++ b/target/linux/brcm2708/patches-4.4/0166-vchiq_arm-Tweak-the-logging-output.patch
@@ -1,4 +1,4 @@
-From 37f28c9626c8217166a1096e1d6432fca73a0849 Mon Sep 17 00:00:00 2001
+From b7c9cdabb89d18689a9cd3dad75d7a4fffed4818 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 7 Mar 2016 15:05:11 +0000
Subject: [PATCH] vchiq_arm: Tweak the logging output
diff --git a/target/linux/brcm2708/patches-4.4/0167-bcm2835-sdhost-Only-claim-one-DMA-channel.patch b/target/linux/brcm2708/patches-4.4/0167-bcm2835-sdhost-Only-claim-one-DMA-channel.patch
index c487d66292..87506d68bb 100644
--- a/target/linux/brcm2708/patches-4.4/0167-bcm2835-sdhost-Only-claim-one-DMA-channel.patch
+++ b/target/linux/brcm2708/patches-4.4/0167-bcm2835-sdhost-Only-claim-one-DMA-channel.patch
@@ -1,4 +1,4 @@
-From 5f0af4369aeb791f481e05447e1d4d05579367cd Mon Sep 17 00:00:00 2001
+From 535bf1097beb4279ac4895a61199078672ffc63a Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 7 Mar 2016 16:46:39 +0000
Subject: [PATCH] bcm2835-sdhost: Only claim one DMA channel
diff --git a/target/linux/brcm2708/patches-4.4/0168-bcm2835-mmc-Only-claim-one-DMA-channel.patch b/target/linux/brcm2708/patches-4.4/0168-bcm2835-mmc-Only-claim-one-DMA-channel.patch
index 8d78521360..34d61cc494 100644
--- a/target/linux/brcm2708/patches-4.4/0168-bcm2835-mmc-Only-claim-one-DMA-channel.patch
+++ b/target/linux/brcm2708/patches-4.4/0168-bcm2835-mmc-Only-claim-one-DMA-channel.patch
@@ -1,4 +1,4 @@
-From fba9024580be3eed90cce59f776fc27e6ca8fbc9 Mon Sep 17 00:00:00 2001
+From f505fc71c85f0f87e45d4890ae9e7762c38e6c9a Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 8 Mar 2016 09:49:16 +0000
Subject: [PATCH] bcm2835-mmc: Only claim one DMA channel
diff --git a/target/linux/brcm2708/patches-4.4/0169-config-rebuild-with-savedefconfig.patch b/target/linux/brcm2708/patches-4.4/0169-config-rebuild-with-savedefconfig.patch
index 186667ab46..d832f6b288 100644
--- a/target/linux/brcm2708/patches-4.4/0169-config-rebuild-with-savedefconfig.patch
+++ b/target/linux/brcm2708/patches-4.4/0169-config-rebuild-with-savedefconfig.patch
@@ -1,4 +1,4 @@
-From fe221477aa6c78391646e226c029a56e34595873 Mon Sep 17 00:00:00 2001
+From db0e0480f0b4ada69a4c9b4a275b4b111370976f Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 8 Mar 2016 17:08:39 +0000
Subject: [PATCH] config: rebuild with savedefconfig
diff --git a/target/linux/brcm2708/patches-4.4/0170-config-Add-module-for-mcp3422-ADC.patch b/target/linux/brcm2708/patches-4.4/0170-config-Add-module-for-mcp3422-ADC.patch
index b1806928e1..fa4535311c 100644
--- a/target/linux/brcm2708/patches-4.4/0170-config-Add-module-for-mcp3422-ADC.patch
+++ b/target/linux/brcm2708/patches-4.4/0170-config-Add-module-for-mcp3422-ADC.patch
@@ -1,4 +1,4 @@
-From 8ceec2dfed10944e299b4114d756dbe494baaaec Mon Sep 17 00:00:00 2001
+From aa00be1f6c0ae1f04b8ff94d3a091cd2860d47e1 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 8 Mar 2016 17:06:33 +0000
Subject: [PATCH] config: Add module for mcp3422 ADC
diff --git a/target/linux/brcm2708/patches-4.4/0171-Pi3-DT-Add-pull-ups-on-the-UART-RX-lines.patch b/target/linux/brcm2708/patches-4.4/0171-Pi3-DT-Add-pull-ups-on-the-UART-RX-lines.patch
index 94f24ea24b..04e25970d9 100644
--- a/target/linux/brcm2708/patches-4.4/0171-Pi3-DT-Add-pull-ups-on-the-UART-RX-lines.patch
+++ b/target/linux/brcm2708/patches-4.4/0171-Pi3-DT-Add-pull-ups-on-the-UART-RX-lines.patch
@@ -1,4 +1,4 @@
-From e1fd7a9ccd89e291334d4a9d6b7d1f3040d7aad0 Mon Sep 17 00:00:00 2001
+From 4231d2f39951636a1274bfca0073161478e6203b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 8 Mar 2016 16:18:57 +0000
Subject: [PATCH] Pi3 DT: Add pull-ups on the UART RX lines
diff --git a/target/linux/brcm2708/patches-4.4/0173-BCM270X_DT-rpi-display-overlay-add-swapxy-param.patch b/target/linux/brcm2708/patches-4.4/0173-BCM270X_DT-rpi-display-overlay-add-swapxy-param.patch
index f6d1fc96f9..62d105b034 100644
--- a/target/linux/brcm2708/patches-4.4/0173-BCM270X_DT-rpi-display-overlay-add-swapxy-param.patch
+++ b/target/linux/brcm2708/patches-4.4/0173-BCM270X_DT-rpi-display-overlay-add-swapxy-param.patch
@@ -1,4 +1,4 @@
-From 94ffee1a2cbfa8016ca9e4782342618bf88a14c7 Mon Sep 17 00:00:00 2001
+From d74ae60dde1069e18d717bfe9362caa5d3aa8660 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 9 Mar 2016 21:28:52 +0000
Subject: [PATCH] BCM270X_DT: rpi-display overlay - add swapxy param
diff --git a/target/linux/brcm2708/patches-4.4/0174-Remove-I2S-config-from-bt_pins.patch b/target/linux/brcm2708/patches-4.4/0174-Remove-I2S-config-from-bt_pins.patch
index f064c03a2f..bf6e64c2d3 100644
--- a/target/linux/brcm2708/patches-4.4/0174-Remove-I2S-config-from-bt_pins.patch
+++ b/target/linux/brcm2708/patches-4.4/0174-Remove-I2S-config-from-bt_pins.patch
@@ -1,4 +1,4 @@
-From 1bdb6cc0903dce08e168a6d23ba6675202c3dd0f Mon Sep 17 00:00:00 2001
+From 7942b527d3e7d1740a8e74af70437eb05e82ce56 Mon Sep 17 00:00:00 2001
From: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
Date: Fri, 11 Mar 2016 11:44:35 +0000
Subject: [PATCH] Remove I2S config from bt_pins.
diff --git a/target/linux/brcm2708/patches-4.4/0175-Revert-scripts-dtc-Add-overlay-support.patch b/target/linux/brcm2708/patches-4.4/0175-Revert-scripts-dtc-Add-overlay-support.patch
index 50e54786e6..33ba8c5a84 100644
--- a/target/linux/brcm2708/patches-4.4/0175-Revert-scripts-dtc-Add-overlay-support.patch
+++ b/target/linux/brcm2708/patches-4.4/0175-Revert-scripts-dtc-Add-overlay-support.patch
@@ -1,4 +1,4 @@
-From f8a8a35b960f948c60c9d0a4b544366c9154d5a0 Mon Sep 17 00:00:00 2001
+From 042eed4d005cd09ee1322285c0c1e92c93b07795 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 10 Aug 2015 09:44:59 +0100
Subject: [PATCH] Revert "scripts/dtc: Add overlay support"
diff --git a/target/linux/brcm2708/patches-4.4/0176-scripts-dtc-Update-to-upstream-version-1.4.1.patch b/target/linux/brcm2708/patches-4.4/0176-scripts-dtc-Update-to-upstream-version-1.4.1.patch
index 82a744363a..c52f8a1727 100644
--- a/target/linux/brcm2708/patches-4.4/0176-scripts-dtc-Update-to-upstream-version-1.4.1.patch
+++ b/target/linux/brcm2708/patches-4.4/0176-scripts-dtc-Update-to-upstream-version-1.4.1.patch
@@ -1,4 +1,4 @@
-From c128c19379082f13558d4b51ae7d15a209bd9918 Mon Sep 17 00:00:00 2001
+From 0b65cac4de4a82ca44fdb9e1a448efa8e7d4c939 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 10 Aug 2015 09:49:15 +0100
Subject: [PATCH] scripts/dtc: Update to upstream version 1.4.1
diff --git a/target/linux/brcm2708/patches-4.4/0177-configfs-implement-binary-attributes.patch b/target/linux/brcm2708/patches-4.4/0177-configfs-implement-binary-attributes.patch
index 03d68146e3..26a766af6f 100644
--- a/target/linux/brcm2708/patches-4.4/0177-configfs-implement-binary-attributes.patch
+++ b/target/linux/brcm2708/patches-4.4/0177-configfs-implement-binary-attributes.patch
@@ -1,4 +1,4 @@
-From 14ea3d6ac7fea0e515bbde859379b0a43b6d67b9 Mon Sep 17 00:00:00 2001
+From 5bf309aa8dfe300fdfe23413f32935c34ebc8770 Mon Sep 17 00:00:00 2001
From: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Date: Thu, 22 Oct 2015 23:30:04 +0300
Subject: [PATCH] configfs: implement binary attributes
diff --git a/target/linux/brcm2708/patches-4.4/0178-OF-DT-Overlay-configfs-interface.patch b/target/linux/brcm2708/patches-4.4/0178-OF-DT-Overlay-configfs-interface.patch
index 4dae3cfa75..ad5b250cd5 100644
--- a/target/linux/brcm2708/patches-4.4/0178-OF-DT-Overlay-configfs-interface.patch
+++ b/target/linux/brcm2708/patches-4.4/0178-OF-DT-Overlay-configfs-interface.patch
@@ -1,4 +1,4 @@
-From 9745f13ee715e7f47ac11a31d0f75b9661b63344 Mon Sep 17 00:00:00 2001
+From 837aeb8b5e162873fe687e788c74984645e83964 Mon Sep 17 00:00:00 2001
From: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Date: Wed, 3 Dec 2014 13:23:28 +0200
Subject: [PATCH] OF: DT-Overlay configfs interface
diff --git a/target/linux/brcm2708/patches-4.4/0179-Protect-__release_resource-against-resources-without.patch b/target/linux/brcm2708/patches-4.4/0179-Protect-__release_resource-against-resources-without.patch
index 39f260cd45..2455d52b61 100644
--- a/target/linux/brcm2708/patches-4.4/0179-Protect-__release_resource-against-resources-without.patch
+++ b/target/linux/brcm2708/patches-4.4/0179-Protect-__release_resource-against-resources-without.patch
@@ -1,4 +1,4 @@
-From 984c98b47f9ffd5f57599e604df2cc09c63f74ba Mon Sep 17 00:00:00 2001
+From a58c105dfd13e0ba54a1124d0aad81d9c25f85e3 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 13 Mar 2015 12:43:36 +0000
Subject: [PATCH] Protect __release_resource against resources without parents
diff --git a/target/linux/brcm2708/patches-4.4/0180-BCM270X_DT-Add-a-.dtbo-target-use-for-overlays.patch b/target/linux/brcm2708/patches-4.4/0180-BCM270X_DT-Add-a-.dtbo-target-use-for-overlays.patch
index 45de5b83e8..620c346100 100644
--- a/target/linux/brcm2708/patches-4.4/0180-BCM270X_DT-Add-a-.dtbo-target-use-for-overlays.patch
+++ b/target/linux/brcm2708/patches-4.4/0180-BCM270X_DT-Add-a-.dtbo-target-use-for-overlays.patch
@@ -1,4 +1,4 @@
-From 95aee427e91922408870627e6e3d66f975791336 Mon Sep 17 00:00:00 2001
+From dc51a5855ded07e7f8bcf0e63c38f23e747be828 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 13 Mar 2015 20:00:21 +0000
Subject: [PATCH] BCM270X_DT: Add a .dtbo target, use for overlays
diff --git a/target/linux/brcm2708/patches-4.4/0181-scripts-knlinfo-Decode-DDTK-atom.patch b/target/linux/brcm2708/patches-4.4/0181-scripts-knlinfo-Decode-DDTK-atom.patch
index e793f1a08f..6ac627b562 100644
--- a/target/linux/brcm2708/patches-4.4/0181-scripts-knlinfo-Decode-DDTK-atom.patch
+++ b/target/linux/brcm2708/patches-4.4/0181-scripts-knlinfo-Decode-DDTK-atom.patch
@@ -1,4 +1,4 @@
-From 5f1a77a98df6352d585a906a61166062cb43c14b Mon Sep 17 00:00:00 2001
+From 6aa589e510033a1876471f6aa0dbbd4626d46da3 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 29 May 2015 11:18:58 +0100
Subject: [PATCH] scripts/knlinfo: Decode DDTK atom
diff --git a/target/linux/brcm2708/patches-4.4/0182-Enable-Dynamic-Device-Tree-for-bcmrpi_defconfig-and-.patch b/target/linux/brcm2708/patches-4.4/0182-Enable-Dynamic-Device-Tree-for-bcmrpi_defconfig-and-.patch
index 418a8d77e9..9ce177e555 100644
--- a/target/linux/brcm2708/patches-4.4/0182-Enable-Dynamic-Device-Tree-for-bcmrpi_defconfig-and-.patch
+++ b/target/linux/brcm2708/patches-4.4/0182-Enable-Dynamic-Device-Tree-for-bcmrpi_defconfig-and-.patch
@@ -1,4 +1,4 @@
-From 6d4c8ab1f16bc536dd5d858341e1c0d0b67d930b Mon Sep 17 00:00:00 2001
+From f5017a57544d55b8dddb02bf34379bc1ab31b169 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 29 May 2015 11:48:59 +0100
Subject: [PATCH] Enable Dynamic Device Tree for bcmrpi_defconfig and
diff --git a/target/linux/brcm2708/patches-4.4/0183-SQUASH-Add-CONFIG_OF_CONFIGFS-to-bcmrpi_defconfig.patch b/target/linux/brcm2708/patches-4.4/0183-SQUASH-Add-CONFIG_OF_CONFIGFS-to-bcmrpi_defconfig.patch
index 0100df7a1b..29cc047bd6 100644
--- a/target/linux/brcm2708/patches-4.4/0183-SQUASH-Add-CONFIG_OF_CONFIGFS-to-bcmrpi_defconfig.patch
+++ b/target/linux/brcm2708/patches-4.4/0183-SQUASH-Add-CONFIG_OF_CONFIGFS-to-bcmrpi_defconfig.patch
@@ -1,4 +1,4 @@
-From fbc9f06dc47543dbd6b7f2806f6535082eac3696 Mon Sep 17 00:00:00 2001
+From 61f50528b39f21e872ec0a3a138f2323a2676f6d Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Sun, 13 Mar 2016 16:14:44 +0000
Subject: [PATCH] SQUASH: Add CONFIG_OF_CONFIGFS to bcmrpi_defconfig
diff --git a/target/linux/brcm2708/patches-4.4/0184-dts-kbuild-dtbs_install-installs-.dtbo-files-too.patch b/target/linux/brcm2708/patches-4.4/0184-dts-kbuild-dtbs_install-installs-.dtbo-files-too.patch
index 68898477b5..3d7b829920 100644
--- a/target/linux/brcm2708/patches-4.4/0184-dts-kbuild-dtbs_install-installs-.dtbo-files-too.patch
+++ b/target/linux/brcm2708/patches-4.4/0184-dts-kbuild-dtbs_install-installs-.dtbo-files-too.patch
@@ -1,4 +1,4 @@
-From 68bdbeeade267f4aff7a4eaf9a122baf306982f4 Mon Sep 17 00:00:00 2001
+From 8ceb57a34f122beb1ac3fe70173c541d26fba76e Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 14 Mar 2016 16:56:54 +0000
Subject: [PATCH] dts, kbuild: dtbs_install installs .dtbo files too
diff --git a/target/linux/brcm2708/patches-4.4/0185-bcm2835-sdhost-Workaround-for-slow-sectors.patch b/target/linux/brcm2708/patches-4.4/0185-bcm2835-sdhost-Workaround-for-slow-sectors.patch
index 7640647146..58c7fad7fb 100644
--- a/target/linux/brcm2708/patches-4.4/0185-bcm2835-sdhost-Workaround-for-slow-sectors.patch
+++ b/target/linux/brcm2708/patches-4.4/0185-bcm2835-sdhost-Workaround-for-slow-sectors.patch
@@ -1,4 +1,4 @@
-From a4a7cdd3364de9fa9edfb32a64fa0e7a577d9143 Mon Sep 17 00:00:00 2001
+From 95ca033cb9ac492b060c0cc44093180871e8d63b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 15 Mar 2016 14:10:29 +0000
Subject: [PATCH] bcm2835-sdhost: Workaround for "slow" sectors
diff --git a/target/linux/brcm2708/patches-4.4/0186-BCM270X_DT-Add-labels-to-spidev-nodes.patch b/target/linux/brcm2708/patches-4.4/0186-BCM270X_DT-Add-labels-to-spidev-nodes.patch
index d2277b960d..f7b8bc6a18 100644
--- a/target/linux/brcm2708/patches-4.4/0186-BCM270X_DT-Add-labels-to-spidev-nodes.patch
+++ b/target/linux/brcm2708/patches-4.4/0186-BCM270X_DT-Add-labels-to-spidev-nodes.patch
@@ -1,4 +1,4 @@
-From bf6a2bb922c5ef6831d40eb934597733836080bf Mon Sep 17 00:00:00 2001
+From 2007577b3766f15a9fa3d288d4a31d58ac9e2fbc Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 15 Mar 2016 15:49:16 +0000
Subject: [PATCH] BCM270X_DT: Add labels to spidev nodes
diff --git a/target/linux/brcm2708/patches-4.4/0187-BCM270X_DT-Use-spidev-labels-in-overlays.patch b/target/linux/brcm2708/patches-4.4/0187-BCM270X_DT-Use-spidev-labels-in-overlays.patch
index e1facfa72d..00a2cf4321 100644
--- a/target/linux/brcm2708/patches-4.4/0187-BCM270X_DT-Use-spidev-labels-in-overlays.patch
+++ b/target/linux/brcm2708/patches-4.4/0187-BCM270X_DT-Use-spidev-labels-in-overlays.patch
@@ -1,4 +1,4 @@
-From 66c35d065749cfb8b128077cfc1a114674273bea Mon Sep 17 00:00:00 2001
+From 9f69e431b2fb604797348c3b443b5c67b0e33c6d Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 15 Mar 2016 16:27:26 +0000
Subject: [PATCH] BCM270X_DT: Use spidev labels in overlays
diff --git a/target/linux/brcm2708/patches-4.4/0188-BCM270X_DT-Build-and-document-the-wittypi-overlay.patch b/target/linux/brcm2708/patches-4.4/0188-BCM270X_DT-Build-and-document-the-wittypi-overlay.patch
index d74ce04a63..d68f022dfb 100644
--- a/target/linux/brcm2708/patches-4.4/0188-BCM270X_DT-Build-and-document-the-wittypi-overlay.patch
+++ b/target/linux/brcm2708/patches-4.4/0188-BCM270X_DT-Build-and-document-the-wittypi-overlay.patch
@@ -1,4 +1,4 @@
-From 3b2ac4714efbc144e8df9fd939498313958eaac5 Mon Sep 17 00:00:00 2001
+From 1bf20e7041a933386fb59eee85fbdeed19114f3e Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 15 Mar 2016 16:41:37 +0000
Subject: [PATCH] BCM270X_DT: Build and document the wittypi overlay
diff --git a/target/linux/brcm2708/patches-4.4/0189-scripts-dtc-Fix-UMR-causing-corrupt-dtbo-overlay-fil.patch b/target/linux/brcm2708/patches-4.4/0189-scripts-dtc-Fix-UMR-causing-corrupt-dtbo-overlay-fil.patch
index cfa53d4ed8..c09d4a777e 100644
--- a/target/linux/brcm2708/patches-4.4/0189-scripts-dtc-Fix-UMR-causing-corrupt-dtbo-overlay-fil.patch
+++ b/target/linux/brcm2708/patches-4.4/0189-scripts-dtc-Fix-UMR-causing-corrupt-dtbo-overlay-fil.patch
@@ -1,4 +1,4 @@
-From c12c80f4a33ca959cb0a62c6284bbc27cdce0b48 Mon Sep 17 00:00:00 2001
+From 2c25f59ed0d0feaf05ff1b7b4665081ecd429c50 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Tue, 15 Mar 2016 21:13:39 +0100
Subject: [PATCH] scripts/dtc: Fix UMR causing corrupt dtbo overlay files
diff --git a/target/linux/brcm2708/patches-4.4/0190-BCM270X_DT-Add-dtparam-for-uart1.patch b/target/linux/brcm2708/patches-4.4/0190-BCM270X_DT-Add-dtparam-for-uart1.patch
index b707548525..396ef3534b 100644
--- a/target/linux/brcm2708/patches-4.4/0190-BCM270X_DT-Add-dtparam-for-uart1.patch
+++ b/target/linux/brcm2708/patches-4.4/0190-BCM270X_DT-Add-dtparam-for-uart1.patch
@@ -1,4 +1,4 @@
-From 64b838bcfcd490561e919bd569da8ab3afb83f83 Mon Sep 17 00:00:00 2001
+From ccc5778597639879e9260af8c3fa601c03e13846 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 16 Mar 2016 08:35:06 +0000
Subject: [PATCH] BCM270X_DT: Add dtparam for uart1
diff --git a/target/linux/brcm2708/patches-4.4/0191-dwc-overlay-Use-label-so-overrides-can-apply.patch b/target/linux/brcm2708/patches-4.4/0191-dwc-overlay-Use-label-so-overrides-can-apply.patch
index 0e0583e666..3ddbd22be1 100644
--- a/target/linux/brcm2708/patches-4.4/0191-dwc-overlay-Use-label-so-overrides-can-apply.patch
+++ b/target/linux/brcm2708/patches-4.4/0191-dwc-overlay-Use-label-so-overrides-can-apply.patch
@@ -1,4 +1,4 @@
-From a81b12982d9624ad84d05996233239bb7e213f70 Mon Sep 17 00:00:00 2001
+From dda2c9e1ba7c3a98e49e57a2188f713affd22b2b Mon Sep 17 00:00:00 2001
From: Przemek Rudy <prudy1@o2.pl>
Date: Fri, 11 Mar 2016 22:41:26 +0100
Subject: [PATCH] dwc-overlay: Use label so overrides can apply.
diff --git a/target/linux/brcm2708/patches-4.4/0192-drm-vc4-Add-a-debugfs-node-for-tracking-execution-st.patch b/target/linux/brcm2708/patches-4.4/0192-drm-vc4-Add-a-debugfs-node-for-tracking-execution-st.patch
index 2a0ffc5d8e..01318a8ecd 100644
--- a/target/linux/brcm2708/patches-4.4/0192-drm-vc4-Add-a-debugfs-node-for-tracking-execution-st.patch
+++ b/target/linux/brcm2708/patches-4.4/0192-drm-vc4-Add-a-debugfs-node-for-tracking-execution-st.patch
@@ -1,4 +1,4 @@
-From 2bcb714370ae69fe808d7e2061927c2ea1753ff7 Mon Sep 17 00:00:00 2001
+From 52b14a59aff492c6064e12e7e9c943a256a19e9c Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 22 Jan 2016 13:06:39 -0800
Subject: [PATCH] drm/vc4: Add a debugfs node for tracking execution state.
diff --git a/target/linux/brcm2708/patches-4.4/0193-drm-vc4-Include-vc4_drm.h-in-uapi-in-downstream-buil.patch b/target/linux/brcm2708/patches-4.4/0193-drm-vc4-Include-vc4_drm.h-in-uapi-in-downstream-buil.patch
index da107905fe..a9749186ce 100644
--- a/target/linux/brcm2708/patches-4.4/0193-drm-vc4-Include-vc4_drm.h-in-uapi-in-downstream-buil.patch
+++ b/target/linux/brcm2708/patches-4.4/0193-drm-vc4-Include-vc4_drm.h-in-uapi-in-downstream-buil.patch
@@ -1,4 +1,4 @@
-From e8da5a4c9dfbb65205cc9e4d448af3e8965af88d Mon Sep 17 00:00:00 2001
+From e825d46ed778699b2e96adbe7e947a2d3c0f092b Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 25 Jan 2016 13:03:33 -0800
Subject: [PATCH] drm/vc4: Include vc4_drm.h in uapi in downstream build.
diff --git a/target/linux/brcm2708/patches-4.4/0194-drm-vc4-Validate-that-WAIT_BO-padding-is-cleared.patch b/target/linux/brcm2708/patches-4.4/0194-drm-vc4-Validate-that-WAIT_BO-padding-is-cleared.patch
index f53dcecbd6..306bd2a371 100644
--- a/target/linux/brcm2708/patches-4.4/0194-drm-vc4-Validate-that-WAIT_BO-padding-is-cleared.patch
+++ b/target/linux/brcm2708/patches-4.4/0194-drm-vc4-Validate-that-WAIT_BO-padding-is-cleared.patch
@@ -1,4 +1,4 @@
-From baf132f97c5fa25c0dcec59369e225e759ab22e6 Mon Sep 17 00:00:00 2001
+From d0ec6706ad65b6d760da74f5d437d973fe1e8a23 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 25 Jan 2016 13:05:00 -0800
Subject: [PATCH] drm/vc4: Validate that WAIT_BO padding is cleared.
diff --git a/target/linux/brcm2708/patches-4.4/0195-drm-vc4-Fix-the-clear-color-for-the-first-tile-rende.patch b/target/linux/brcm2708/patches-4.4/0195-drm-vc4-Fix-the-clear-color-for-the-first-tile-rende.patch
index a1a3d6be1e..bfa0c8ca80 100644
--- a/target/linux/brcm2708/patches-4.4/0195-drm-vc4-Fix-the-clear-color-for-the-first-tile-rende.patch
+++ b/target/linux/brcm2708/patches-4.4/0195-drm-vc4-Fix-the-clear-color-for-the-first-tile-rende.patch
@@ -1,4 +1,4 @@
-From 339e2ea50b25fe0183161cee31f640e691f2a1c0 Mon Sep 17 00:00:00 2001
+From 97a21ddbd77a52a444560be76dfd9e0a58ddb141 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 25 Jan 2016 13:52:41 -0800
Subject: [PATCH] drm/vc4: Fix the clear color for the first tile rendered.
diff --git a/target/linux/brcm2708/patches-4.4/0196-drm-vc4-Return-an-ERR_PTR-from-BO-creation-instead-o.patch b/target/linux/brcm2708/patches-4.4/0196-drm-vc4-Return-an-ERR_PTR-from-BO-creation-instead-o.patch
index f9daa878d2..b1717fd1b8 100644
--- a/target/linux/brcm2708/patches-4.4/0196-drm-vc4-Return-an-ERR_PTR-from-BO-creation-instead-o.patch
+++ b/target/linux/brcm2708/patches-4.4/0196-drm-vc4-Return-an-ERR_PTR-from-BO-creation-instead-o.patch
@@ -1,4 +1,4 @@
-From 96cfc336eb33c0152c4aff462bd6a21cd75cc731 Mon Sep 17 00:00:00 2001
+From 6931f7be4e5485733229d15be79ca2a2861255e0 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 25 Jan 2016 14:13:12 -0800
Subject: [PATCH] drm/vc4: Return an ERR_PTR from BO creation instead of NULL.
diff --git a/target/linux/brcm2708/patches-4.4/0197-drm-vc4-Fix-ERESTARTSYS-error-return-from-BO-waits.patch b/target/linux/brcm2708/patches-4.4/0197-drm-vc4-Fix-ERESTARTSYS-error-return-from-BO-waits.patch
index 0d185a63e6..7a7ff5e5af 100644
--- a/target/linux/brcm2708/patches-4.4/0197-drm-vc4-Fix-ERESTARTSYS-error-return-from-BO-waits.patch
+++ b/target/linux/brcm2708/patches-4.4/0197-drm-vc4-Fix-ERESTARTSYS-error-return-from-BO-waits.patch
@@ -1,4 +1,4 @@
-From 0304e9381edf30280122d981e5a1b8dedc4c003f Mon Sep 17 00:00:00 2001
+From 4c0209e0ffde7a73494aca652145f5a803fa58ae Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 25 Jan 2016 14:32:41 -0800
Subject: [PATCH] drm/vc4: Fix -ERESTARTSYS error return from BO waits.
diff --git a/target/linux/brcm2708/patches-4.4/0198-drm-vc4-Drop-error-message-on-seqno-wait-timeouts.patch b/target/linux/brcm2708/patches-4.4/0198-drm-vc4-Drop-error-message-on-seqno-wait-timeouts.patch
index c0ec5260c1..8c65094a46 100644
--- a/target/linux/brcm2708/patches-4.4/0198-drm-vc4-Drop-error-message-on-seqno-wait-timeouts.patch
+++ b/target/linux/brcm2708/patches-4.4/0198-drm-vc4-Drop-error-message-on-seqno-wait-timeouts.patch
@@ -1,4 +1,4 @@
-From d12dd7a58fcc585b75fae60ab230a51b2ac9a6cb Mon Sep 17 00:00:00 2001
+From ab28176ed8636d47a33183238b3003585b02bafc Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 25 Jan 2016 14:33:50 -0800
Subject: [PATCH] drm/vc4: Drop error message on seqno wait timeouts.
diff --git a/target/linux/brcm2708/patches-4.4/0199-BCM270X_DT-Add-1-bit-SDIO-using-minimal-pins.patch b/target/linux/brcm2708/patches-4.4/0199-BCM270X_DT-Add-1-bit-SDIO-using-minimal-pins.patch
index 9e0044673d..d516e38df9 100644
--- a/target/linux/brcm2708/patches-4.4/0199-BCM270X_DT-Add-1-bit-SDIO-using-minimal-pins.patch
+++ b/target/linux/brcm2708/patches-4.4/0199-BCM270X_DT-Add-1-bit-SDIO-using-minimal-pins.patch
@@ -1,4 +1,4 @@
-From 895c93a3efd6653df6bbabc12c2e0205be5560dd Mon Sep 17 00:00:00 2001
+From 0c30ca161cd0aeda5ce514055897c07dcdf8e5cb Mon Sep 17 00:00:00 2001
From: campag <dave-lowe@ntlworld.com>
Date: Wed, 24 Feb 2016 16:45:42 +0000
Subject: [PATCH] BCM270X_DT: Add 1-bit SDIO using minimal pins...
diff --git a/target/linux/brcm2708/patches-4.4/0201-Add-overlay-and-enable-support-for-QCA7000-board.patch b/target/linux/brcm2708/patches-4.4/0201-Add-overlay-and-enable-support-for-QCA7000-board.patch
index 56e6b506b4..72c3933343 100644
--- a/target/linux/brcm2708/patches-4.4/0201-Add-overlay-and-enable-support-for-QCA7000-board.patch
+++ b/target/linux/brcm2708/patches-4.4/0201-Add-overlay-and-enable-support-for-QCA7000-board.patch
@@ -1,4 +1,4 @@
-From 52ca91f1e28a45f4584432525b149f32a0048dd0 Mon Sep 17 00:00:00 2001
+From 1051b5df8570b9b4585fa549628f3fdd4269c171 Mon Sep 17 00:00:00 2001
From: Michael Heimpold <michael.heimpold@i2se.com>
Date: Fri, 29 Jan 2016 12:00:37 +0100
Subject: [PATCH] Add overlay and enable support for QCA7000 board
diff --git a/target/linux/brcm2708/patches-4.4/0202-serial-Take-care-starting-a-hung-up-tty-s-port.patch b/target/linux/brcm2708/patches-4.4/0202-serial-Take-care-starting-a-hung-up-tty-s-port.patch
index e917d443e2..780ad459a8 100644
--- a/target/linux/brcm2708/patches-4.4/0202-serial-Take-care-starting-a-hung-up-tty-s-port.patch
+++ b/target/linux/brcm2708/patches-4.4/0202-serial-Take-care-starting-a-hung-up-tty-s-port.patch
@@ -1,4 +1,4 @@
-From baaee4dd48573d8de4e22d812717c6863ba4b7e6 Mon Sep 17 00:00:00 2001
+From a98fb5280c69d90e85bb875177a68880089312b0 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 9 Mar 2016 13:28:24 +0000
Subject: [PATCH] serial: Take care starting a hung-up tty's port
diff --git a/target/linux/brcm2708/patches-4.4/0203-pi3-miniuart-bt-overlay-Correct-and-clarify-info.patch b/target/linux/brcm2708/patches-4.4/0203-pi3-miniuart-bt-overlay-Correct-and-clarify-info.patch
index 340be02969..295147f87d 100644
--- a/target/linux/brcm2708/patches-4.4/0203-pi3-miniuart-bt-overlay-Correct-and-clarify-info.patch
+++ b/target/linux/brcm2708/patches-4.4/0203-pi3-miniuart-bt-overlay-Correct-and-clarify-info.patch
@@ -1,4 +1,4 @@
-From f763209fb1c001b84b03ba86c72db7a7ae8fb441 Mon Sep 17 00:00:00 2001
+From 36b8544e144679820d51eaa2df304037cde3d790 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 17 Mar 2016 10:16:16 +0000
Subject: [PATCH] pi3-miniuart-bt-overlay: Correct and clarify info
diff --git a/target/linux/brcm2708/patches-4.4/0204-pwm-overlays-Params-must-have-in-overlay-targets.patch b/target/linux/brcm2708/patches-4.4/0204-pwm-overlays-Params-must-have-in-overlay-targets.patch
index 8921375b83..3f958b5c8f 100644
--- a/target/linux/brcm2708/patches-4.4/0204-pwm-overlays-Params-must-have-in-overlay-targets.patch
+++ b/target/linux/brcm2708/patches-4.4/0204-pwm-overlays-Params-must-have-in-overlay-targets.patch
@@ -1,4 +1,4 @@
-From 45513400f0b487f9bbca90e823fa591ef741dad8 Mon Sep 17 00:00:00 2001
+From 7f76d6841a10b715bea14251c948d92ad3067ff7 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 17 Mar 2016 10:41:56 +0000
Subject: [PATCH] pwm overlays: Params must have in-overlay targets
diff --git a/target/linux/brcm2708/patches-4.4/0205-BCM270X_DT-Switch-Compute-Module-to-MMC.patch b/target/linux/brcm2708/patches-4.4/0205-BCM270X_DT-Switch-Compute-Module-to-MMC.patch
index a328f35b75..43267f0d2d 100644
--- a/target/linux/brcm2708/patches-4.4/0205-BCM270X_DT-Switch-Compute-Module-to-MMC.patch
+++ b/target/linux/brcm2708/patches-4.4/0205-BCM270X_DT-Switch-Compute-Module-to-MMC.patch
@@ -1,4 +1,4 @@
-From 263f82e038a8ae204e6beaf2102ad9d91d5ca4ee Mon Sep 17 00:00:00 2001
+From df6733ad56b80de44fdddf9401ca8dbb45ef5479 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 18 Mar 2016 13:06:29 +0000
Subject: [PATCH] BCM270X_DT: Switch Compute Module to MMC
diff --git a/target/linux/brcm2708/patches-4.4/0206-dwc_otg-Don-t-free-qh-align-buffers-in-atomic-contex.patch b/target/linux/brcm2708/patches-4.4/0206-dwc_otg-Don-t-free-qh-align-buffers-in-atomic-contex.patch
index 5c9edea13c..c25bb7bada 100644
--- a/target/linux/brcm2708/patches-4.4/0206-dwc_otg-Don-t-free-qh-align-buffers-in-atomic-contex.patch
+++ b/target/linux/brcm2708/patches-4.4/0206-dwc_otg-Don-t-free-qh-align-buffers-in-atomic-contex.patch
@@ -1,4 +1,4 @@
-From c237ff4a1325ac94169ed1f5f9022f1358b79ac9 Mon Sep 17 00:00:00 2001
+From 63c48596343f1431c898381a06629eef2719fbeb Mon Sep 17 00:00:00 2001
From: P33M <P33M@github.com>
Date: Fri, 18 Mar 2016 17:38:37 +0000
Subject: [PATCH] dwc_otg: Don't free qh align buffers in atomic context
diff --git a/target/linux/brcm2708/patches-4.4/0207-dwc_otg-Enable-the-hack-for-Split-Interrupt-transact.patch b/target/linux/brcm2708/patches-4.4/0207-dwc_otg-Enable-the-hack-for-Split-Interrupt-transact.patch
index 783efbae42..37ceef4386 100644
--- a/target/linux/brcm2708/patches-4.4/0207-dwc_otg-Enable-the-hack-for-Split-Interrupt-transact.patch
+++ b/target/linux/brcm2708/patches-4.4/0207-dwc_otg-Enable-the-hack-for-Split-Interrupt-transact.patch
@@ -1,4 +1,4 @@
-From 87dd923568a28a6784581a3f4c18970b834779a8 Mon Sep 17 00:00:00 2001
+From 233851b858bcbf1be26d372064a71cfee7d31f4a Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 21 Mar 2016 15:38:38 +0000
Subject: [PATCH] dwc_otg: Enable the hack for Split Interrupt transactions by
diff --git a/target/linux/brcm2708/patches-4.4/0208-BCM270X_DT-Remove-explicit-claiming-of-UART-pins.patch b/target/linux/brcm2708/patches-4.4/0208-BCM270X_DT-Remove-explicit-claiming-of-UART-pins.patch
index d4eb172f6c..1a8b4e309b 100644
--- a/target/linux/brcm2708/patches-4.4/0208-BCM270X_DT-Remove-explicit-claiming-of-UART-pins.patch
+++ b/target/linux/brcm2708/patches-4.4/0208-BCM270X_DT-Remove-explicit-claiming-of-UART-pins.patch
@@ -1,4 +1,4 @@
-From 678f08c4c3fd62b5e3cd95cc9596733354b2ba19 Mon Sep 17 00:00:00 2001
+From a2f5eadfa43687957033e3ee56c945db0d8842ff Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Sat, 19 Mar 2016 16:51:37 +0000
Subject: [PATCH] BCM270X_DT: Remove explicit claiming of UART pins
diff --git a/target/linux/brcm2708/patches-4.4/0209-lirc_rpi-Lower-IR-reception-error-to-debug.patch b/target/linux/brcm2708/patches-4.4/0209-lirc_rpi-Lower-IR-reception-error-to-debug.patch
index 663d9cc7b0..4e9c3e648c 100644
--- a/target/linux/brcm2708/patches-4.4/0209-lirc_rpi-Lower-IR-reception-error-to-debug.patch
+++ b/target/linux/brcm2708/patches-4.4/0209-lirc_rpi-Lower-IR-reception-error-to-debug.patch
@@ -1,4 +1,4 @@
-From f05cfb491a1895d0975be326a9e7e061c6db2d5a Mon Sep 17 00:00:00 2001
+From fbef85f29f48bd75a0bd5a7aa9c1a061ef30eaad Mon Sep 17 00:00:00 2001
From: Rodrigo Freire <rfreire@rf.usersys.redhat.com>
Date: Tue, 22 Mar 2016 12:40:33 -0300
Subject: [PATCH] lirc_rpi: Lower IR reception error to debug
diff --git a/target/linux/brcm2708/patches-4.4/0210-vchiq_arm-Access-the-dequeue_pending-flag-locked.patch b/target/linux/brcm2708/patches-4.4/0210-vchiq_arm-Access-the-dequeue_pending-flag-locked.patch
index 861f8853fc..5b028e4e9d 100644
--- a/target/linux/brcm2708/patches-4.4/0210-vchiq_arm-Access-the-dequeue_pending-flag-locked.patch
+++ b/target/linux/brcm2708/patches-4.4/0210-vchiq_arm-Access-the-dequeue_pending-flag-locked.patch
@@ -1,4 +1,4 @@
-From 39afc75832ce9cd81f09b035630dd30e325f1797 Mon Sep 17 00:00:00 2001
+From c2d672f4a69716b0619162a9fd99e3daf5b7406c Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 23 Mar 2016 14:16:25 +0000
Subject: [PATCH] vchiq_arm: Access the dequeue_pending flag locked
diff --git a/target/linux/brcm2708/patches-4.4/0211-BCM270X_DT-Add-pi3-act-led-overlay.patch b/target/linux/brcm2708/patches-4.4/0211-BCM270X_DT-Add-pi3-act-led-overlay.patch
index 9a9ec8108e..9c055e751e 100644
--- a/target/linux/brcm2708/patches-4.4/0211-BCM270X_DT-Add-pi3-act-led-overlay.patch
+++ b/target/linux/brcm2708/patches-4.4/0211-BCM270X_DT-Add-pi3-act-led-overlay.patch
@@ -1,4 +1,4 @@
-From 48ba5a6ae0158827e416d8b8cd21680672737b79 Mon Sep 17 00:00:00 2001
+From b77abe2ef3f89489f9ca47653170bf31c3ea0bab Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 23 Mar 2016 15:57:14 +0000
Subject: [PATCH] BCM270X_DT: Add pi3-act-led overlay
diff --git a/target/linux/brcm2708/patches-4.4/0212-vchiq_arm-Service-callbacks-must-not-fail.patch b/target/linux/brcm2708/patches-4.4/0212-vchiq_arm-Service-callbacks-must-not-fail.patch
index 533a3a295d..8a16cca84d 100644
--- a/target/linux/brcm2708/patches-4.4/0212-vchiq_arm-Service-callbacks-must-not-fail.patch
+++ b/target/linux/brcm2708/patches-4.4/0212-vchiq_arm-Service-callbacks-must-not-fail.patch
@@ -1,4 +1,4 @@
-From 827e46013755254e526f0b682495ee88066a05a3 Mon Sep 17 00:00:00 2001
+From 9f0245f4c5b19e0708891143438d93b876e48aca Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 23 Mar 2016 20:53:47 +0000
Subject: [PATCH] vchiq_arm: Service callbacks must not fail
diff --git a/target/linux/brcm2708/patches-4.4/0213-Add-configs-and-overlay-for-PCA9548-I2C-mux.patch b/target/linux/brcm2708/patches-4.4/0213-Add-configs-and-overlay-for-PCA9548-I2C-mux.patch
index d7bb6a215b..e49cb12b5d 100644
--- a/target/linux/brcm2708/patches-4.4/0213-Add-configs-and-overlay-for-PCA9548-I2C-mux.patch
+++ b/target/linux/brcm2708/patches-4.4/0213-Add-configs-and-overlay-for-PCA9548-I2C-mux.patch
@@ -1,4 +1,4 @@
-From 07207eccca9d4439d69e56fb5df378ac669087bf Mon Sep 17 00:00:00 2001
+From 7a08c498e9f5c7ddd27e7f1956fa532cba009cd4 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <6by9@users.noreply.github.com>
Date: Thu, 17 Mar 2016 18:16:16 +0000
Subject: [PATCH] Add configs and overlay for PCA9548 I2C mux
diff --git a/target/linux/brcm2708/patches-4.4/0214-BCM270X_DT-Add-DS1339-to-i2c-rtc-overlay.patch b/target/linux/brcm2708/patches-4.4/0214-BCM270X_DT-Add-DS1339-to-i2c-rtc-overlay.patch
index 3155ccea7c..c8f7ebde9e 100644
--- a/target/linux/brcm2708/patches-4.4/0214-BCM270X_DT-Add-DS1339-to-i2c-rtc-overlay.patch
+++ b/target/linux/brcm2708/patches-4.4/0214-BCM270X_DT-Add-DS1339-to-i2c-rtc-overlay.patch
@@ -1,4 +1,4 @@
-From d491a6a5acfeacccf0a24171babc0d5cf80a91da Mon Sep 17 00:00:00 2001
+From d1235b349a4f89dec0738692494373471acb3a36 Mon Sep 17 00:00:00 2001
From: Nicolas Boullis <nboullis@debian.org>
Date: Wed, 23 Mar 2016 23:40:15 +0100
Subject: [PATCH] BCM270X_DT: Add DS1339 to i2c-rtc overlay
diff --git a/target/linux/brcm2708/patches-4.4/0215-copy_from_user-CPU_SW_DOMAIN_PAN-compatibility.patch b/target/linux/brcm2708/patches-4.4/0215-copy_from_user-CPU_SW_DOMAIN_PAN-compatibility.patch
index 0203f96ab6..0e7d578b5e 100644
--- a/target/linux/brcm2708/patches-4.4/0215-copy_from_user-CPU_SW_DOMAIN_PAN-compatibility.patch
+++ b/target/linux/brcm2708/patches-4.4/0215-copy_from_user-CPU_SW_DOMAIN_PAN-compatibility.patch
@@ -1,4 +1,4 @@
-From 2f3fc168789eb4952a99e19c046867516fc522f7 Mon Sep 17 00:00:00 2001
+From f881fd5a75d0731743bad5b5f05add485c867d4b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 29 Mar 2016 15:32:30 +0100
Subject: [PATCH] copy_from_user: CPU_SW_DOMAIN_PAN compatibility
diff --git a/target/linux/brcm2708/patches-4.4/0216-bcm2835-sdhost-Adjust-to-core-clock-changes.patch b/target/linux/brcm2708/patches-4.4/0216-bcm2835-sdhost-Adjust-to-core-clock-changes.patch
index 4717b20aeb..e1b9af29d7 100644
--- a/target/linux/brcm2708/patches-4.4/0216-bcm2835-sdhost-Adjust-to-core-clock-changes.patch
+++ b/target/linux/brcm2708/patches-4.4/0216-bcm2835-sdhost-Adjust-to-core-clock-changes.patch
@@ -1,4 +1,4 @@
-From f48a0653d0d30576b57061c30e3907e3363b6107 Mon Sep 17 00:00:00 2001
+From 1ce5a11b0faf0657a65a510ba960554bbfee2410 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 30 Mar 2016 16:33:09 +0100
Subject: [PATCH] bcm2835-sdhost: Adjust to core clock changes
diff --git a/target/linux/brcm2708/patches-4.4/0217-BCM270X_DT-Document-hazards-of-sdhost-overlay.patch b/target/linux/brcm2708/patches-4.4/0217-BCM270X_DT-Document-hazards-of-sdhost-overlay.patch
index b30040f86c..6b17ca88a0 100644
--- a/target/linux/brcm2708/patches-4.4/0217-BCM270X_DT-Document-hazards-of-sdhost-overlay.patch
+++ b/target/linux/brcm2708/patches-4.4/0217-BCM270X_DT-Document-hazards-of-sdhost-overlay.patch
@@ -1,4 +1,4 @@
-From b80428cf646d37e5b84103807a7259f8dccfe4d0 Mon Sep 17 00:00:00 2001
+From 8f857c4b1ed23af5464538180466a48639bdab2b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 30 Mar 2016 17:07:15 +0100
Subject: [PATCH] BCM270X_DT: Document hazards of sdhost overlay
diff --git a/target/linux/brcm2708/patches-4.4/0218-cpufreq-Temporarily-ignore-io_is_busy-1.patch b/target/linux/brcm2708/patches-4.4/0218-cpufreq-Temporarily-ignore-io_is_busy-1.patch
index 1997e32553..e1528230f0 100644
--- a/target/linux/brcm2708/patches-4.4/0218-cpufreq-Temporarily-ignore-io_is_busy-1.patch
+++ b/target/linux/brcm2708/patches-4.4/0218-cpufreq-Temporarily-ignore-io_is_busy-1.patch
@@ -1,4 +1,4 @@
-From 6a91406ee4a03844ef1dd7b9db4f4d52eee9047d Mon Sep 17 00:00:00 2001
+From dd1c9e1693db72a6dd5c7a62fbfae4c30b97d5d9 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 30 Mar 2016 17:23:15 +0100
Subject: [PATCH] cpufreq: Temporarily ignore io_is_busy=1
diff --git a/target/linux/brcm2708/patches-4.4/0219-Revert-cpufreq-Temporarily-ignore-io_is_busy-1.patch b/target/linux/brcm2708/patches-4.4/0219-Revert-cpufreq-Temporarily-ignore-io_is_busy-1.patch
index 3cdd24e2d3..7d70ecde4c 100644
--- a/target/linux/brcm2708/patches-4.4/0219-Revert-cpufreq-Temporarily-ignore-io_is_busy-1.patch
+++ b/target/linux/brcm2708/patches-4.4/0219-Revert-cpufreq-Temporarily-ignore-io_is_busy-1.patch
@@ -1,4 +1,4 @@
-From 29e93302df7295b89c3819c304ce25d7830bd857 Mon Sep 17 00:00:00 2001
+From dee2755eac7464d0fc303f81d316cfe3a09b23a1 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 30 Mar 2016 20:18:38 +0100
Subject: [PATCH] Revert "cpufreq: Temporarily ignore io_is_busy=1"
diff --git a/target/linux/brcm2708/patches-4.4/0220-net-sched-add-skb_at_tc_ingress-helper.patch b/target/linux/brcm2708/patches-4.4/0220-net-sched-add-skb_at_tc_ingress-helper.patch
index 8264f99210..5de3f570e0 100644
--- a/target/linux/brcm2708/patches-4.4/0220-net-sched-add-skb_at_tc_ingress-helper.patch
+++ b/target/linux/brcm2708/patches-4.4/0220-net-sched-add-skb_at_tc_ingress-helper.patch
@@ -1,4 +1,4 @@
-From cb795ee030d3ed4b792e795e545b81c00254df25 Mon Sep 17 00:00:00 2001
+From 4395275fcbb80f1e312d75b20a68aabcb7c0dc74 Mon Sep 17 00:00:00 2001
From: Daniel Borkmann <daniel@iogearbox.net>
Date: Thu, 7 Jan 2016 15:50:22 +0100
Subject: [PATCH] net, sched: add skb_at_tc_ingress helper
@@ -10,8 +10,8 @@ Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
- net/sched/cls_bpf.c | 6 +-----
- 2 files changed, 10 insertions(+), 5 deletions(-)
+ net/sched/cls_bpf.c | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
--- a/net/sched/cls_bpf.c
+++ b/net/sched/cls_bpf.c
diff --git a/target/linux/brcm2708/patches-4.4/0222-bcm2835-sdhost-Precalc-divisors-and-overclocks.patch b/target/linux/brcm2708/patches-4.4/0222-bcm2835-sdhost-Precalc-divisors-and-overclocks.patch
index 9863595bc0..90533a2317 100644
--- a/target/linux/brcm2708/patches-4.4/0222-bcm2835-sdhost-Precalc-divisors-and-overclocks.patch
+++ b/target/linux/brcm2708/patches-4.4/0222-bcm2835-sdhost-Precalc-divisors-and-overclocks.patch
@@ -1,4 +1,4 @@
-From 4a680ce7ef96ac561e02c1e02951a210092a2ef6 Mon Sep 17 00:00:00 2001
+From 446e5857ddeac1cae84ec54d64b748820b5b455a Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 31 Mar 2016 15:44:53 +0100
Subject: [PATCH] bcm2835-sdhost: Precalc divisors and overclocks
diff --git a/target/linux/brcm2708/patches-4.4/0223-Revert-bcm2835-sdhost-Precalc-divisors-and-overclock.patch b/target/linux/brcm2708/patches-4.4/0223-Revert-bcm2835-sdhost-Precalc-divisors-and-overclock.patch
index 108750191a..b02125e28d 100644
--- a/target/linux/brcm2708/patches-4.4/0223-Revert-bcm2835-sdhost-Precalc-divisors-and-overclock.patch
+++ b/target/linux/brcm2708/patches-4.4/0223-Revert-bcm2835-sdhost-Precalc-divisors-and-overclock.patch
@@ -1,4 +1,4 @@
-From 664ffae1f5e89a69f12f83717c2a7efccea008ca Mon Sep 17 00:00:00 2001
+From cc8d551542116bd779ee2ceb63746324bc3732ed Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 4 Apr 2016 12:35:32 +0100
Subject: [PATCH] Revert "bcm2835-sdhost: Precalc divisors and overclocks"
diff --git a/target/linux/brcm2708/patches-4.4/0224-Revert-bcm2835-sdhost-Adjust-to-core-clock-changes.patch b/target/linux/brcm2708/patches-4.4/0224-Revert-bcm2835-sdhost-Adjust-to-core-clock-changes.patch
index 55d5c89871..3308b238e4 100644
--- a/target/linux/brcm2708/patches-4.4/0224-Revert-bcm2835-sdhost-Adjust-to-core-clock-changes.patch
+++ b/target/linux/brcm2708/patches-4.4/0224-Revert-bcm2835-sdhost-Adjust-to-core-clock-changes.patch
@@ -1,4 +1,4 @@
-From fe985856bc342027d498cfb5e261fef698ac336b Mon Sep 17 00:00:00 2001
+From 1537ae821b86a8d13c669e1fed2d20d87bb6d2dd Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 4 Apr 2016 12:35:51 +0100
Subject: [PATCH] Revert "bcm2835-sdhost: Adjust to core clock changes"
diff --git a/target/linux/brcm2708/patches-4.4/0225-bcm2835-sdhost-Firmware-manages-the-clock-divisor.patch b/target/linux/brcm2708/patches-4.4/0225-bcm2835-sdhost-Firmware-manages-the-clock-divisor.patch
index 8d503b844c..31ebf30f7a 100644
--- a/target/linux/brcm2708/patches-4.4/0225-bcm2835-sdhost-Firmware-manages-the-clock-divisor.patch
+++ b/target/linux/brcm2708/patches-4.4/0225-bcm2835-sdhost-Firmware-manages-the-clock-divisor.patch
@@ -1,4 +1,4 @@
-From 38575eb0b705f13b039b433687cf2a70cd8d425b Mon Sep 17 00:00:00 2001
+From 8851ac5dfa652434a8e031883314a8fd0226fecf Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 4 Apr 2016 16:03:18 +0100
Subject: [PATCH] bcm2835-sdhost: Firmware manages the clock divisor
diff --git a/target/linux/brcm2708/patches-4.4/0226-Revert-Revert-cpufreq-Temporarily-ignore-io_is_busy-.patch b/target/linux/brcm2708/patches-4.4/0226-Revert-Revert-cpufreq-Temporarily-ignore-io_is_busy-.patch
index c3bd751496..8ec4b8bcc8 100644
--- a/target/linux/brcm2708/patches-4.4/0226-Revert-Revert-cpufreq-Temporarily-ignore-io_is_busy-.patch
+++ b/target/linux/brcm2708/patches-4.4/0226-Revert-Revert-cpufreq-Temporarily-ignore-io_is_busy-.patch
@@ -1,4 +1,4 @@
-From 086b24cf253a55acfaa185310fa19b7493ddbe3f Mon Sep 17 00:00:00 2001
+From 322b3f1b3d2b9296147b07735f1a24c63872fc09 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 4 Apr 2016 19:52:27 +0100
Subject: [PATCH] Revert "Revert "cpufreq: Temporarily ignore io_is_busy=1""
diff --git a/target/linux/brcm2708/patches-4.4/0227-config-Enabled-IPV6_SUBTREES.patch b/target/linux/brcm2708/patches-4.4/0227-config-Enabled-IPV6_SUBTREES.patch
index 8dd8dfef56..5312ae4764 100644
--- a/target/linux/brcm2708/patches-4.4/0227-config-Enabled-IPV6_SUBTREES.patch
+++ b/target/linux/brcm2708/patches-4.4/0227-config-Enabled-IPV6_SUBTREES.patch
@@ -1,4 +1,4 @@
-From 2791d33cb965581363a616e116574b16cf279a5a Mon Sep 17 00:00:00 2001
+From f3aeac2717f9a0fa33625e84340803453b98a726 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Thu, 31 Mar 2016 16:49:52 +0100
Subject: [PATCH] config: Enabled IPV6_SUBTREES
diff --git a/target/linux/brcm2708/patches-4.4/0228-add-smsc95xx-packetsize-module_param.patch b/target/linux/brcm2708/patches-4.4/0228-add-smsc95xx-packetsize-module_param.patch
index 7258c94d77..fd0dc41e4a 100644
--- a/target/linux/brcm2708/patches-4.4/0228-add-smsc95xx-packetsize-module_param.patch
+++ b/target/linux/brcm2708/patches-4.4/0228-add-smsc95xx-packetsize-module_param.patch
@@ -1,4 +1,4 @@
-From 8e367cd08419234412d2d9b430d2ebe7d528b931 Mon Sep 17 00:00:00 2001
+From 13d40fc43b9c2e3bdf4be8f8166a28ca1c5bdc34 Mon Sep 17 00:00:00 2001
From: Sam Nazarko <email@samnazarko.co.uk>
Date: Fri, 1 Apr 2016 17:27:21 +0100
Subject: [PATCH] add smsc95xx packetsize module_param
diff --git a/target/linux/brcm2708/patches-4.4/0229-reboot-Use-power-off-rather-than-busy-spinning-when-.patch b/target/linux/brcm2708/patches-4.4/0229-reboot-Use-power-off-rather-than-busy-spinning-when-.patch
index 278aa619d4..2f431e96df 100644
--- a/target/linux/brcm2708/patches-4.4/0229-reboot-Use-power-off-rather-than-busy-spinning-when-.patch
+++ b/target/linux/brcm2708/patches-4.4/0229-reboot-Use-power-off-rather-than-busy-spinning-when-.patch
@@ -1,4 +1,4 @@
-From 9891143d60d8c653db23b6fafaa402fc1de12588 Mon Sep 17 00:00:00 2001
+From e7c6a88f381479abcefee8313e183b56574ca529 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 5 Apr 2016 19:40:12 +0100
Subject: [PATCH] reboot: Use power off rather than busy spinning when halt is
diff --git a/target/linux/brcm2708/patches-4.4/0230-Revert-bcm2835-dma-Fix-dreq-not-set-for-slave-transf.patch b/target/linux/brcm2708/patches-4.4/0230-Revert-bcm2835-dma-Fix-dreq-not-set-for-slave-transf.patch
index c4f36e1fce..771d471f7f 100644
--- a/target/linux/brcm2708/patches-4.4/0230-Revert-bcm2835-dma-Fix-dreq-not-set-for-slave-transf.patch
+++ b/target/linux/brcm2708/patches-4.4/0230-Revert-bcm2835-dma-Fix-dreq-not-set-for-slave-transf.patch
@@ -1,4 +1,4 @@
-From 8fa158cb700b0fdbb76ede07ec2103b5930e0913 Mon Sep 17 00:00:00 2001
+From 199d6fd8ab2e9095b45d0258841247a21c3786b9 Mon Sep 17 00:00:00 2001
From: HiassofT <github@hias.horus.com>
Date: Wed, 6 Apr 2016 21:45:01 +0200
Subject: [PATCH] Revert "bcm2835-dma: Fix dreq not set for slave transfers"
diff --git a/target/linux/brcm2708/patches-4.4/0231-RPi-config-Add-CONFIG_PWM_PCA9685-for-NXP-PCA9685-dr.patch b/target/linux/brcm2708/patches-4.4/0231-RPi-config-Add-CONFIG_PWM_PCA9685-for-NXP-PCA9685-dr.patch
index f1c6433fdf..a01f7114b2 100644
--- a/target/linux/brcm2708/patches-4.4/0231-RPi-config-Add-CONFIG_PWM_PCA9685-for-NXP-PCA9685-dr.patch
+++ b/target/linux/brcm2708/patches-4.4/0231-RPi-config-Add-CONFIG_PWM_PCA9685-for-NXP-PCA9685-dr.patch
@@ -1,4 +1,4 @@
-From 2026557f3f9df2d0563f71b4bd704956c4cfd4ab Mon Sep 17 00:00:00 2001
+From 3a8d33418117261b9d8423ac792b414947683b6d Mon Sep 17 00:00:00 2001
From: Dave Stevenson <6by9@users.noreply.github.com>
Date: Fri, 1 Apr 2016 15:28:46 +0100
Subject: [PATCH] RPi config: Add CONFIG_PWM_PCA9685 for NXP PCA9685 driver
diff --git a/target/linux/brcm2708/patches-4.4/0232-BCM270X_DT-Don-t-generate-linux-phandle-props.patch b/target/linux/brcm2708/patches-4.4/0232-BCM270X_DT-Don-t-generate-linux-phandle-props.patch
index a6630fdeac..a63816c209 100644
--- a/target/linux/brcm2708/patches-4.4/0232-BCM270X_DT-Don-t-generate-linux-phandle-props.patch
+++ b/target/linux/brcm2708/patches-4.4/0232-BCM270X_DT-Don-t-generate-linux-phandle-props.patch
@@ -1,4 +1,4 @@
-From 28cb7cf5480a77df08bba1e30e7070dff46463d7 Mon Sep 17 00:00:00 2001
+From c161493ab80ad1fffc70c36a78e3c751f86edaa9 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 8 Apr 2016 17:43:27 +0100
Subject: [PATCH] BCM270X_DT: Don't generate "linux,phandle" props
diff --git a/target/linux/brcm2708/patches-4.4/0233-V4L2-driver-updates-1393.patch b/target/linux/brcm2708/patches-4.4/0233-V4L2-driver-updates-1393.patch
index 92a834a59b..a5df930400 100644
--- a/target/linux/brcm2708/patches-4.4/0233-V4L2-driver-updates-1393.patch
+++ b/target/linux/brcm2708/patches-4.4/0233-V4L2-driver-updates-1393.patch
@@ -1,4 +1,4 @@
-From 35730c81cb94119c117901bbdcc148baf35aa37c Mon Sep 17 00:00:00 2001
+From 22fef46503bd929ef663255285c9aa7c6a4dd93f Mon Sep 17 00:00:00 2001
From: 6by9 <6by9@users.noreply.github.com>
Date: Fri, 8 Apr 2016 18:15:43 +0100
Subject: [PATCH] V4L2 driver updates (#1393)
diff --git a/target/linux/brcm2708/patches-4.4/0234-bcm2835-sdhost-Reset-the-clock-in-task-context.patch b/target/linux/brcm2708/patches-4.4/0234-bcm2835-sdhost-Reset-the-clock-in-task-context.patch
index a01d406dfa..6f1cc20c37 100644
--- a/target/linux/brcm2708/patches-4.4/0234-bcm2835-sdhost-Reset-the-clock-in-task-context.patch
+++ b/target/linux/brcm2708/patches-4.4/0234-bcm2835-sdhost-Reset-the-clock-in-task-context.patch
@@ -1,4 +1,4 @@
-From b61249080d5492fdb4bcf22e1672dc773a9bd95a Mon Sep 17 00:00:00 2001
+From c63af7f27233c7e7c6f0e4ee7d040e9545190df8 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 11 Apr 2016 12:50:58 +0100
Subject: [PATCH] bcm2835-sdhost: Reset the clock in task context
diff --git a/target/linux/brcm2708/patches-4.4/0235-config-Enable-CONFIG_IPV6_ROUTER_PREF-for-networks-w.patch b/target/linux/brcm2708/patches-4.4/0235-config-Enable-CONFIG_IPV6_ROUTER_PREF-for-networks-w.patch
index 0b69ca32da..dbf064964a 100644
--- a/target/linux/brcm2708/patches-4.4/0235-config-Enable-CONFIG_IPV6_ROUTER_PREF-for-networks-w.patch
+++ b/target/linux/brcm2708/patches-4.4/0235-config-Enable-CONFIG_IPV6_ROUTER_PREF-for-networks-w.patch
@@ -1,4 +1,4 @@
-From 715ff3d10588ca8b2a72acbc918ba4849a1f988c Mon Sep 17 00:00:00 2001
+From 04f3358c4a1b8f12d2820d47f318a768a539dc76 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Thu, 7 Apr 2016 12:44:24 +0100
Subject: [PATCH] config: Enable CONFIG_IPV6_ROUTER_PREF for networks with
diff --git a/target/linux/brcm2708/patches-4.4/0236-Enable-hid-betopff-module.patch b/target/linux/brcm2708/patches-4.4/0236-Enable-hid-betopff-module.patch
index 9b3f2f65ed..9fdb4ed096 100644
--- a/target/linux/brcm2708/patches-4.4/0236-Enable-hid-betopff-module.patch
+++ b/target/linux/brcm2708/patches-4.4/0236-Enable-hid-betopff-module.patch
@@ -1,4 +1,4 @@
-From 0561be97d8de22572d91d78c807b1bb4a38255f3 Mon Sep 17 00:00:00 2001
+From 42c7a126580dbb98b33d63e15fdc28c5f9349792 Mon Sep 17 00:00:00 2001
From: jochenberger <fooberger@gmail.com>
Date: Thu, 7 Apr 2016 21:38:46 +0200
Subject: [PATCH] Enable hid-betopff module
diff --git a/target/linux/brcm2708/patches-4.4/0237-config-Make-IPV6-a-module-and-regenerate-with-defcon.patch b/target/linux/brcm2708/patches-4.4/0237-config-Make-IPV6-a-module-and-regenerate-with-defcon.patch
index 2bd1e96a8f..04e99ef167 100644
--- a/target/linux/brcm2708/patches-4.4/0237-config-Make-IPV6-a-module-and-regenerate-with-defcon.patch
+++ b/target/linux/brcm2708/patches-4.4/0237-config-Make-IPV6-a-module-and-regenerate-with-defcon.patch
@@ -1,4 +1,4 @@
-From 9efe69a81ab2f031cbfeccb2f606a241f155e6b5 Mon Sep 17 00:00:00 2001
+From 23bed22a1e5402195e167b1abbff63e3b6d0f3d5 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 12 Apr 2016 12:45:16 +0100
Subject: [PATCH] config: Make IPV6 a module and regenerate with defconfig
diff --git a/target/linux/brcm2708/patches-4.4/0238-BCM270X_DT-Add-dpi24-overlay.patch b/target/linux/brcm2708/patches-4.4/0238-BCM270X_DT-Add-dpi24-overlay.patch
index 66d7985748..1878722565 100644
--- a/target/linux/brcm2708/patches-4.4/0238-BCM270X_DT-Add-dpi24-overlay.patch
+++ b/target/linux/brcm2708/patches-4.4/0238-BCM270X_DT-Add-dpi24-overlay.patch
@@ -1,4 +1,4 @@
-From f88c6236440972207406742d87692859b4f15612 Mon Sep 17 00:00:00 2001
+From 8f6cc1607cb38e53b0638be389fceaafb48b3f34 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 5 Apr 2016 13:01:54 +0100
Subject: [PATCH] BCM270X_DT: Add dpi24 overlay
diff --git a/target/linux/brcm2708/patches-4.4/0239-Modify-IQAudIO-DAC-ASoC-driver-to-set-card-dai-confi.patch b/target/linux/brcm2708/patches-4.4/0239-Modify-IQAudIO-DAC-ASoC-driver-to-set-card-dai-confi.patch
index 9d6927a878..fd9faefa46 100644
--- a/target/linux/brcm2708/patches-4.4/0239-Modify-IQAudIO-DAC-ASoC-driver-to-set-card-dai-confi.patch
+++ b/target/linux/brcm2708/patches-4.4/0239-Modify-IQAudIO-DAC-ASoC-driver-to-set-card-dai-confi.patch
@@ -1,4 +1,4 @@
-From 6e50eac8d374fa7d6ed3e02564851bc250443402 Mon Sep 17 00:00:00 2001
+From 70b0a84fca1cda347f62151daf18c0a970259e1c Mon Sep 17 00:00:00 2001
From: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
Date: Thu, 14 Apr 2016 00:57:33 +0100
Subject: [PATCH] Modify IQAudIO DAC+ ASoC driver to set card/dai config from
diff --git a/target/linux/brcm2708/patches-4.4/0240-Add-support-for-the-Digital-Dreamtime-Akkordion-musi.patch b/target/linux/brcm2708/patches-4.4/0240-Add-support-for-the-Digital-Dreamtime-Akkordion-musi.patch
index a767d3ede1..d1349a79c4 100644
--- a/target/linux/brcm2708/patches-4.4/0240-Add-support-for-the-Digital-Dreamtime-Akkordion-musi.patch
+++ b/target/linux/brcm2708/patches-4.4/0240-Add-support-for-the-Digital-Dreamtime-Akkordion-musi.patch
@@ -1,4 +1,4 @@
-From 0a36540c6a3b383a554412bf65cc75d65f7b77f8 Mon Sep 17 00:00:00 2001
+From 00fa941a2c5be22d7ab5034458b1275d108c18bb Mon Sep 17 00:00:00 2001
From: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
Date: Thu, 14 Apr 2016 01:00:58 +0100
Subject: [PATCH] Add support for the Digital Dreamtime Akkordion music player.
diff --git a/target/linux/brcm2708/patches-4.4/0241-Add-Support-for-BoomBerry-Audio-boards.patch b/target/linux/brcm2708/patches-4.4/0241-Add-Support-for-BoomBerry-Audio-boards.patch
index e0f62c9135..16ccaaccc5 100644
--- a/target/linux/brcm2708/patches-4.4/0241-Add-Support-for-BoomBerry-Audio-boards.patch
+++ b/target/linux/brcm2708/patches-4.4/0241-Add-Support-for-BoomBerry-Audio-boards.patch
@@ -1,4 +1,4 @@
-From 3120b4247e34e255f4f43d291df4b779b3e9d4c8 Mon Sep 17 00:00:00 2001
+From 5d4a20fc508c8e161ba58eace5ddd3d91a27f1f9 Mon Sep 17 00:00:00 2001
From: Aaron Shaw <shawaj@gmail.com>
Date: Thu, 7 Apr 2016 21:26:21 +0100
Subject: [PATCH] Add Support for BoomBerry Audio boards
diff --git a/target/linux/brcm2708/patches-4.4/0242-Add-support-for-mcp7940x-family-of-RTC.patch b/target/linux/brcm2708/patches-4.4/0242-Add-support-for-mcp7940x-family-of-RTC.patch
index 9974349c5c..526de045fe 100644
--- a/target/linux/brcm2708/patches-4.4/0242-Add-support-for-mcp7940x-family-of-RTC.patch
+++ b/target/linux/brcm2708/patches-4.4/0242-Add-support-for-mcp7940x-family-of-RTC.patch
@@ -1,4 +1,4 @@
-From 215eb99b0a93a3365c7e3819b2701b416f88a25a Mon Sep 17 00:00:00 2001
+From 66800cc055de7b25eb233e70e48695b816aa2067 Mon Sep 17 00:00:00 2001
From: Aaron Shaw <shawaj@gmail.com>
Date: Fri, 8 Apr 2016 00:06:00 +0100
Subject: [PATCH] Add support for mcp7940x family of RTC
diff --git a/target/linux/brcm2708/patches-4.4/0243-bcm2709_defconfig-Fix-typo-on-BoomBerry-configuratio.patch b/target/linux/brcm2708/patches-4.4/0243-bcm2709_defconfig-Fix-typo-on-BoomBerry-configuratio.patch
index bfdc32924c..7dd8fff230 100644
--- a/target/linux/brcm2708/patches-4.4/0243-bcm2709_defconfig-Fix-typo-on-BoomBerry-configuratio.patch
+++ b/target/linux/brcm2708/patches-4.4/0243-bcm2709_defconfig-Fix-typo-on-BoomBerry-configuratio.patch
@@ -1,4 +1,4 @@
-From ab1d490040fb4f7ea284feebb8a1e78bd6d54176 Mon Sep 17 00:00:00 2001
+From b671dfcbf9a59907b3d6947bc78eb1d744020112 Mon Sep 17 00:00:00 2001
From: Jeremy McDermond <nh6z@nh6z.net>
Date: Thu, 14 Apr 2016 09:39:20 -0700
Subject: [PATCH] bcm2709_defconfig: Fix typo on BoomBerry configuration
diff --git a/target/linux/brcm2708/patches-4.4/0244-boomberry-dac-Adjust-for-ALSA-API-change.patch b/target/linux/brcm2708/patches-4.4/0244-boomberry-dac-Adjust-for-ALSA-API-change.patch
index f9cfb57261..1c384b4020 100644
--- a/target/linux/brcm2708/patches-4.4/0244-boomberry-dac-Adjust-for-ALSA-API-change.patch
+++ b/target/linux/brcm2708/patches-4.4/0244-boomberry-dac-Adjust-for-ALSA-API-change.patch
@@ -1,4 +1,4 @@
-From 9d3c4c7019c68e5eb1c1635c8878f5c6bff3e120 Mon Sep 17 00:00:00 2001
+From 464afbfc94db24cda3c9a0e5c227396b93f30f57 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 15 Apr 2016 10:48:39 +0100
Subject: [PATCH] boomberry-dac: Adjust for ALSA API change
diff --git a/target/linux/brcm2708/patches-4.4/0245-vmcs-Remove-unused-sm_cache_map_vector-definition-14.patch b/target/linux/brcm2708/patches-4.4/0245-vmcs-Remove-unused-sm_cache_map_vector-definition-14.patch
index e4ad3c4f86..454a919eba 100644
--- a/target/linux/brcm2708/patches-4.4/0245-vmcs-Remove-unused-sm_cache_map_vector-definition-14.patch
+++ b/target/linux/brcm2708/patches-4.4/0245-vmcs-Remove-unused-sm_cache_map_vector-definition-14.patch
@@ -1,4 +1,4 @@
-From 39aaeeb6912c97ede930b463c99b7848d1340a45 Mon Sep 17 00:00:00 2001
+From 34ae5dd6055af9a01dc15a04e58068a14816fb88 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 17 Apr 2016 04:44:47 -0700
Subject: [PATCH] vmcs: Remove unused sm_cache_map_vector definition (#1411)
diff --git a/target/linux/brcm2708/patches-4.4/0246-scripts-mkknlimg-Append-a-trailer-for-all-input.patch b/target/linux/brcm2708/patches-4.4/0246-scripts-mkknlimg-Append-a-trailer-for-all-input.patch
index 99bfb66594..eeb4fa1340 100644
--- a/target/linux/brcm2708/patches-4.4/0246-scripts-mkknlimg-Append-a-trailer-for-all-input.patch
+++ b/target/linux/brcm2708/patches-4.4/0246-scripts-mkknlimg-Append-a-trailer-for-all-input.patch
@@ -1,4 +1,4 @@
-From 27c3944874a034975d23722b10d6d7e6b7dd930d Mon Sep 17 00:00:00 2001
+From 4c9a54f3e2d0f73144e1837e2e7dde39447a40cb Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 18 Apr 2016 11:56:53 +0100
Subject: [PATCH] scripts/mkknlimg: Append a trailer for all input
diff --git a/target/linux/brcm2708/patches-4.4/0247-bcm2835_thermal-Don-t-report-unsupported-trip-type.patch b/target/linux/brcm2708/patches-4.4/0247-bcm2835_thermal-Don-t-report-unsupported-trip-type.patch
index 95ba5d653d..758a472913 100644
--- a/target/linux/brcm2708/patches-4.4/0247-bcm2835_thermal-Don-t-report-unsupported-trip-type.patch
+++ b/target/linux/brcm2708/patches-4.4/0247-bcm2835_thermal-Don-t-report-unsupported-trip-type.patch
@@ -1,4 +1,4 @@
-From bd462524b465fc6aeed292cca8c2da19be3d9887 Mon Sep 17 00:00:00 2001
+From 39f86135e9808c9e037f3bf98893af63d9777c6a Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 19 Apr 2016 12:57:52 +0100
Subject: [PATCH] bcm2835_thermal: Don't report unsupported trip type
diff --git a/target/linux/brcm2708/patches-4.4/0248-scripts-dtc-Only-emit-local-fixups-for-overlays.patch b/target/linux/brcm2708/patches-4.4/0248-scripts-dtc-Only-emit-local-fixups-for-overlays.patch
index a73bb234e7..fc1cefb2b6 100644
--- a/target/linux/brcm2708/patches-4.4/0248-scripts-dtc-Only-emit-local-fixups-for-overlays.patch
+++ b/target/linux/brcm2708/patches-4.4/0248-scripts-dtc-Only-emit-local-fixups-for-overlays.patch
@@ -1,4 +1,4 @@
-From e9e95f1830775a13ccd1a3746d7fa526ed2c722c Mon Sep 17 00:00:00 2001
+From 82ba59f70cfce918365d11787866e5681d43ffb8 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 19 Apr 2016 13:55:29 +0100
Subject: [PATCH] scripts/dtc: Only emit local fixups for overlays
diff --git a/target/linux/brcm2708/patches-4.4/0249-bcm2835-do-not-require-substream-for-accessing-chmap.patch b/target/linux/brcm2708/patches-4.4/0249-bcm2835-do-not-require-substream-for-accessing-chmap.patch
index d50c80287e..2fc74e0a04 100644
--- a/target/linux/brcm2708/patches-4.4/0249-bcm2835-do-not-require-substream-for-accessing-chmap.patch
+++ b/target/linux/brcm2708/patches-4.4/0249-bcm2835-do-not-require-substream-for-accessing-chmap.patch
@@ -1,4 +1,4 @@
-From 955fba9c62f43238b5c3687a78ed812ac95edd44 Mon Sep 17 00:00:00 2001
+From 89c0c9310876b7ae0d0ed9002e1ebe44f856f876 Mon Sep 17 00:00:00 2001
From: wm4 <wm4@nowhere>
Date: Tue, 19 Apr 2016 16:08:35 +0200
Subject: [PATCH] bcm2835: do not require substream for accessing chmap ctl
diff --git a/target/linux/brcm2708/patches-4.4/0250-bcm2835-add-fallback-channel-layouts-if-channel-map-.patch b/target/linux/brcm2708/patches-4.4/0250-bcm2835-add-fallback-channel-layouts-if-channel-map-.patch
index b498d00fb6..1d0e7451fa 100644
--- a/target/linux/brcm2708/patches-4.4/0250-bcm2835-add-fallback-channel-layouts-if-channel-map-.patch
+++ b/target/linux/brcm2708/patches-4.4/0250-bcm2835-add-fallback-channel-layouts-if-channel-map-.patch
@@ -1,4 +1,4 @@
-From f3e1f2d9d34ab1cfafc4df7d67b7c65619b69ce0 Mon Sep 17 00:00:00 2001
+From 1c535cbe0b5ddcea74691b40bc4810c56d71f79b Mon Sep 17 00:00:00 2001
From: wm4 <wm4@nowhere>
Date: Tue, 19 Apr 2016 16:29:41 +0200
Subject: [PATCH] bcm2835: add fallback channel layouts if channel map API is
diff --git a/target/linux/brcm2708/patches-4.4/0251-bcm2835-log-which-channel-map-is-set.patch b/target/linux/brcm2708/patches-4.4/0251-bcm2835-log-which-channel-map-is-set.patch
index 9f56fb03c5..224639c44f 100644
--- a/target/linux/brcm2708/patches-4.4/0251-bcm2835-log-which-channel-map-is-set.patch
+++ b/target/linux/brcm2708/patches-4.4/0251-bcm2835-log-which-channel-map-is-set.patch
@@ -1,4 +1,4 @@
-From 221eae6137f4ed70aa0c55decd7a0659391cd30b Mon Sep 17 00:00:00 2001
+From 6d91385fc4b510f7eeaf390ea63549df1004f209 Mon Sep 17 00:00:00 2001
From: wm4 <wm4@nowhere>
Date: Tue, 19 Apr 2016 16:38:03 +0200
Subject: [PATCH] bcm2835: log which channel map is set
diff --git a/target/linux/brcm2708/patches-4.4/0252-clk-bcm2835-add-a-round-up-ability-to-the-clock-divi.patch b/target/linux/brcm2708/patches-4.4/0252-clk-bcm2835-add-a-round-up-ability-to-the-clock-divi.patch
index ae18b44d94..b0f6777348 100644
--- a/target/linux/brcm2708/patches-4.4/0252-clk-bcm2835-add-a-round-up-ability-to-the-clock-divi.patch
+++ b/target/linux/brcm2708/patches-4.4/0252-clk-bcm2835-add-a-round-up-ability-to-the-clock-divi.patch
@@ -1,4 +1,4 @@
-From 01993e1dda68d85ff6cf11cab6051bcefa46d2c1 Mon Sep 17 00:00:00 2001
+From 929fdf6bd4f3dcbe4d545e920ec41437225b777f Mon Sep 17 00:00:00 2001
From: Remi Pommarel <repk@triplefau.lt>
Date: Sun, 6 Dec 2015 17:22:46 +0100
Subject: [PATCH] clk: bcm2835: add a round up ability to the clock divisor
diff --git a/target/linux/brcm2708/patches-4.4/0253-clk-bcm2835-Support-for-clock-parent-selection.patch b/target/linux/brcm2708/patches-4.4/0253-clk-bcm2835-Support-for-clock-parent-selection.patch
index db53ad343e..f0907c1cd4 100644
--- a/target/linux/brcm2708/patches-4.4/0253-clk-bcm2835-Support-for-clock-parent-selection.patch
+++ b/target/linux/brcm2708/patches-4.4/0253-clk-bcm2835-Support-for-clock-parent-selection.patch
@@ -1,4 +1,4 @@
-From c9de2447d4b9cf641276d74902405a0b5e1c2a8d Mon Sep 17 00:00:00 2001
+From eca8103766d1addc0ce0866298aca3937ac62727 Mon Sep 17 00:00:00 2001
From: Remi Pommarel <repk@triplefau.lt>
Date: Sun, 6 Dec 2015 17:22:47 +0100
Subject: [PATCH] clk: bcm2835: Support for clock parent selection
diff --git a/target/linux/brcm2708/patches-4.4/0254-clk-bcm2835-Add-PWM-clock-support.patch b/target/linux/brcm2708/patches-4.4/0254-clk-bcm2835-Add-PWM-clock-support.patch
index 5bf7066979..428a952096 100644
--- a/target/linux/brcm2708/patches-4.4/0254-clk-bcm2835-Add-PWM-clock-support.patch
+++ b/target/linux/brcm2708/patches-4.4/0254-clk-bcm2835-Add-PWM-clock-support.patch
@@ -1,4 +1,4 @@
-From cbf30c2377959725bfcccc8cbb5b98fe6af4aefb Mon Sep 17 00:00:00 2001
+From ab4de687cdad0adbc555237364e5a8e2cdef5144 Mon Sep 17 00:00:00 2001
From: Remi Pommarel <repk@triplefau.lt>
Date: Sun, 6 Dec 2015 17:22:48 +0100
Subject: [PATCH] clk: bcm2835: Add PWM clock support
diff --git a/target/linux/brcm2708/patches-4.4/0255-clk-bcm2835-added-missing-clock-register-definitions.patch b/target/linux/brcm2708/patches-4.4/0255-clk-bcm2835-added-missing-clock-register-definitions.patch
index db44df7cf1..8c743e141e 100644
--- a/target/linux/brcm2708/patches-4.4/0255-clk-bcm2835-added-missing-clock-register-definitions.patch
+++ b/target/linux/brcm2708/patches-4.4/0255-clk-bcm2835-added-missing-clock-register-definitions.patch
@@ -1,4 +1,4 @@
-From f9855ea88630c3fdf6508db8775f34103f363f50 Mon Sep 17 00:00:00 2001
+From 99afe6a0ee26f6e848fde5db3b32bc693d692764 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Tue, 22 Dec 2015 20:13:08 +0000
Subject: [PATCH] clk: bcm2835: added missing clock register definitions
diff --git a/target/linux/brcm2708/patches-4.4/0256-clk-bcm2835-correctly-enable-fractional-clock-suppor.patch b/target/linux/brcm2708/patches-4.4/0256-clk-bcm2835-correctly-enable-fractional-clock-suppor.patch
index 1313aead16..737a1a9b64 100644
--- a/target/linux/brcm2708/patches-4.4/0256-clk-bcm2835-correctly-enable-fractional-clock-suppor.patch
+++ b/target/linux/brcm2708/patches-4.4/0256-clk-bcm2835-correctly-enable-fractional-clock-suppor.patch
@@ -1,4 +1,4 @@
-From 111293a9f0aa27bfdbb0ca864d9524691bb5934f Mon Sep 17 00:00:00 2001
+From d1b891afed88e5f675fa30f1dcc8e728472208ac Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Mon, 29 Feb 2016 11:39:21 +0000
Subject: [PATCH] clk: bcm2835: correctly enable fractional clock support
diff --git a/target/linux/brcm2708/patches-4.4/0257-clk-bcm2835-clean-up-coding-style-issues.patch b/target/linux/brcm2708/patches-4.4/0257-clk-bcm2835-clean-up-coding-style-issues.patch
index 1c05e87ee5..94f75ed567 100644
--- a/target/linux/brcm2708/patches-4.4/0257-clk-bcm2835-clean-up-coding-style-issues.patch
+++ b/target/linux/brcm2708/patches-4.4/0257-clk-bcm2835-clean-up-coding-style-issues.patch
@@ -1,4 +1,4 @@
-From 30ffff91447cd2d0dc6afd6ada53b13bc04f2f05 Mon Sep 17 00:00:00 2001
+From 98fbd9211b97b261dd1c8935920e93e2808d892e Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Mon, 29 Feb 2016 11:39:22 +0000
Subject: [PATCH] clk: bcm2835: clean up coding style issues
diff --git a/target/linux/brcm2708/patches-4.4/0258-clk-bcm2835-expose-raw-clock-registers-via-debugfs.patch b/target/linux/brcm2708/patches-4.4/0258-clk-bcm2835-expose-raw-clock-registers-via-debugfs.patch
index f1f118a2b3..b61bd04f9a 100644
--- a/target/linux/brcm2708/patches-4.4/0258-clk-bcm2835-expose-raw-clock-registers-via-debugfs.patch
+++ b/target/linux/brcm2708/patches-4.4/0258-clk-bcm2835-expose-raw-clock-registers-via-debugfs.patch
@@ -1,4 +1,4 @@
-From 57390bceca1ef7df484290d3864b76a217c6b553 Mon Sep 17 00:00:00 2001
+From db6d450ea27bd6e355561539c0eedaa54c923471 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Mon, 29 Feb 2016 14:20:15 +0000
Subject: [PATCH] clk: bcm2835: expose raw clock-registers via debugfs
diff --git a/target/linux/brcm2708/patches-4.4/0259-clk-bcm2835-remove-use-of-BCM2835_CLOCK_COUNT-in-dri.patch b/target/linux/brcm2708/patches-4.4/0259-clk-bcm2835-remove-use-of-BCM2835_CLOCK_COUNT-in-dri.patch
index acce39c069..a8b36ae536 100644
--- a/target/linux/brcm2708/patches-4.4/0259-clk-bcm2835-remove-use-of-BCM2835_CLOCK_COUNT-in-dri.patch
+++ b/target/linux/brcm2708/patches-4.4/0259-clk-bcm2835-remove-use-of-BCM2835_CLOCK_COUNT-in-dri.patch
@@ -1,4 +1,4 @@
-From 061e3130a957f04af48ff703209096e8a0b5655e Mon Sep 17 00:00:00 2001
+From 67071edadb9965b7c9a36443c5d6e6808dfae8d9 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Mon, 29 Feb 2016 12:51:41 +0000
Subject: [PATCH] clk: bcm2835: remove use of BCM2835_CLOCK_COUNT in driver
diff --git a/target/linux/brcm2708/patches-4.4/0260-clk-bcm2835-reorganize-bcm2835_clock_array-assignmen.patch b/target/linux/brcm2708/patches-4.4/0260-clk-bcm2835-reorganize-bcm2835_clock_array-assignmen.patch
index 21513f0ec2..712e14f699 100644
--- a/target/linux/brcm2708/patches-4.4/0260-clk-bcm2835-reorganize-bcm2835_clock_array-assignmen.patch
+++ b/target/linux/brcm2708/patches-4.4/0260-clk-bcm2835-reorganize-bcm2835_clock_array-assignmen.patch
@@ -1,4 +1,4 @@
-From c0e6c2ae19400047ad0f744f95b6997b579e0ffc Mon Sep 17 00:00:00 2001
+From 9d38f8ad8156a83b2f9e3c68ddf87541a8511395 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Mon, 29 Feb 2016 12:51:42 +0000
Subject: [PATCH] clk: bcm2835: reorganize bcm2835_clock_array assignment
diff --git a/target/linux/brcm2708/patches-4.4/0261-clk-bcm2835-enable-management-of-PCM-clock.patch b/target/linux/brcm2708/patches-4.4/0261-clk-bcm2835-enable-management-of-PCM-clock.patch
index c14dcebc45..edf85d6dae 100644
--- a/target/linux/brcm2708/patches-4.4/0261-clk-bcm2835-enable-management-of-PCM-clock.patch
+++ b/target/linux/brcm2708/patches-4.4/0261-clk-bcm2835-enable-management-of-PCM-clock.patch
@@ -1,4 +1,4 @@
-From 5be1920e2cfc7e351aeff3920607c4d96fed9f1a Mon Sep 17 00:00:00 2001
+From 817850fa2ab1a1b66ac1235b9dfe403d5efc8ac4 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Mon, 29 Feb 2016 12:51:43 +0000
Subject: [PATCH] clk: bcm2835: enable management of PCM clock
diff --git a/target/linux/brcm2708/patches-4.4/0262-clk-bcm2835-add-missing-PLL-clock-dividers.patch b/target/linux/brcm2708/patches-4.4/0262-clk-bcm2835-add-missing-PLL-clock-dividers.patch
index 2bb2db6b35..58fb0e2474 100644
--- a/target/linux/brcm2708/patches-4.4/0262-clk-bcm2835-add-missing-PLL-clock-dividers.patch
+++ b/target/linux/brcm2708/patches-4.4/0262-clk-bcm2835-add-missing-PLL-clock-dividers.patch
@@ -1,4 +1,4 @@
-From 0bd7afe408b2afd845f3b4971cfa641653716a12 Mon Sep 17 00:00:00 2001
+From 471248ef11464161346bd623becb383625122162 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Mon, 29 Feb 2016 15:43:56 +0000
Subject: [PATCH] clk: bcm2835: add missing PLL clock dividers
diff --git a/target/linux/brcm2708/patches-4.4/0263-clk-bcm2835-add-missing-osc-and-per-clocks.patch b/target/linux/brcm2708/patches-4.4/0263-clk-bcm2835-add-missing-osc-and-per-clocks.patch
index 697f3733b8..7efe7e0c9a 100644
--- a/target/linux/brcm2708/patches-4.4/0263-clk-bcm2835-add-missing-osc-and-per-clocks.patch
+++ b/target/linux/brcm2708/patches-4.4/0263-clk-bcm2835-add-missing-osc-and-per-clocks.patch
@@ -1,4 +1,4 @@
-From 3f26e43abb4c245d41dfbed03d82c3bc36044b04 Mon Sep 17 00:00:00 2001
+From 45ef8c48a9c0d695fb649f5188e244fe75672244 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Mon, 29 Feb 2016 15:43:57 +0000
Subject: [PATCH] clk: bcm2835: add missing osc and per clocks
diff --git a/target/linux/brcm2708/patches-4.4/0264-ARM-bcm2835-Define-two-new-packets-from-the-latest-f.patch b/target/linux/brcm2708/patches-4.4/0264-ARM-bcm2835-Define-two-new-packets-from-the-latest-f.patch
index cfe6c9547c..e8a8196c2c 100644
--- a/target/linux/brcm2708/patches-4.4/0264-ARM-bcm2835-Define-two-new-packets-from-the-latest-f.patch
+++ b/target/linux/brcm2708/patches-4.4/0264-ARM-bcm2835-Define-two-new-packets-from-the-latest-f.patch
@@ -1,4 +1,4 @@
-From 0021fdc59ccc2901f9ae829eb89d624a518eab27 Mon Sep 17 00:00:00 2001
+From e87c05bd439fa2bd69ab809a3d2d89492cf33521 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 1 Dec 2015 16:49:12 -0800
Subject: [PATCH] ARM: bcm2835: Define two new packets from the latest
diff --git a/target/linux/brcm2708/patches-4.4/0265-ARM-bcm2835-add-rpi-power-domain-driver.patch b/target/linux/brcm2708/patches-4.4/0265-ARM-bcm2835-add-rpi-power-domain-driver.patch
index a27859774b..d68cfc0090 100644
--- a/target/linux/brcm2708/patches-4.4/0265-ARM-bcm2835-add-rpi-power-domain-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0265-ARM-bcm2835-add-rpi-power-domain-driver.patch
@@ -1,4 +1,4 @@
-From fab8814aede95569e5dfe3bad78ceda471bd341f Mon Sep 17 00:00:00 2001
+From a25a9d99959c6508d26d5d48794334b11326bb4c Mon Sep 17 00:00:00 2001
From: Alexander Aring <alex.aring@gmail.com>
Date: Wed, 16 Dec 2015 16:26:47 -0800
Subject: [PATCH] ARM: bcm2835: add rpi power domain driver
diff --git a/target/linux/brcm2708/patches-4.4/0266-ARM-bcm2835-clarify-RASPBERRYPI_FIRMWARE-dependency.patch b/target/linux/brcm2708/patches-4.4/0266-ARM-bcm2835-clarify-RASPBERRYPI_FIRMWARE-dependency.patch
index 210ea4f366..bb93351446 100644
--- a/target/linux/brcm2708/patches-4.4/0266-ARM-bcm2835-clarify-RASPBERRYPI_FIRMWARE-dependency.patch
+++ b/target/linux/brcm2708/patches-4.4/0266-ARM-bcm2835-clarify-RASPBERRYPI_FIRMWARE-dependency.patch
@@ -1,4 +1,4 @@
-From 98f387ec974ccd45054a13211ed8d91d46bbe4cc Mon Sep 17 00:00:00 2001
+From 28d6a37d9a4fb6a6add95951f09ba5c5f6765952 Mon Sep 17 00:00:00 2001
From: Arnd Bergmann <arnd@arndb.de>
Date: Thu, 31 Dec 2015 23:39:14 +0100
Subject: [PATCH] ARM: bcm2835: clarify RASPBERRYPI_FIRMWARE dependency
diff --git a/target/linux/brcm2708/patches-4.4/0267-ARM-bcm2708-Enable-building-power-domain-driver.patch b/target/linux/brcm2708/patches-4.4/0267-ARM-bcm2708-Enable-building-power-domain-driver.patch
index f97b2e7685..4ec73662f5 100644
--- a/target/linux/brcm2708/patches-4.4/0267-ARM-bcm2708-Enable-building-power-domain-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0267-ARM-bcm2708-Enable-building-power-domain-driver.patch
@@ -1,4 +1,4 @@
-From 5b934c573b70da98f70b98aa20a1f96bba8ef9b2 Mon Sep 17 00:00:00 2001
+From 0d0f40a68002763b33a1d981ce2366d8121ac4cb Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 19 Apr 2016 15:55:02 -0700
Subject: [PATCH] ARM: bcm2708: Enable building power domain driver.
diff --git a/target/linux/brcm2708/patches-4.4/0268-bcm2708-Add-RASPBERRYPI_POWER-to-the-defconfigs.patch b/target/linux/brcm2708/patches-4.4/0268-bcm2708-Add-RASPBERRYPI_POWER-to-the-defconfigs.patch
index f11638e845..5b68e1b74d 100644
--- a/target/linux/brcm2708/patches-4.4/0268-bcm2708-Add-RASPBERRYPI_POWER-to-the-defconfigs.patch
+++ b/target/linux/brcm2708/patches-4.4/0268-bcm2708-Add-RASPBERRYPI_POWER-to-the-defconfigs.patch
@@ -1,4 +1,4 @@
-From 9d065d6d38cb379a36e655c98f5e42cbfc1de0b2 Mon Sep 17 00:00:00 2001
+From 17604268d3980b4c2b309074cd482aacaed40f89 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 19 Apr 2016 14:23:30 -0700
Subject: [PATCH] bcm2708: Add RASPBERRYPI_POWER to the defconfigs.
diff --git a/target/linux/brcm2708/patches-4.4/0269-bcm2708-Add-the-power-domain-driver-to-the-device-tr.patch b/target/linux/brcm2708/patches-4.4/0269-bcm2708-Add-the-power-domain-driver-to-the-device-tr.patch
index c7c2148bbd..cb83674ea7 100644
--- a/target/linux/brcm2708/patches-4.4/0269-bcm2708-Add-the-power-domain-driver-to-the-device-tr.patch
+++ b/target/linux/brcm2708/patches-4.4/0269-bcm2708-Add-the-power-domain-driver-to-the-device-tr.patch
@@ -1,4 +1,4 @@
-From 61a1a146c39f694a1d347ac251ebd9b7d804064f Mon Sep 17 00:00:00 2001
+From 9cc05ac9630c22193a7e177466aeec5704e54ed1 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 19 Apr 2016 14:36:31 -0700
Subject: [PATCH] bcm2708: Add the power domain driver to the device tree.
diff --git a/target/linux/brcm2708/patches-4.4/0270-bcm2708-Reference-the-HDMI-power-domain-for-the-HDMI.patch b/target/linux/brcm2708/patches-4.4/0270-bcm2708-Reference-the-HDMI-power-domain-for-the-HDMI.patch
index 95c9d91c5d..c2b75027b9 100644
--- a/target/linux/brcm2708/patches-4.4/0270-bcm2708-Reference-the-HDMI-power-domain-for-the-HDMI.patch
+++ b/target/linux/brcm2708/patches-4.4/0270-bcm2708-Reference-the-HDMI-power-domain-for-the-HDMI.patch
@@ -1,4 +1,4 @@
-From 8c3b6b58d1f49ce8a352379cd48647e8116659ca Mon Sep 17 00:00:00 2001
+From 2f08815292d1c80d6581f19f2dc7132b8b7928b4 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 19 Apr 2016 14:40:08 -0700
Subject: [PATCH] bcm2708: Reference the HDMI power domain for the HDMI driver.
diff --git a/target/linux/brcm2708/patches-4.4/0271-drm-vc4-copy_to_user-returns-the-number-of-bytes-rem.patch b/target/linux/brcm2708/patches-4.4/0271-drm-vc4-copy_to_user-returns-the-number-of-bytes-rem.patch
index 3ced0ef28c..81b584f059 100644
--- a/target/linux/brcm2708/patches-4.4/0271-drm-vc4-copy_to_user-returns-the-number-of-bytes-rem.patch
+++ b/target/linux/brcm2708/patches-4.4/0271-drm-vc4-copy_to_user-returns-the-number-of-bytes-rem.patch
@@ -1,4 +1,4 @@
-From e1d56edafff76ade96b5dce25e7cf1300213929b Mon Sep 17 00:00:00 2001
+From efbaf42dfcaca937a67b560884a74e04ade66dd9 Mon Sep 17 00:00:00 2001
From: Dan Carpenter <dan.carpenter@oracle.com>
Date: Thu, 17 Dec 2015 15:36:28 +0300
Subject: [PATCH] drm/vc4: copy_to_user() returns the number of bytes remaining
diff --git a/target/linux/brcm2708/patches-4.4/0272-drm-vc4-allocate-enough-memory-in-vc4_save_hang_stat.patch b/target/linux/brcm2708/patches-4.4/0272-drm-vc4-allocate-enough-memory-in-vc4_save_hang_stat.patch
index 6d1cbc777c..89af567acf 100644
--- a/target/linux/brcm2708/patches-4.4/0272-drm-vc4-allocate-enough-memory-in-vc4_save_hang_stat.patch
+++ b/target/linux/brcm2708/patches-4.4/0272-drm-vc4-allocate-enough-memory-in-vc4_save_hang_stat.patch
@@ -1,4 +1,4 @@
-From 6d29873e5a006db5b342630976b5527c8049acd2 Mon Sep 17 00:00:00 2001
+From 3c2d156ad9e5e45d46938d2138aca038df44b9d3 Mon Sep 17 00:00:00 2001
From: Dan Carpenter <dan.carpenter@oracle.com>
Date: Thu, 17 Dec 2015 15:39:08 +0300
Subject: [PATCH] drm/vc4: allocate enough memory in vc4_save_hang_state()
diff --git a/target/linux/brcm2708/patches-4.4/0273-drm-vc4-fix-warning-in-validate-printf.patch b/target/linux/brcm2708/patches-4.4/0273-drm-vc4-fix-warning-in-validate-printf.patch
index a654f14690..1c82b10410 100644
--- a/target/linux/brcm2708/patches-4.4/0273-drm-vc4-fix-warning-in-validate-printf.patch
+++ b/target/linux/brcm2708/patches-4.4/0273-drm-vc4-fix-warning-in-validate-printf.patch
@@ -1,4 +1,4 @@
-From 015bc9646e2ff3586789757645aeee592819d843 Mon Sep 17 00:00:00 2001
+From 13d9887c2a348c14fae98fedcee204c4d9d8c9f1 Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied@redhat.com>
Date: Mon, 18 Jan 2016 09:10:42 +1000
Subject: [PATCH] drm/vc4: fix warning in validate printf.
diff --git a/target/linux/brcm2708/patches-4.4/0274-drm-vc4-Improve-comments-on-vc4_plane_state-members.patch b/target/linux/brcm2708/patches-4.4/0274-drm-vc4-Improve-comments-on-vc4_plane_state-members.patch
index c31bfbe0f2..a69ec94795 100644
--- a/target/linux/brcm2708/patches-4.4/0274-drm-vc4-Improve-comments-on-vc4_plane_state-members.patch
+++ b/target/linux/brcm2708/patches-4.4/0274-drm-vc4-Improve-comments-on-vc4_plane_state-members.patch
@@ -1,4 +1,4 @@
-From 2fa85567b77dc0a771cdeb37a4e6fb27ec23100d Mon Sep 17 00:00:00 2001
+From 464137e9a7f5c690a0125679936d9b86799f3dc0 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 28 Dec 2015 14:14:09 -0800
Subject: [PATCH] drm/vc4: Improve comments on vc4_plane_state members.
diff --git a/target/linux/brcm2708/patches-4.4/0275-drm-vc4-Add-missing-__iomem-annotation-to-hw_dlist.patch b/target/linux/brcm2708/patches-4.4/0275-drm-vc4-Add-missing-__iomem-annotation-to-hw_dlist.patch
index e37fffc281..fb34810052 100644
--- a/target/linux/brcm2708/patches-4.4/0275-drm-vc4-Add-missing-__iomem-annotation-to-hw_dlist.patch
+++ b/target/linux/brcm2708/patches-4.4/0275-drm-vc4-Add-missing-__iomem-annotation-to-hw_dlist.patch
@@ -1,4 +1,4 @@
-From 66c0f03718b26cb3bf47c60ef94770fab9728464 Mon Sep 17 00:00:00 2001
+From 2c5f2132dd02490d11aa37a22c258ad345b37c92 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 28 Dec 2015 14:14:57 -0800
Subject: [PATCH] drm/vc4: Add missing __iomem annotation to hw_dlist.
diff --git a/target/linux/brcm2708/patches-4.4/0276-drm-vc4-Move-the-plane-clipping-scaling-setup-to-a-s.patch b/target/linux/brcm2708/patches-4.4/0276-drm-vc4-Move-the-plane-clipping-scaling-setup-to-a-s.patch
index 0be0676c4f..f91c62cb98 100644
--- a/target/linux/brcm2708/patches-4.4/0276-drm-vc4-Move-the-plane-clipping-scaling-setup-to-a-s.patch
+++ b/target/linux/brcm2708/patches-4.4/0276-drm-vc4-Move-the-plane-clipping-scaling-setup-to-a-s.patch
@@ -1,4 +1,4 @@
-From eb708cc358e2f94461f971012c9c477a41b01237 Mon Sep 17 00:00:00 2001
+From 7e56858dfcadd3edc4a218c03c8f52c9bae2dfae Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 28 Dec 2015 14:34:44 -0800
Subject: [PATCH] drm/vc4: Move the plane clipping/scaling setup to a separate
diff --git a/target/linux/brcm2708/patches-4.4/0277-drm-vc4-Add-a-proper-short-circut-path-for-legacy-cu.patch b/target/linux/brcm2708/patches-4.4/0277-drm-vc4-Add-a-proper-short-circut-path-for-legacy-cu.patch
index 0e7274803b..4bedea7c88 100644
--- a/target/linux/brcm2708/patches-4.4/0277-drm-vc4-Add-a-proper-short-circut-path-for-legacy-cu.patch
+++ b/target/linux/brcm2708/patches-4.4/0277-drm-vc4-Add-a-proper-short-circut-path-for-legacy-cu.patch
@@ -1,4 +1,4 @@
-From 81f885f1ab1729bb2d14ca44d4861e0bb982b324 Mon Sep 17 00:00:00 2001
+From 73801d8192779fb0c763a4ef7fd058ce41df056d Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 30 Dec 2015 11:50:22 -0800
Subject: [PATCH] drm/vc4: Add a proper short-circut path for legacy cursor
diff --git a/target/linux/brcm2708/patches-4.4/0278-drm-vc4-Make-the-CRTCs-cooperate-on-allocating-displ.patch b/target/linux/brcm2708/patches-4.4/0278-drm-vc4-Make-the-CRTCs-cooperate-on-allocating-displ.patch
index c676273d77..43ce8d3f40 100644
--- a/target/linux/brcm2708/patches-4.4/0278-drm-vc4-Make-the-CRTCs-cooperate-on-allocating-displ.patch
+++ b/target/linux/brcm2708/patches-4.4/0278-drm-vc4-Make-the-CRTCs-cooperate-on-allocating-displ.patch
@@ -1,4 +1,4 @@
-From 1c86cb2794cdba850675a95de59acf505a3d7654 Mon Sep 17 00:00:00 2001
+From 4bfd9c177d92b59723ee6323e9ed81fbc331675c Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 28 Dec 2015 13:25:41 -0800
Subject: [PATCH] drm/vc4: Make the CRTCs cooperate on allocating display
diff --git a/target/linux/brcm2708/patches-4.4/0279-drm-vc4-Add-more-display-planes-to-each-CRTC.patch b/target/linux/brcm2708/patches-4.4/0279-drm-vc4-Add-more-display-planes-to-each-CRTC.patch
index 8cfb9ea87a..114a95e582 100644
--- a/target/linux/brcm2708/patches-4.4/0279-drm-vc4-Add-more-display-planes-to-each-CRTC.patch
+++ b/target/linux/brcm2708/patches-4.4/0279-drm-vc4-Add-more-display-planes-to-each-CRTC.patch
@@ -1,4 +1,4 @@
-From dfda3a55b70ee0b1227ec4551d6376d463dd14b9 Mon Sep 17 00:00:00 2001
+From 0b493b472e9c0fa5882243a649dbf2b473c2e680 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 20 Oct 2015 14:18:56 +0100
Subject: [PATCH] drm/vc4: Add more display planes to each CRTC.
diff --git a/target/linux/brcm2708/patches-4.4/0280-drm-vc4-Fix-which-value-is-being-used-for-source-ima.patch b/target/linux/brcm2708/patches-4.4/0280-drm-vc4-Fix-which-value-is-being-used-for-source-ima.patch
index ecfc9da637..df760e5d85 100644
--- a/target/linux/brcm2708/patches-4.4/0280-drm-vc4-Fix-which-value-is-being-used-for-source-ima.patch
+++ b/target/linux/brcm2708/patches-4.4/0280-drm-vc4-Fix-which-value-is-being-used-for-source-ima.patch
@@ -1,4 +1,4 @@
-From 4ac20cea599c0f91b3240013ce603e608cab2d6a Mon Sep 17 00:00:00 2001
+From dd89447cbae60a723e7192f4c176eb62672dfb2b Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 28 Dec 2015 14:45:25 -0800
Subject: [PATCH] drm/vc4: Fix which value is being used for source image size.
diff --git a/target/linux/brcm2708/patches-4.4/0281-drm-vc4-Add-support-for-scaling-of-display-planes.patch b/target/linux/brcm2708/patches-4.4/0281-drm-vc4-Add-support-for-scaling-of-display-planes.patch
index e7e5986c9f..45af0d98ef 100644
--- a/target/linux/brcm2708/patches-4.4/0281-drm-vc4-Add-support-for-scaling-of-display-planes.patch
+++ b/target/linux/brcm2708/patches-4.4/0281-drm-vc4-Add-support-for-scaling-of-display-planes.patch
@@ -1,4 +1,4 @@
-From 0b7d1c1de27840bd1a32bc0a28c8354e362b38ca Mon Sep 17 00:00:00 2001
+From 446bf09980764ce077b74a85af9f141e6192d3dc Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 20 Oct 2015 16:06:57 +0100
Subject: [PATCH] drm/vc4: Add support for scaling of display planes.
diff --git a/target/linux/brcm2708/patches-4.4/0282-drm-vc4-Add-support-for-YUV-planes.patch b/target/linux/brcm2708/patches-4.4/0282-drm-vc4-Add-support-for-YUV-planes.patch
index ed999d2411..145329ab1a 100644
--- a/target/linux/brcm2708/patches-4.4/0282-drm-vc4-Add-support-for-YUV-planes.patch
+++ b/target/linux/brcm2708/patches-4.4/0282-drm-vc4-Add-support-for-YUV-planes.patch
@@ -1,4 +1,4 @@
-From 64f2da0496d51f7260e18aeed6e72ed09fec7b00 Mon Sep 17 00:00:00 2001
+From 6fba6a7c20cecfc587e5043030cba78af582823e Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 30 Dec 2015 12:25:44 -0800
Subject: [PATCH] drm/vc4: Add support for YUV planes.
diff --git a/target/linux/brcm2708/patches-4.4/0283-drm-vc4-Fix-spurious-GPU-resets-due-to-BO-reuse.patch b/target/linux/brcm2708/patches-4.4/0283-drm-vc4-Fix-spurious-GPU-resets-due-to-BO-reuse.patch
index f699b30f2c..6ca1997550 100644
--- a/target/linux/brcm2708/patches-4.4/0283-drm-vc4-Fix-spurious-GPU-resets-due-to-BO-reuse.patch
+++ b/target/linux/brcm2708/patches-4.4/0283-drm-vc4-Fix-spurious-GPU-resets-due-to-BO-reuse.patch
@@ -1,4 +1,4 @@
-From bb79ceb9166d67ad8d658dead2f62bda7668f139 Mon Sep 17 00:00:00 2001
+From 15d0cf1b80d818770bc1fa70ac58e1ee8551617b Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 8 Feb 2016 11:19:14 -0800
Subject: [PATCH] drm/vc4: Fix spurious GPU resets due to BO reuse.
diff --git a/target/linux/brcm2708/patches-4.4/0284-drm-vc4-Fix-a-framebuffer-reference-leak-on-async-fl.patch b/target/linux/brcm2708/patches-4.4/0284-drm-vc4-Fix-a-framebuffer-reference-leak-on-async-fl.patch
index 366ac24c59..6e3a58302b 100644
--- a/target/linux/brcm2708/patches-4.4/0284-drm-vc4-Fix-a-framebuffer-reference-leak-on-async-fl.patch
+++ b/target/linux/brcm2708/patches-4.4/0284-drm-vc4-Fix-a-framebuffer-reference-leak-on-async-fl.patch
@@ -1,4 +1,4 @@
-From 2ee2a1f157f4eb81c2aca3a076fe74c1e587d2f8 Mon Sep 17 00:00:00 2001
+From 08d2762526279939513276a142849f5a82b31106 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 5 Feb 2016 15:06:15 -0800
Subject: [PATCH] drm/vc4: Fix a framebuffer reference leak on async flip
diff --git a/target/linux/brcm2708/patches-4.4/0285-drm-vc4-Bring-HDMI-up-from-power-off-if-necessary.patch b/target/linux/brcm2708/patches-4.4/0285-drm-vc4-Bring-HDMI-up-from-power-off-if-necessary.patch
index 5391264828..c3688d7058 100644
--- a/target/linux/brcm2708/patches-4.4/0285-drm-vc4-Bring-HDMI-up-from-power-off-if-necessary.patch
+++ b/target/linux/brcm2708/patches-4.4/0285-drm-vc4-Bring-HDMI-up-from-power-off-if-necessary.patch
@@ -1,4 +1,4 @@
-From 17467b182d70d76c27d8e498abb281b28f58f92c Mon Sep 17 00:00:00 2001
+From fdd5a9166e76db86360c19da7917cd0aab407b85 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 12 Feb 2016 14:15:14 -0800
Subject: [PATCH] drm/vc4: Bring HDMI up from power off if necessary.
diff --git a/target/linux/brcm2708/patches-4.4/0286-drm-vc4-Add-another-reg-to-HDMI-debug-dumping.patch b/target/linux/brcm2708/patches-4.4/0286-drm-vc4-Add-another-reg-to-HDMI-debug-dumping.patch
index eb087dfb6b..ab4a913600 100644
--- a/target/linux/brcm2708/patches-4.4/0286-drm-vc4-Add-another-reg-to-HDMI-debug-dumping.patch
+++ b/target/linux/brcm2708/patches-4.4/0286-drm-vc4-Add-another-reg-to-HDMI-debug-dumping.patch
@@ -1,4 +1,4 @@
-From 00d72cb223055ccdac7e9cda524b00a26a63c13e Mon Sep 17 00:00:00 2001
+From 8cfb1bedd144e0d460776f139011197f5236a71f Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 12 Feb 2016 15:16:56 -0800
Subject: [PATCH] drm/vc4: Add another reg to HDMI debug dumping.
diff --git a/target/linux/brcm2708/patches-4.4/0287-drm-vc4-Fix-the-name-of-the-VSYNCD_EVEN-register.patch b/target/linux/brcm2708/patches-4.4/0287-drm-vc4-Fix-the-name-of-the-VSYNCD_EVEN-register.patch
index 4e8a119ded..60338cf70a 100644
--- a/target/linux/brcm2708/patches-4.4/0287-drm-vc4-Fix-the-name-of-the-VSYNCD_EVEN-register.patch
+++ b/target/linux/brcm2708/patches-4.4/0287-drm-vc4-Fix-the-name-of-the-VSYNCD_EVEN-register.patch
@@ -1,4 +1,4 @@
-From 7c26f1c9cbdcaa0e8e3c6b740273f4722ce5c4ed Mon Sep 17 00:00:00 2001
+From e76db648a5d38f3fce7b93d30eb6632a4f4b47c6 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 15 Feb 2016 17:06:02 -0800
Subject: [PATCH] drm/vc4: Fix the name of the VSYNCD_EVEN register.
diff --git a/target/linux/brcm2708/patches-4.4/0288-drm-vc4-Fix-setting-of-vertical-timings-in-the-CRTC.patch b/target/linux/brcm2708/patches-4.4/0288-drm-vc4-Fix-setting-of-vertical-timings-in-the-CRTC.patch
index 97f1c6ad0c..e6d0dcbb9e 100644
--- a/target/linux/brcm2708/patches-4.4/0288-drm-vc4-Fix-setting-of-vertical-timings-in-the-CRTC.patch
+++ b/target/linux/brcm2708/patches-4.4/0288-drm-vc4-Fix-setting-of-vertical-timings-in-the-CRTC.patch
@@ -1,4 +1,4 @@
-From 9654afa1c26516e3461cd8575f08b367fe5ff42a Mon Sep 17 00:00:00 2001
+From 701edcaf771736ca24a173352d9d7291f5059e17 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 15 Feb 2016 17:31:41 -0800
Subject: [PATCH] drm/vc4: Fix setting of vertical timings in the CRTC.
diff --git a/target/linux/brcm2708/patches-4.4/0289-drm-vc4-Initialize-scaler-DISPBKGND-on-modeset.patch b/target/linux/brcm2708/patches-4.4/0289-drm-vc4-Initialize-scaler-DISPBKGND-on-modeset.patch
index 608a467883..6646d25af8 100644
--- a/target/linux/brcm2708/patches-4.4/0289-drm-vc4-Initialize-scaler-DISPBKGND-on-modeset.patch
+++ b/target/linux/brcm2708/patches-4.4/0289-drm-vc4-Initialize-scaler-DISPBKGND-on-modeset.patch
@@ -1,4 +1,4 @@
-From a4d7f252c7aca463cd85dd21f5929e4ba12a2a41 Mon Sep 17 00:00:00 2001
+From a8aa07e1bf9d48e8f47a873062080c7fd2f05a25 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 16 Feb 2016 10:24:08 -0800
Subject: [PATCH] drm/vc4: Initialize scaler DISPBKGND on modeset.
diff --git a/target/linux/brcm2708/patches-4.4/0290-drm-vc4-improve-throughput-by-pipelining-binning-and.patch b/target/linux/brcm2708/patches-4.4/0290-drm-vc4-improve-throughput-by-pipelining-binning-and.patch
index e03e761402..684cd17100 100644
--- a/target/linux/brcm2708/patches-4.4/0290-drm-vc4-improve-throughput-by-pipelining-binning-and.patch
+++ b/target/linux/brcm2708/patches-4.4/0290-drm-vc4-improve-throughput-by-pipelining-binning-and.patch
@@ -1,4 +1,4 @@
-From 1624a40cc0b7760e60b842b15fe46859940a9f48 Mon Sep 17 00:00:00 2001
+From d5bd63dfce65ffdda325e7b2bb6e37266af17e26 Mon Sep 17 00:00:00 2001
From: Varad Gautam <varadgautam@gmail.com>
Date: Wed, 17 Feb 2016 19:08:21 +0530
Subject: [PATCH] drm/vc4: improve throughput by pipelining binning and
diff --git a/target/linux/brcm2708/patches-4.4/0291-drm-vc4-Let-gpiolib-know-that-we-re-OK-with-sleeping.patch b/target/linux/brcm2708/patches-4.4/0291-drm-vc4-Let-gpiolib-know-that-we-re-OK-with-sleeping.patch
index d282d259fc..281d742487 100644
--- a/target/linux/brcm2708/patches-4.4/0291-drm-vc4-Let-gpiolib-know-that-we-re-OK-with-sleeping.patch
+++ b/target/linux/brcm2708/patches-4.4/0291-drm-vc4-Let-gpiolib-know-that-we-re-OK-with-sleeping.patch
@@ -1,4 +1,4 @@
-From 92bceb9faef5ef033e79b746aa8d5fd465548fbc Mon Sep 17 00:00:00 2001
+From d56beecdd7e25be0969c3c51fa6e9a659ba6b1bc Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 29 Feb 2016 17:53:00 -0800
Subject: [PATCH] drm/vc4: Let gpiolib know that we're OK with sleeping for
diff --git a/target/linux/brcm2708/patches-4.4/0292-drm-vc4-Respect-GPIO_ACTIVE_LOW-on-HDMI-HPD-if-set-i.patch b/target/linux/brcm2708/patches-4.4/0292-drm-vc4-Respect-GPIO_ACTIVE_LOW-on-HDMI-HPD-if-set-i.patch
index e6f8e9b06f..aafb0a1122 100644
--- a/target/linux/brcm2708/patches-4.4/0292-drm-vc4-Respect-GPIO_ACTIVE_LOW-on-HDMI-HPD-if-set-i.patch
+++ b/target/linux/brcm2708/patches-4.4/0292-drm-vc4-Respect-GPIO_ACTIVE_LOW-on-HDMI-HPD-if-set-i.patch
@@ -1,4 +1,4 @@
-From ce00fb0111a4b7c47dc301d7d4845736ee9bb493 Mon Sep 17 00:00:00 2001
+From 874ea6861ec0a21d463a03ed32288c9eedb06a7f Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 29 Feb 2016 17:53:01 -0800
Subject: [PATCH] drm/vc4: Respect GPIO_ACTIVE_LOW on HDMI HPD if set in the
diff --git a/target/linux/brcm2708/patches-4.4/0293-drm-vc4-Return-EFAULT-on-copy_from_user-failure.patch b/target/linux/brcm2708/patches-4.4/0293-drm-vc4-Return-EFAULT-on-copy_from_user-failure.patch
index 202425f57a..0218f7f94d 100644
--- a/target/linux/brcm2708/patches-4.4/0293-drm-vc4-Return-EFAULT-on-copy_from_user-failure.patch
+++ b/target/linux/brcm2708/patches-4.4/0293-drm-vc4-Return-EFAULT-on-copy_from_user-failure.patch
@@ -1,4 +1,4 @@
-From b73a3233de4b17d80cfb100dcda2216cb3fcf8c6 Mon Sep 17 00:00:00 2001
+From 04e5f676bbb36a111eff484212f4d6c2898a956a Mon Sep 17 00:00:00 2001
From: Dan Carpenter <dan.carpenter@oracle.com>
Date: Tue, 8 Mar 2016 15:09:41 +0300
Subject: [PATCH] drm/vc4: Return -EFAULT on copy_from_user() failure
diff --git a/target/linux/brcm2708/patches-4.4/0294-drm-vc4-Recognize-a-more-specific-compatible-string-.patch b/target/linux/brcm2708/patches-4.4/0294-drm-vc4-Recognize-a-more-specific-compatible-string-.patch
index c7fe18cf2a..ec206567ce 100644
--- a/target/linux/brcm2708/patches-4.4/0294-drm-vc4-Recognize-a-more-specific-compatible-string-.patch
+++ b/target/linux/brcm2708/patches-4.4/0294-drm-vc4-Recognize-a-more-specific-compatible-string-.patch
@@ -1,4 +1,4 @@
-From 4e30b1819e50588d5a3720ad1ac42cfbcb913101 Mon Sep 17 00:00:00 2001
+From 25f82524a9f48fc1e6a1a1c04739c5c8df14c1e2 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 4 Mar 2016 12:32:07 -0800
Subject: [PATCH] drm/vc4: Recognize a more specific compatible string for V3D.
diff --git a/target/linux/brcm2708/patches-4.4/0295-ARM-bcm2708-Move-the-CMA-range-down-for-kernel-4.4.patch b/target/linux/brcm2708/patches-4.4/0295-ARM-bcm2708-Move-the-CMA-range-down-for-kernel-4.4.patch
index 4661e4a703..34fee026d9 100644
--- a/target/linux/brcm2708/patches-4.4/0295-ARM-bcm2708-Move-the-CMA-range-down-for-kernel-4.4.patch
+++ b/target/linux/brcm2708/patches-4.4/0295-ARM-bcm2708-Move-the-CMA-range-down-for-kernel-4.4.patch
@@ -1,4 +1,4 @@
-From 6cdbac4755ed4e63299ea24635597e1d1188e8c8 Mon Sep 17 00:00:00 2001
+From 6eb7e2a6b33ad1fe73b96c26666623eb7cab8827 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 19 Apr 2016 17:21:06 -0700
Subject: [PATCH] ARM: bcm2708: Move the CMA range down for kernel 4.4.
diff --git a/target/linux/brcm2708/patches-4.4/0296-clk-bcm2835-fix-check-of-error-code-returned-by-devm.patch b/target/linux/brcm2708/patches-4.4/0296-clk-bcm2835-fix-check-of-error-code-returned-by-devm.patch
index 376d992748..010a4f397e 100644
--- a/target/linux/brcm2708/patches-4.4/0296-clk-bcm2835-fix-check-of-error-code-returned-by-devm.patch
+++ b/target/linux/brcm2708/patches-4.4/0296-clk-bcm2835-fix-check-of-error-code-returned-by-devm.patch
@@ -1,4 +1,4 @@
-From e16d40b0eafe97952af1005d8b1ab97ce4440066 Mon Sep 17 00:00:00 2001
+From 3a96f1b9e00a93037cfa0a100557444d8545cda8 Mon Sep 17 00:00:00 2001
From: Vladimir Zapolskiy <vz@mleia.com>
Date: Sun, 6 Mar 2016 03:21:35 +0200
Subject: [PATCH] clk: bcm2835: fix check of error code returned by
diff --git a/target/linux/brcm2708/patches-4.4/0297-vchiq_arm-Add-completion-records-under-the-mutex.patch b/target/linux/brcm2708/patches-4.4/0297-vchiq_arm-Add-completion-records-under-the-mutex.patch
index 6dd4180b00..96c557ef9d 100644
--- a/target/linux/brcm2708/patches-4.4/0297-vchiq_arm-Add-completion-records-under-the-mutex.patch
+++ b/target/linux/brcm2708/patches-4.4/0297-vchiq_arm-Add-completion-records-under-the-mutex.patch
@@ -1,4 +1,4 @@
-From d4bbd21245e600f32074724152f77a4ae9904047 Mon Sep 17 00:00:00 2001
+From 249ccc9a345b7641aaf276867a375cd50f41627d Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 21 Apr 2016 13:49:32 +0100
Subject: [PATCH] vchiq_arm: Add completion records under the mutex
diff --git a/target/linux/brcm2708/patches-4.4/0298-config-Add-DRM_UDL-module.patch b/target/linux/brcm2708/patches-4.4/0298-config-Add-DRM_UDL-module.patch
index 1b0aff70e0..c16754532f 100644
--- a/target/linux/brcm2708/patches-4.4/0298-config-Add-DRM_UDL-module.patch
+++ b/target/linux/brcm2708/patches-4.4/0298-config-Add-DRM_UDL-module.patch
@@ -1,4 +1,4 @@
-From 03fb94e9e8e68ba9809bdd0f966346ea2807d1dd Mon Sep 17 00:00:00 2001
+From 27c0e3a0fdba663c89a23157e878998c4edf8275 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 21 Apr 2016 16:07:15 +0100
Subject: [PATCH] config: Add DRM_UDL module
diff --git a/target/linux/brcm2708/patches-4.4/0299-bcm2835-i2s-Reduce-the-TX-DREQ-threshold.patch b/target/linux/brcm2708/patches-4.4/0299-bcm2835-i2s-Reduce-the-TX-DREQ-threshold.patch
index 1048b2ae31..ac8ffe4657 100644
--- a/target/linux/brcm2708/patches-4.4/0299-bcm2835-i2s-Reduce-the-TX-DREQ-threshold.patch
+++ b/target/linux/brcm2708/patches-4.4/0299-bcm2835-i2s-Reduce-the-TX-DREQ-threshold.patch
@@ -1,4 +1,4 @@
-From a7f989cdcb11a8ff5bbb51a675e3662872b5dd55 Mon Sep 17 00:00:00 2001
+From e27e038a64e9a3499f76e9581ea67b4b81a33555 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 21 Apr 2016 15:44:14 +0100
Subject: [PATCH] bcm2835-i2s: Reduce the TX DREQ threshold
diff --git a/target/linux/brcm2708/patches-4.4/0300-V4L2-Request-maximum-resolution-from-GPU.patch b/target/linux/brcm2708/patches-4.4/0300-V4L2-Request-maximum-resolution-from-GPU.patch
index 9c3bdeae1a..ae277e5912 100644
--- a/target/linux/brcm2708/patches-4.4/0300-V4L2-Request-maximum-resolution-from-GPU.patch
+++ b/target/linux/brcm2708/patches-4.4/0300-V4L2-Request-maximum-resolution-from-GPU.patch
@@ -1,4 +1,4 @@
-From 4bf5d7236db0e122eb20cf73699557122f49c9dc Mon Sep 17 00:00:00 2001
+From a8eb7a0d68b50ddae371b306f6ccba5383060a15 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <6by9@users.noreply.github.com>
Date: Sat, 16 Apr 2016 23:09:54 +0100
Subject: [PATCH] V4L2: Request maximum resolution from GPU
diff --git a/target/linux/brcm2708/patches-4.4/0301-ARM-bcm2835-add-i2s-gpio28-31-for-cm.patch b/target/linux/brcm2708/patches-4.4/0301-ARM-bcm2835-add-i2s-gpio28-31-for-cm.patch
index 132ee07ca9..73ad400a9a 100644
--- a/target/linux/brcm2708/patches-4.4/0301-ARM-bcm2835-add-i2s-gpio28-31-for-cm.patch
+++ b/target/linux/brcm2708/patches-4.4/0301-ARM-bcm2835-add-i2s-gpio28-31-for-cm.patch
@@ -1,4 +1,4 @@
-From c865e89f79eca5a324d541a03aa4725bc0614f64 Mon Sep 17 00:00:00 2001
+From e64de6a371f40d4d1b3333e2b85ca8aa0b52fe74 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Sat, 23 Apr 2016 15:21:41 +0000
Subject: [PATCH] ARM: bcm2835: add i2s-gpio28-31 for cm
diff --git a/target/linux/brcm2708/patches-4.4/0302-drm-vc4-Add-DT-parameters-to-control-CMA-usage.patch b/target/linux/brcm2708/patches-4.4/0302-drm-vc4-Add-DT-parameters-to-control-CMA-usage.patch
index 34f0e8053d..5dcc9acc00 100644
--- a/target/linux/brcm2708/patches-4.4/0302-drm-vc4-Add-DT-parameters-to-control-CMA-usage.patch
+++ b/target/linux/brcm2708/patches-4.4/0302-drm-vc4-Add-DT-parameters-to-control-CMA-usage.patch
@@ -1,4 +1,4 @@
-From 4f7d976e703d5196ade9d27074ce4bb49c11bb52 Mon Sep 17 00:00:00 2001
+From 2648818dcb79c89305cf68b5f53a521b9065c341 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Sun, 24 Apr 2016 17:28:15 +0100
Subject: [PATCH] drm/vc4: Add DT parameters to control CMA usage
diff --git a/target/linux/brcm2708/patches-4.4/0303-SQUASH-BCM270X_DT-Add-make-rule-for-sdio-1bit.patch b/target/linux/brcm2708/patches-4.4/0303-SQUASH-BCM270X_DT-Add-make-rule-for-sdio-1bit.patch
index 866983f0be..5240a77b44 100644
--- a/target/linux/brcm2708/patches-4.4/0303-SQUASH-BCM270X_DT-Add-make-rule-for-sdio-1bit.patch
+++ b/target/linux/brcm2708/patches-4.4/0303-SQUASH-BCM270X_DT-Add-make-rule-for-sdio-1bit.patch
@@ -1,4 +1,4 @@
-From 314c504fe66cf918a847fd0ab5a4c9f82def6e06 Mon Sep 17 00:00:00 2001
+From d3cc3200a6764adeb6604c495cdfebe79870855f Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 25 Apr 2016 10:43:36 +0100
Subject: [PATCH] SQUASH: BCM270X_DT: Add make rule for sdio-1bit
diff --git a/target/linux/brcm2708/patches-4.4/0304-dts-add-overlay-for-pitft22.patch b/target/linux/brcm2708/patches-4.4/0304-dts-add-overlay-for-pitft22.patch
index e6f53cdd6b..4cb2d7d7a6 100644
--- a/target/linux/brcm2708/patches-4.4/0304-dts-add-overlay-for-pitft22.patch
+++ b/target/linux/brcm2708/patches-4.4/0304-dts-add-overlay-for-pitft22.patch
@@ -1,4 +1,4 @@
-From d2ecf44fbe03bd988a608473d5b515d21fab8950 Mon Sep 17 00:00:00 2001
+From 9a5679751907b45b2470c02322dff8e87980464a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petter=20Mab=C3=A4cker?= <petter@technux.se>
Date: Fri, 8 Jan 2016 09:02:44 +0100
Subject: [PATCH] dts: add overlay for pitft22
diff --git a/target/linux/brcm2708/patches-4.4/0305-BCM270X_DT-Sound-DT-adjustments-for-Dynamic-DT.patch b/target/linux/brcm2708/patches-4.4/0305-BCM270X_DT-Sound-DT-adjustments-for-Dynamic-DT.patch
index db5ecb2722..fc8cb992a1 100644
--- a/target/linux/brcm2708/patches-4.4/0305-BCM270X_DT-Sound-DT-adjustments-for-Dynamic-DT.patch
+++ b/target/linux/brcm2708/patches-4.4/0305-BCM270X_DT-Sound-DT-adjustments-for-Dynamic-DT.patch
@@ -1,4 +1,4 @@
-From 5bab2e037ad60c491b7a48171b33fb1413e91352 Mon Sep 17 00:00:00 2001
+From 18530eb2ce1219fb8e11c7ffbeb0a8ff73a7cabf Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 26 Apr 2016 10:44:59 +0100
Subject: [PATCH] BCM270X_DT: Sound DT adjustments for Dynamic DT
diff --git a/target/linux/brcm2708/patches-4.4/0306-BCM270X_DT-Fix-codec-use-in-hifiberry-dac-overlay.patch b/target/linux/brcm2708/patches-4.4/0306-BCM270X_DT-Fix-codec-use-in-hifiberry-dac-overlay.patch
index e32f9f37b4..2eeb2f31ac 100644
--- a/target/linux/brcm2708/patches-4.4/0306-BCM270X_DT-Fix-codec-use-in-hifiberry-dac-overlay.patch
+++ b/target/linux/brcm2708/patches-4.4/0306-BCM270X_DT-Fix-codec-use-in-hifiberry-dac-overlay.patch
@@ -1,4 +1,4 @@
-From 5f01fff2c8d665404e11aff29278d63f6250af61 Mon Sep 17 00:00:00 2001
+From 6d665e736d0418ad5ffbfc49fc09aff30148b7a4 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 27 Apr 2016 12:01:41 +0100
Subject: [PATCH] BCM270X_DT: Fix codec use in hifiberry-dac overlay
diff --git a/target/linux/brcm2708/patches-4.4/0309-Revert-bcm2835-log-which-channel-map-is-set.patch b/target/linux/brcm2708/patches-4.4/0309-Revert-bcm2835-log-which-channel-map-is-set.patch
index d04a1eb446..e25b147788 100644
--- a/target/linux/brcm2708/patches-4.4/0309-Revert-bcm2835-log-which-channel-map-is-set.patch
+++ b/target/linux/brcm2708/patches-4.4/0309-Revert-bcm2835-log-which-channel-map-is-set.patch
@@ -1,4 +1,4 @@
-From 593366c81d96fb54152093ab5ca3d62607440cf8 Mon Sep 17 00:00:00 2001
+From 2079ceb6673cafb6896c7841ad2b3eff4d92a95b Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 29 Apr 2016 17:27:33 +0100
Subject: [PATCH] Revert "bcm2835: log which channel map is set"
diff --git a/target/linux/brcm2708/patches-4.4/0310-Revert-bcm2835-add-fallback-channel-layouts-if-chann.patch b/target/linux/brcm2708/patches-4.4/0310-Revert-bcm2835-add-fallback-channel-layouts-if-chann.patch
index 56497d139a..1621e7966a 100644
--- a/target/linux/brcm2708/patches-4.4/0310-Revert-bcm2835-add-fallback-channel-layouts-if-chann.patch
+++ b/target/linux/brcm2708/patches-4.4/0310-Revert-bcm2835-add-fallback-channel-layouts-if-chann.patch
@@ -1,4 +1,4 @@
-From ed9e011f0f6a823a2e278ce7dd9e8bb620b08e56 Mon Sep 17 00:00:00 2001
+From fc43a2bf668e325aab427a8c0827cfc3b8a1e39f Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 29 Apr 2016 17:27:35 +0100
Subject: [PATCH] Revert "bcm2835: add fallback channel layouts if channel map
diff --git a/target/linux/brcm2708/patches-4.4/0311-Revert-bcm2835-do-not-require-substream-for-accessin.patch b/target/linux/brcm2708/patches-4.4/0311-Revert-bcm2835-do-not-require-substream-for-accessin.patch
index 83b675d680..cc66d1ec23 100644
--- a/target/linux/brcm2708/patches-4.4/0311-Revert-bcm2835-do-not-require-substream-for-accessin.patch
+++ b/target/linux/brcm2708/patches-4.4/0311-Revert-bcm2835-do-not-require-substream-for-accessin.patch
@@ -1,4 +1,4 @@
-From e26366439123ef9f20f7728942f35937035c9c73 Mon Sep 17 00:00:00 2001
+From 9c6c1cef21569d9a0ef62b7d621f864e5db89994 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 29 Apr 2016 17:27:36 +0100
Subject: [PATCH] Revert "bcm2835: do not require substream for accessing chmap
diff --git a/target/linux/brcm2708/patches-4.4/0312-Revert-bcm2835-interpolate-audio-delay.patch b/target/linux/brcm2708/patches-4.4/0312-Revert-bcm2835-interpolate-audio-delay.patch
index 0b50d279b0..5caaeb7e29 100644
--- a/target/linux/brcm2708/patches-4.4/0312-Revert-bcm2835-interpolate-audio-delay.patch
+++ b/target/linux/brcm2708/patches-4.4/0312-Revert-bcm2835-interpolate-audio-delay.patch
@@ -1,4 +1,4 @@
-From 30abbf1d6db5eb081c9693958b098d86758aa7f4 Mon Sep 17 00:00:00 2001
+From af3ae835c6da0f3383aac9957df02f7160c9d2b4 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 29 Apr 2016 17:27:37 +0100
Subject: [PATCH] Revert "bcm2835: interpolate audio delay"
diff --git a/target/linux/brcm2708/patches-4.4/0313-Revert-bcm2835-only-allow-stereo-if-analogue-jack-is.patch b/target/linux/brcm2708/patches-4.4/0313-Revert-bcm2835-only-allow-stereo-if-analogue-jack-is.patch
index c601196725..58f5b899ca 100644
--- a/target/linux/brcm2708/patches-4.4/0313-Revert-bcm2835-only-allow-stereo-if-analogue-jack-is.patch
+++ b/target/linux/brcm2708/patches-4.4/0313-Revert-bcm2835-only-allow-stereo-if-analogue-jack-is.patch
@@ -1,4 +1,4 @@
-From ad3d718e72cdc2c01c22578831603ea1981f9906 Mon Sep 17 00:00:00 2001
+From a6aaa7b9b060fcb361dd4d52255cb80d6e43fa5a Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 29 Apr 2016 17:28:06 +0100
Subject: [PATCH] Revert "bcm2835: only allow stereo if analogue jack is
diff --git a/target/linux/brcm2708/patches-4.4/0314-Revert-bcm2835-always-use-2-4-8-channels-for-multich.patch b/target/linux/brcm2708/patches-4.4/0314-Revert-bcm2835-always-use-2-4-8-channels-for-multich.patch
index e1efbf78d1..a64358a8eb 100644
--- a/target/linux/brcm2708/patches-4.4/0314-Revert-bcm2835-always-use-2-4-8-channels-for-multich.patch
+++ b/target/linux/brcm2708/patches-4.4/0314-Revert-bcm2835-always-use-2-4-8-channels-for-multich.patch
@@ -1,4 +1,4 @@
-From 506c92b9847bb1fb0ef2fab567b74da572c2ad97 Mon Sep 17 00:00:00 2001
+From 0a72daddfb78fe60ac0ce70aab010ba604158edd Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 29 Apr 2016 17:28:08 +0100
Subject: [PATCH] Revert "bcm2835: always use 2/4/8 channels for multichannel
diff --git a/target/linux/brcm2708/patches-4.4/0315-Revert-bcm2835-implement-channel-map-API.patch b/target/linux/brcm2708/patches-4.4/0315-Revert-bcm2835-implement-channel-map-API.patch
index d5d70b350d..21f5205535 100644
--- a/target/linux/brcm2708/patches-4.4/0315-Revert-bcm2835-implement-channel-map-API.patch
+++ b/target/linux/brcm2708/patches-4.4/0315-Revert-bcm2835-implement-channel-map-API.patch
@@ -1,4 +1,4 @@
-From 1e3a2bebcbd26fdf1b0d13d2219186163708ae4c Mon Sep 17 00:00:00 2001
+From 321cf99bd2206e741a89b5ac350dfe3f182a00a3 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 29 Apr 2016 17:29:03 +0100
Subject: [PATCH] Revert "bcm2835: implement channel map API"
diff --git a/target/linux/brcm2708/patches-4.4/0316-Revert-bcm2835-extend-allowed-range-of-channels-and-.patch b/target/linux/brcm2708/patches-4.4/0316-Revert-bcm2835-extend-allowed-range-of-channels-and-.patch
index c128686e2d..881d483d6b 100644
--- a/target/linux/brcm2708/patches-4.4/0316-Revert-bcm2835-extend-allowed-range-of-channels-and-.patch
+++ b/target/linux/brcm2708/patches-4.4/0316-Revert-bcm2835-extend-allowed-range-of-channels-and-.patch
@@ -1,4 +1,4 @@
-From cb54a471f7066a763b9da5d33d6613fe15d2aa3d Mon Sep 17 00:00:00 2001
+From 3dc4ed78cd40e820a68fb6de679b7ed22e7f638c Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 29 Apr 2016 17:30:00 +0100
Subject: [PATCH] Revert "bcm2835: extend allowed range of channels and
diff --git a/target/linux/brcm2708/patches-4.4/0317-pinctrl-bcm2835-Return-pins-to-inputs-when-freed.patch b/target/linux/brcm2708/patches-4.4/0317-pinctrl-bcm2835-Return-pins-to-inputs-when-freed.patch
index 685cd79704..5fbec8fafc 100644
--- a/target/linux/brcm2708/patches-4.4/0317-pinctrl-bcm2835-Return-pins-to-inputs-when-freed.patch
+++ b/target/linux/brcm2708/patches-4.4/0317-pinctrl-bcm2835-Return-pins-to-inputs-when-freed.patch
@@ -1,4 +1,4 @@
-From 550960c37d5de04808943e9ae6cecb16ad003070 Mon Sep 17 00:00:00 2001
+From ae2ee2f4ea51785f408606ffd1195c84b0641f49 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 6 May 2016 12:32:47 +0100
Subject: [PATCH] pinctrl-bcm2835: Return pins to inputs when freed
diff --git a/target/linux/brcm2708/patches-4.4/0318-BCM270X_DT-i2c0-bcm2708-pin-group-params.patch b/target/linux/brcm2708/patches-4.4/0318-BCM270X_DT-i2c0-bcm2708-pin-group-params.patch
index fdebd34cab..8ba6347830 100644
--- a/target/linux/brcm2708/patches-4.4/0318-BCM270X_DT-i2c0-bcm2708-pin-group-params.patch
+++ b/target/linux/brcm2708/patches-4.4/0318-BCM270X_DT-i2c0-bcm2708-pin-group-params.patch
@@ -1,4 +1,4 @@
-From 9b6cc71b7159bebe78cd1ee823a479c0ca485c82 Mon Sep 17 00:00:00 2001
+From c3b4c2b0432a51abe5836dd8a90fd25c1e08f2ad Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 6 May 2016 12:53:16 +0100
Subject: [PATCH] BCM270X_DT: i2c0-bcm2708 - pin group params
diff --git a/target/linux/brcm2708/patches-4.4/0319-config-Add-CONFIG_DRM_LOAD_EDID_FIRMWARE.patch b/target/linux/brcm2708/patches-4.4/0319-config-Add-CONFIG_DRM_LOAD_EDID_FIRMWARE.patch
index 13ee212028..0a5df2b3be 100644
--- a/target/linux/brcm2708/patches-4.4/0319-config-Add-CONFIG_DRM_LOAD_EDID_FIRMWARE.patch
+++ b/target/linux/brcm2708/patches-4.4/0319-config-Add-CONFIG_DRM_LOAD_EDID_FIRMWARE.patch
@@ -1,4 +1,4 @@
-From 708cc4c531fdf3b6061589031cd15b9382e042b8 Mon Sep 17 00:00:00 2001
+From 6b32cf38a121a9e40e2e7f870c9193da48cce177 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 6 May 2016 12:40:37 +0100
Subject: [PATCH] config: Add CONFIG_DRM_LOAD_EDID_FIRMWARE
diff --git a/target/linux/brcm2708/patches-4.4/0320-Revert-rpi-update-vc_vchi_audioserv_defs.h.patch b/target/linux/brcm2708/patches-4.4/0320-Revert-rpi-update-vc_vchi_audioserv_defs.h.patch
index a2e5b6e250..d4ae1db82a 100644
--- a/target/linux/brcm2708/patches-4.4/0320-Revert-rpi-update-vc_vchi_audioserv_defs.h.patch
+++ b/target/linux/brcm2708/patches-4.4/0320-Revert-rpi-update-vc_vchi_audioserv_defs.h.patch
@@ -1,4 +1,4 @@
-From 61a0378d024e96bfe068fac75a4ed401eef46676 Mon Sep 17 00:00:00 2001
+From 9023265ca66a0152d9e57ba44c6e619aabd3df1e Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 6 May 2016 17:18:57 +0100
Subject: [PATCH] Revert "rpi: update vc_vchi_audioserv_defs.h"
diff --git a/target/linux/brcm2708/patches-4.4/0321-Revert-config-Add-CONFIG_DRM_LOAD_EDID_FIRMWARE.patch b/target/linux/brcm2708/patches-4.4/0321-Revert-config-Add-CONFIG_DRM_LOAD_EDID_FIRMWARE.patch
index bcfe02ba14..c7ee091ead 100644
--- a/target/linux/brcm2708/patches-4.4/0321-Revert-config-Add-CONFIG_DRM_LOAD_EDID_FIRMWARE.patch
+++ b/target/linux/brcm2708/patches-4.4/0321-Revert-config-Add-CONFIG_DRM_LOAD_EDID_FIRMWARE.patch
@@ -1,4 +1,4 @@
-From d796713d0e6da4b9fdfd88350f0321d8f63ccf91 Mon Sep 17 00:00:00 2001
+From 8dea51318cb961004586a94fe2a9d03526b54955 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 6 May 2016 17:21:58 +0100
Subject: [PATCH] Revert "config: Add CONFIG_DRM_LOAD_EDID_FIRMWARE"
diff --git a/target/linux/brcm2708/patches-4.4/0322-ARM-adau1977-adc-Add-basic-machine-driver-for-adau19.patch b/target/linux/brcm2708/patches-4.4/0322-ARM-adau1977-adc-Add-basic-machine-driver-for-adau19.patch
index e6ba86610d..16054afba1 100644
--- a/target/linux/brcm2708/patches-4.4/0322-ARM-adau1977-adc-Add-basic-machine-driver-for-adau19.patch
+++ b/target/linux/brcm2708/patches-4.4/0322-ARM-adau1977-adc-Add-basic-machine-driver-for-adau19.patch
@@ -1,4 +1,4 @@
-From e6728a3fb4b185e632a63b7d0d61838d8d690548 Mon Sep 17 00:00:00 2001
+From bec2ad610c71adc8c26598fb27259d7d7348d4c3 Mon Sep 17 00:00:00 2001
From: Andrey Grodzovsky <andrey2805@gmail.com>
Date: Tue, 3 May 2016 22:10:59 -0400
Subject: [PATCH] ARM: adau1977-adc: Add basic machine driver for adau1977
diff --git a/target/linux/brcm2708/patches-4.4/0323-Allow-up-to-24dB-digital-gain-to-be-applied-when-usi.patch b/target/linux/brcm2708/patches-4.4/0323-Allow-up-to-24dB-digital-gain-to-be-applied-when-usi.patch
index 3278745176..1781991976 100644
--- a/target/linux/brcm2708/patches-4.4/0323-Allow-up-to-24dB-digital-gain-to-be-applied-when-usi.patch
+++ b/target/linux/brcm2708/patches-4.4/0323-Allow-up-to-24dB-digital-gain-to-be-applied-when-usi.patch
@@ -1,4 +1,4 @@
-From 691922255a15630c6f726c4c871ce2475d4fec72 Mon Sep 17 00:00:00 2001
+From e38ba0616f674d2e78f8edd52f8fe770eb0e0a8e Mon Sep 17 00:00:00 2001
From: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
Date: Fri, 6 May 2016 09:42:55 +0100
Subject: [PATCH] Allow up to 24dB digital gain to be applied when using
diff --git a/target/linux/brcm2708/patches-4.4/0324-config-Add-CONFIG_DRM_LOAD_EDID_FIRMWARE.patch b/target/linux/brcm2708/patches-4.4/0324-config-Add-CONFIG_DRM_LOAD_EDID_FIRMWARE.patch
index bfb7bf693d..98f4c1cf71 100644
--- a/target/linux/brcm2708/patches-4.4/0324-config-Add-CONFIG_DRM_LOAD_EDID_FIRMWARE.patch
+++ b/target/linux/brcm2708/patches-4.4/0324-config-Add-CONFIG_DRM_LOAD_EDID_FIRMWARE.patch
@@ -1,4 +1,4 @@
-From e84d0b3f337b2ad8f8b7879fb64bcd48a87919c6 Mon Sep 17 00:00:00 2001
+From 60f712014d29328acde9849d97ecf90d2b2377f0 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 6 May 2016 12:40:37 +0100
Subject: [PATCH] config: Add CONFIG_DRM_LOAD_EDID_FIRMWARE
diff --git a/target/linux/brcm2708/patches-4.4/0325-BCM270X_DT-Move-vc4-node-contents-to-bcm2708_common..patch b/target/linux/brcm2708/patches-4.4/0325-BCM270X_DT-Move-vc4-node-contents-to-bcm2708_common..patch
index ef74e1eb07..5a86454979 100644
--- a/target/linux/brcm2708/patches-4.4/0325-BCM270X_DT-Move-vc4-node-contents-to-bcm2708_common..patch
+++ b/target/linux/brcm2708/patches-4.4/0325-BCM270X_DT-Move-vc4-node-contents-to-bcm2708_common..patch
@@ -1,4 +1,4 @@
-From a2d2ac2146d46c29d9fd086c777ca7643eb699db Mon Sep 17 00:00:00 2001
+From 9c7e2df0d4cbbb196c808bef6c543d1dc01921ec Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 6 May 2016 11:48:35 -0700
Subject: [PATCH] BCM270X_DT: Move vc4 node contents to bcm2708_common.dtsi.
diff --git a/target/linux/brcm2708/patches-4.4/0326-BCM270X_DT-Set-correct-HDMI-HPD-GPIO-levels-for-vari.patch b/target/linux/brcm2708/patches-4.4/0326-BCM270X_DT-Set-correct-HDMI-HPD-GPIO-levels-for-vari.patch
index f29a4c9fdf..5168770357 100644
--- a/target/linux/brcm2708/patches-4.4/0326-BCM270X_DT-Set-correct-HDMI-HPD-GPIO-levels-for-vari.patch
+++ b/target/linux/brcm2708/patches-4.4/0326-BCM270X_DT-Set-correct-HDMI-HPD-GPIO-levels-for-vari.patch
@@ -1,4 +1,4 @@
-From f8d384eb825833f16db1b410dc7bdb62857bcf54 Mon Sep 17 00:00:00 2001
+From 064b3d9122f8652a4ebfc0ec8bcbcaa8658cde78 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 6 May 2016 12:42:26 -0700
Subject: [PATCH] BCM270X_DT: Set correct HDMI HPD GPIO levels for various
diff --git a/target/linux/brcm2708/patches-4.4/0327-Revert-drm-vc4-Force-HDMI-to-connected.patch b/target/linux/brcm2708/patches-4.4/0327-Revert-drm-vc4-Force-HDMI-to-connected.patch
index 47b395f3af..649d50a4f2 100644
--- a/target/linux/brcm2708/patches-4.4/0327-Revert-drm-vc4-Force-HDMI-to-connected.patch
+++ b/target/linux/brcm2708/patches-4.4/0327-Revert-drm-vc4-Force-HDMI-to-connected.patch
@@ -1,4 +1,4 @@
-From bfde336df6d52984f6eef6ad5e4981fe18c0dfcc Mon Sep 17 00:00:00 2001
+From 6225e3d4a9c7442ffb8a0491fafbc8c7fd2151ba Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 6 May 2016 12:43:25 -0700
Subject: [PATCH] Revert "drm/vc4: Force HDMI to connected."
diff --git a/target/linux/brcm2708/patches-4.4/0328-BCM270X-Include-DRM_PANEL_SIMPLE-in-the-defconfigs.patch b/target/linux/brcm2708/patches-4.4/0328-BCM270X-Include-DRM_PANEL_SIMPLE-in-the-defconfigs.patch
index f054521116..2b0579399d 100644
--- a/target/linux/brcm2708/patches-4.4/0328-BCM270X-Include-DRM_PANEL_SIMPLE-in-the-defconfigs.patch
+++ b/target/linux/brcm2708/patches-4.4/0328-BCM270X-Include-DRM_PANEL_SIMPLE-in-the-defconfigs.patch
@@ -1,4 +1,4 @@
-From a62182109337f799ee97d1e41fee09be5faa8975 Mon Sep 17 00:00:00 2001
+From 20c1353fd7aa5d414b8eaa86646da23e3d29bd3a Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 6 May 2016 12:59:27 -0700
Subject: [PATCH] BCM270X: Include DRM_PANEL_SIMPLE in the defconfigs.
diff --git a/target/linux/brcm2708/patches-4.4/0329-drm-Add-an-encoder-and-connector-type-enum-for-DPI.patch b/target/linux/brcm2708/patches-4.4/0329-drm-Add-an-encoder-and-connector-type-enum-for-DPI.patch
index 9e2da1d655..bf145d1c96 100644
--- a/target/linux/brcm2708/patches-4.4/0329-drm-Add-an-encoder-and-connector-type-enum-for-DPI.patch
+++ b/target/linux/brcm2708/patches-4.4/0329-drm-Add-an-encoder-and-connector-type-enum-for-DPI.patch
@@ -1,4 +1,4 @@
-From 870639e585709adc65183d75619fc01e35adb774 Mon Sep 17 00:00:00 2001
+From b3536f336e6c0feaf28ff73613cb4258fa246229 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 18 Mar 2016 12:34:59 -0700
Subject: [PATCH] drm: Add an encoder and connector type enum for DPI.
diff --git a/target/linux/brcm2708/patches-4.4/0330-dt-bindings-Add-binding-docs-for-V3D.patch b/target/linux/brcm2708/patches-4.4/0330-dt-bindings-Add-binding-docs-for-V3D.patch
index cb1fae5deb..008c8a8574 100644
--- a/target/linux/brcm2708/patches-4.4/0330-dt-bindings-Add-binding-docs-for-V3D.patch
+++ b/target/linux/brcm2708/patches-4.4/0330-dt-bindings-Add-binding-docs-for-V3D.patch
@@ -1,4 +1,4 @@
-From eb2044830badaa2cc277e21920c4d401dde554cd Mon Sep 17 00:00:00 2001
+From 93941306fa9fd2f57ca2d484119bc2f87c238a31 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 4 Mar 2016 12:32:06 -0800
Subject: [PATCH] dt-bindings: Add binding docs for V3D.
diff --git a/target/linux/brcm2708/patches-4.4/0331-drm-vc4-Add-DPI-driver.patch b/target/linux/brcm2708/patches-4.4/0331-drm-vc4-Add-DPI-driver.patch
index 671c9b2308..4f4a32dbe8 100644
--- a/target/linux/brcm2708/patches-4.4/0331-drm-vc4-Add-DPI-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0331-drm-vc4-Add-DPI-driver.patch
@@ -1,4 +1,4 @@
-From fe826daeea975dcf3ce3fca6e8a0850e5761f602 Mon Sep 17 00:00:00 2001
+From 1993e73606600fecd48190c650b732da12d62158 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 10 Feb 2016 11:42:32 -0800
Subject: [PATCH] drm/vc4: Add DPI driver
diff --git a/target/linux/brcm2708/patches-4.4/0332-drm-vc4-Fix-NULL-deref-in-HDMI-init-error-path.patch b/target/linux/brcm2708/patches-4.4/0332-drm-vc4-Fix-NULL-deref-in-HDMI-init-error-path.patch
index e702146094..31ba1fcb4d 100644
--- a/target/linux/brcm2708/patches-4.4/0332-drm-vc4-Fix-NULL-deref-in-HDMI-init-error-path.patch
+++ b/target/linux/brcm2708/patches-4.4/0332-drm-vc4-Fix-NULL-deref-in-HDMI-init-error-path.patch
@@ -1,4 +1,4 @@
-From 69def03fa1b25514d142397748522e1f88b325cb Mon Sep 17 00:00:00 2001
+From c8930bab8d094c5a0c41e17fa0c6f855b93fd0d1 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 4 Apr 2016 14:25:59 -0700
Subject: [PATCH] drm/vc4: Fix NULL deref in HDMI init error path
diff --git a/target/linux/brcm2708/patches-4.4/0333-drm-vc4-Kick-out-the-simplefb-framebuffer-before-we-.patch b/target/linux/brcm2708/patches-4.4/0333-drm-vc4-Kick-out-the-simplefb-framebuffer-before-we-.patch
index 8347338589..d1da51f0bd 100644
--- a/target/linux/brcm2708/patches-4.4/0333-drm-vc4-Kick-out-the-simplefb-framebuffer-before-we-.patch
+++ b/target/linux/brcm2708/patches-4.4/0333-drm-vc4-Kick-out-the-simplefb-framebuffer-before-we-.patch
@@ -1,4 +1,4 @@
-From 8fde5a249d84674a92b4732def88cbc47f2bb530 Mon Sep 17 00:00:00 2001
+From 36e64f18d0df45797656ddbbcf6a58cfae397ca1 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 19 Apr 2016 13:24:14 -0700
Subject: [PATCH] drm/vc4: Kick out the simplefb framebuffer before we set up
diff --git a/target/linux/brcm2708/patches-4.4/0334-drm-vc4-Rename-async-to-nonblock.patch b/target/linux/brcm2708/patches-4.4/0334-drm-vc4-Rename-async-to-nonblock.patch
index 698dd34355..9b54e27b6c 100644
--- a/target/linux/brcm2708/patches-4.4/0334-drm-vc4-Rename-async-to-nonblock.patch
+++ b/target/linux/brcm2708/patches-4.4/0334-drm-vc4-Rename-async-to-nonblock.patch
@@ -1,4 +1,4 @@
-From db48b84381e9cc7c4cc559bad3e5210db3b13c4e Mon Sep 17 00:00:00 2001
+From e6fd7b2c38d1c2f9f49f7bf9bfb200038e894db5 Mon Sep 17 00:00:00 2001
From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Date: Tue, 26 Apr 2016 16:11:44 +0200
Subject: [PATCH] drm/vc4: Rename async to nonblock.
diff --git a/target/linux/brcm2708/patches-4.4/0335-drm-vc4-Add-support-for-gamma-ramps.patch b/target/linux/brcm2708/patches-4.4/0335-drm-vc4-Add-support-for-gamma-ramps.patch
index 9168f20d65..32faedbd03 100644
--- a/target/linux/brcm2708/patches-4.4/0335-drm-vc4-Add-support-for-gamma-ramps.patch
+++ b/target/linux/brcm2708/patches-4.4/0335-drm-vc4-Add-support-for-gamma-ramps.patch
@@ -1,4 +1,4 @@
-From 16c6164e2046f7b7bce7c1e028a2f938545f5401 Mon Sep 17 00:00:00 2001
+From 716125d6733c9722b238f6d230579ead67a616bf Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 31 Mar 2016 18:38:20 -0700
Subject: [PATCH] drm/vc4: Add support for gamma ramps.
diff --git a/target/linux/brcm2708/patches-4.4/0336-drm-vc4-Add-missing-render-node-support.patch b/target/linux/brcm2708/patches-4.4/0336-drm-vc4-Add-missing-render-node-support.patch
index e5dd1ae088..5725c4b08d 100644
--- a/target/linux/brcm2708/patches-4.4/0336-drm-vc4-Add-missing-render-node-support.patch
+++ b/target/linux/brcm2708/patches-4.4/0336-drm-vc4-Add-missing-render-node-support.patch
@@ -1,4 +1,4 @@
-From cb3e6f502adebcbddfe15a3479c3e48305717f46 Mon Sep 17 00:00:00 2001
+From f0076844b242dd25f678b89aa433a43c907cf779 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 14 Apr 2016 23:16:05 -0700
Subject: [PATCH] drm/vc4: Add missing render node support
diff --git a/target/linux/brcm2708/patches-4.4/0337-drm-panel-simple-Add-the-7-DPI-panel-from-Adafruit.patch b/target/linux/brcm2708/patches-4.4/0337-drm-panel-simple-Add-the-7-DPI-panel-from-Adafruit.patch
index c62a62170e..d5218b661c 100644
--- a/target/linux/brcm2708/patches-4.4/0337-drm-panel-simple-Add-the-7-DPI-panel-from-Adafruit.patch
+++ b/target/linux/brcm2708/patches-4.4/0337-drm-panel-simple-Add-the-7-DPI-panel-from-Adafruit.patch
@@ -1,4 +1,4 @@
-From 59c699fe982aa0df961465654c4d87d109b127e6 Mon Sep 17 00:00:00 2001
+From dd5315cfa3267320577c92d0e6115345677f931f Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 24 Mar 2016 17:23:48 -0700
Subject: [PATCH] drm/panel: simple: Add the 7" DPI panel from Adafruit
diff --git a/target/linux/brcm2708/patches-4.4/0338-BCM270X_DT-Add-the-disabled-by-default-DPI-device-no.patch b/target/linux/brcm2708/patches-4.4/0338-BCM270X_DT-Add-the-disabled-by-default-DPI-device-no.patch
index fdb3f31bb5..0e10e0d49f 100644
--- a/target/linux/brcm2708/patches-4.4/0338-BCM270X_DT-Add-the-disabled-by-default-DPI-device-no.patch
+++ b/target/linux/brcm2708/patches-4.4/0338-BCM270X_DT-Add-the-disabled-by-default-DPI-device-no.patch
@@ -1,4 +1,4 @@
-From 55387e0dc0e0982f62b1131e79a86e655dcfb3f4 Mon Sep 17 00:00:00 2001
+From e9bc88c63a0812560b2789f16934a2e205dd6341 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 6 May 2016 13:18:09 -0700
Subject: [PATCH] BCM270X_DT: Add the disabled-by-default DPI device node.
diff --git a/target/linux/brcm2708/patches-4.4/0339-drm-vc4-Fix-get_vblank_counter-with-proper-no-op-for.patch b/target/linux/brcm2708/patches-4.4/0339-drm-vc4-Fix-get_vblank_counter-with-proper-no-op-for.patch
index 031c328bf7..9a6f6ea101 100644
--- a/target/linux/brcm2708/patches-4.4/0339-drm-vc4-Fix-get_vblank_counter-with-proper-no-op-for.patch
+++ b/target/linux/brcm2708/patches-4.4/0339-drm-vc4-Fix-get_vblank_counter-with-proper-no-op-for.patch
@@ -1,4 +1,4 @@
-From 9684d1176621e7edee8475dbd3ad186591898b21 Mon Sep 17 00:00:00 2001
+From 3b82a9f86033a7a0cef86738f45bd191742a55db Mon Sep 17 00:00:00 2001
From: Mario Kleiner <mario.kleiner.de@gmail.com>
Date: Fri, 6 May 2016 19:26:05 +0200
Subject: [PATCH] drm/vc4: Fix get_vblank_counter with proper no-op for Linux
diff --git a/target/linux/brcm2708/patches-4.4/0340-drm-vc4-Fix-drm_vblank_put-get-imbalance-in-page-fli.patch b/target/linux/brcm2708/patches-4.4/0340-drm-vc4-Fix-drm_vblank_put-get-imbalance-in-page-fli.patch
index 616ff43786..cd27e03489 100644
--- a/target/linux/brcm2708/patches-4.4/0340-drm-vc4-Fix-drm_vblank_put-get-imbalance-in-page-fli.patch
+++ b/target/linux/brcm2708/patches-4.4/0340-drm-vc4-Fix-drm_vblank_put-get-imbalance-in-page-fli.patch
@@ -1,4 +1,4 @@
-From bd3aef6d9474fbb9fe063a2f409f920263c28ff1 Mon Sep 17 00:00:00 2001
+From 973a3b6f56336673afbf63a108aa9f1419eb38d8 Mon Sep 17 00:00:00 2001
From: Mario Kleiner <mario.kleiner.de@gmail.com>
Date: Fri, 6 May 2016 19:26:06 +0200
Subject: [PATCH] drm/vc4: Fix drm_vblank_put/get imbalance in page flip path.
diff --git a/target/linux/brcm2708/patches-4.4/0341-BCM270X_DT-Add-umbrella-I2C-Mux-overlay-i2c-mux.patch b/target/linux/brcm2708/patches-4.4/0341-BCM270X_DT-Add-umbrella-I2C-Mux-overlay-i2c-mux.patch
index 363f0c8f07..1860e856ef 100644
--- a/target/linux/brcm2708/patches-4.4/0341-BCM270X_DT-Add-umbrella-I2C-Mux-overlay-i2c-mux.patch
+++ b/target/linux/brcm2708/patches-4.4/0341-BCM270X_DT-Add-umbrella-I2C-Mux-overlay-i2c-mux.patch
@@ -1,4 +1,4 @@
-From ee32bb475a3986f961466e00f5ed0bc1fb708699 Mon Sep 17 00:00:00 2001
+From 76abdcc15b223ab75922f38c1cab6d224510af52 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 11 May 2016 15:38:04 +0100
Subject: [PATCH] BCM270X_DT: Add umbrella I2C Mux overlay i2c-mux
diff --git a/target/linux/brcm2708/patches-4.4/0342-BCM270X_DT-Include-address-override-for-pca9542.patch b/target/linux/brcm2708/patches-4.4/0342-BCM270X_DT-Include-address-override-for-pca9542.patch
index 877d347117..b1ce034817 100644
--- a/target/linux/brcm2708/patches-4.4/0342-BCM270X_DT-Include-address-override-for-pca9542.patch
+++ b/target/linux/brcm2708/patches-4.4/0342-BCM270X_DT-Include-address-override-for-pca9542.patch
@@ -1,4 +1,4 @@
-From 4ba99a9cdd73c1e8f24ac981a7d7af3f440de4f6 Mon Sep 17 00:00:00 2001
+From 77eff1bfa410edc8c6cc2fb5441aaac2054ebb5c Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 12 May 2016 08:52:06 +0100
Subject: [PATCH] BCM270X_DT: Include address override for pca9542
diff --git a/target/linux/brcm2708/patches-4.4/0343-BCM270X_DT-Fix-the-tinylcd35-overlay-RTC-support.patch b/target/linux/brcm2708/patches-4.4/0343-BCM270X_DT-Fix-the-tinylcd35-overlay-RTC-support.patch
index cb6f4608b7..b398f9767e 100644
--- a/target/linux/brcm2708/patches-4.4/0343-BCM270X_DT-Fix-the-tinylcd35-overlay-RTC-support.patch
+++ b/target/linux/brcm2708/patches-4.4/0343-BCM270X_DT-Fix-the-tinylcd35-overlay-RTC-support.patch
@@ -1,4 +1,4 @@
-From f2bdc9fa776b22616cb5ec64ae1d027b8c4ca721 Mon Sep 17 00:00:00 2001
+From 6410b301f0c9fb6751b03eb11724dd1cd9748f4e Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 12 May 2016 09:04:20 +0100
Subject: [PATCH] BCM270X_DT: Fix the tinylcd35 overlay RTC support
diff --git a/target/linux/brcm2708/patches-4.4/0344-clk-Allow-clocks-to-be-marked-as-CRITICAL.patch b/target/linux/brcm2708/patches-4.4/0344-clk-Allow-clocks-to-be-marked-as-CRITICAL.patch
index ca69a6d115..959a0e1553 100644
--- a/target/linux/brcm2708/patches-4.4/0344-clk-Allow-clocks-to-be-marked-as-CRITICAL.patch
+++ b/target/linux/brcm2708/patches-4.4/0344-clk-Allow-clocks-to-be-marked-as-CRITICAL.patch
@@ -1,4 +1,4 @@
-From f782ae472861f096fb8b349c3775fbce6316826e Mon Sep 17 00:00:00 2001
+From e58a4a79b9b83d9afa66c0e2cc7490ca40a193bf Mon Sep 17 00:00:00 2001
From: Lee Jones <lee.jones@linaro.org>
Date: Thu, 11 Feb 2016 13:19:09 -0800
Subject: [PATCH] clk: Allow clocks to be marked as CRITICAL
diff --git a/target/linux/brcm2708/patches-4.4/0345-clk-bcm2835-Mark-the-VPU-clock-as-critical.patch b/target/linux/brcm2708/patches-4.4/0345-clk-bcm2835-Mark-the-VPU-clock-as-critical.patch
index 92b9501a13..952ff01678 100644
--- a/target/linux/brcm2708/patches-4.4/0345-clk-bcm2835-Mark-the-VPU-clock-as-critical.patch
+++ b/target/linux/brcm2708/patches-4.4/0345-clk-bcm2835-Mark-the-VPU-clock-as-critical.patch
@@ -1,4 +1,4 @@
-From 9f73459ac27903bb52d831db29cb70a95189fdba Mon Sep 17 00:00:00 2001
+From 9c899d1ac90b4f6357f0b531a29d8403c8a021c7 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 26 Apr 2016 11:44:59 -0700
Subject: [PATCH] clk: bcm2835: Mark the VPU clock as critical
diff --git a/target/linux/brcm2708/patches-4.4/0346-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch b/target/linux/brcm2708/patches-4.4/0346-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch
index 60e4dd9e9f..8c56452e82 100644
--- a/target/linux/brcm2708/patches-4.4/0346-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch
+++ b/target/linux/brcm2708/patches-4.4/0346-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch
@@ -1,4 +1,4 @@
-From 832d2f1df231073ac72474743e3d3adbf0540030 Mon Sep 17 00:00:00 2001
+From 3ee855d8520adaba936bccf377433468fb1c3ab0 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 9 May 2016 17:28:18 -0700
Subject: [PATCH] clk: bcm2835: Mark GPIO clocks enabled at boot as critical.
diff --git a/target/linux/brcm2708/patches-4.4/0347-clk-bcm2835-Skip-PLLC-clocks-when-deciding-on-a-new-.patch b/target/linux/brcm2708/patches-4.4/0347-clk-bcm2835-Skip-PLLC-clocks-when-deciding-on-a-new-.patch
index cc90841566..d2eefe81ed 100644
--- a/target/linux/brcm2708/patches-4.4/0347-clk-bcm2835-Skip-PLLC-clocks-when-deciding-on-a-new-.patch
+++ b/target/linux/brcm2708/patches-4.4/0347-clk-bcm2835-Skip-PLLC-clocks-when-deciding-on-a-new-.patch
@@ -1,4 +1,4 @@
-From 960587a39d7ca3d5279841218b42e008df7194aa Mon Sep 17 00:00:00 2001
+From ca56b6fab9cfc0beca2a706193f1c158e124c1f9 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 26 Apr 2016 12:39:45 -0700
Subject: [PATCH] clk: bcm2835: Skip PLLC clocks when deciding on a new clock
diff --git a/target/linux/brcm2708/patches-4.4/0348-mmc-Add-MMC_QUIRK_ERASE_BROKEN-for-some-cards.patch b/target/linux/brcm2708/patches-4.4/0348-mmc-Add-MMC_QUIRK_ERASE_BROKEN-for-some-cards.patch
index 861d1609bc..dd20fc0860 100644
--- a/target/linux/brcm2708/patches-4.4/0348-mmc-Add-MMC_QUIRK_ERASE_BROKEN-for-some-cards.patch
+++ b/target/linux/brcm2708/patches-4.4/0348-mmc-Add-MMC_QUIRK_ERASE_BROKEN-for-some-cards.patch
@@ -1,4 +1,4 @@
-From 8b01bab8c89fd4930ad304b5a7b3c1f6016c3743 Mon Sep 17 00:00:00 2001
+From 10c91a7a11bfada03809a19adfbc7197e19f2fea Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 11 May 2016 12:50:33 +0100
Subject: [PATCH] mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards
diff --git a/target/linux/brcm2708/patches-4.4/0349-New-AudioInjector.net-Pi-soundcard-with-low-jitter-a.patch b/target/linux/brcm2708/patches-4.4/0349-New-AudioInjector.net-Pi-soundcard-with-low-jitter-a.patch
index c29bd86667..6e7d1bd60e 100644
--- a/target/linux/brcm2708/patches-4.4/0349-New-AudioInjector.net-Pi-soundcard-with-low-jitter-a.patch
+++ b/target/linux/brcm2708/patches-4.4/0349-New-AudioInjector.net-Pi-soundcard-with-low-jitter-a.patch
@@ -1,4 +1,4 @@
-From ae776ef7eb34d99945aadbaa607e1aec66fd04d0 Mon Sep 17 00:00:00 2001
+From 4f02da8ef066e8f62f41bae95348aede12bd4bd1 Mon Sep 17 00:00:00 2001
From: Matt Flax <flatmax@flatmax.org>
Date: Mon, 16 May 2016 21:36:31 +1000
Subject: [PATCH] New AudioInjector.net Pi soundcard with low jitter audio in
diff --git a/target/linux/brcm2708/patches-4.4/0350-mmc-Apply-QUIRK_BROKEN_ERASE-to-other-capacities.patch b/target/linux/brcm2708/patches-4.4/0350-mmc-Apply-QUIRK_BROKEN_ERASE-to-other-capacities.patch
index cf5bad2dff..60febcc17c 100644
--- a/target/linux/brcm2708/patches-4.4/0350-mmc-Apply-QUIRK_BROKEN_ERASE-to-other-capacities.patch
+++ b/target/linux/brcm2708/patches-4.4/0350-mmc-Apply-QUIRK_BROKEN_ERASE-to-other-capacities.patch
@@ -1,4 +1,4 @@
-From 2aa9602cca746c3bd2fe664574234adb147e4ba7 Mon Sep 17 00:00:00 2001
+From 762eec4d6e09623bb5dad09a469a626a5d18ec98 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 19 May 2016 14:40:28 +0100
Subject: [PATCH] mmc: Apply QUIRK_BROKEN_ERASE to other capacities
diff --git a/target/linux/brcm2708/patches-4.4/0352-mmc-Add-card_quirks-module-parameter-log-quirks.patch b/target/linux/brcm2708/patches-4.4/0351-mmc-Add-card_quirks-module-parameter-log-quirks.patch
index 4f0c667b88..f68fd479cc 100644
--- a/target/linux/brcm2708/patches-4.4/0352-mmc-Add-card_quirks-module-parameter-log-quirks.patch
+++ b/target/linux/brcm2708/patches-4.4/0351-mmc-Add-card_quirks-module-parameter-log-quirks.patch
@@ -1,4 +1,4 @@
-From 2b859a1735c3113756c172ab8113f3f764c49c38 Mon Sep 17 00:00:00 2001
+From f17556101fcff8a54e52e6d88d24555308b9774f Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 20 May 2016 10:11:43 +0100
Subject: [PATCH] mmc: Add card_quirks module parameter, log quirks
diff --git a/target/linux/brcm2708/patches-4.4/0353-rtc-ds1307-ensure-that-any-pending-alarm-is-cleared-.patch b/target/linux/brcm2708/patches-4.4/0352-rtc-ds1307-ensure-that-any-pending-alarm-is-cleared-.patch
index 1c6c5c9293..aed0d2866c 100644
--- a/target/linux/brcm2708/patches-4.4/0353-rtc-ds1307-ensure-that-any-pending-alarm-is-cleared-.patch
+++ b/target/linux/brcm2708/patches-4.4/0352-rtc-ds1307-ensure-that-any-pending-alarm-is-cleared-.patch
@@ -1,4 +1,4 @@
-From dab463aa0dbd5ac45403dade2723046eba214359 Mon Sep 17 00:00:00 2001
+From e7628e85cf049383e17688b1d4ed8e9e13980b0b Mon Sep 17 00:00:00 2001
From: Nicolas Boullis <nboullis@debian.org>
Date: Sun, 10 Apr 2016 13:23:05 +0200
Subject: [PATCH] rtc: ds1307: ensure that any pending alarm is cleared before
diff --git a/target/linux/brcm2708/patches-4.4/0354-Revert-Revert-drm-vc4-Force-HDMI-to-connected.patch b/target/linux/brcm2708/patches-4.4/0353-Revert-Revert-drm-vc4-Force-HDMI-to-connected.patch
index 6770f914a1..24e9281d75 100644
--- a/target/linux/brcm2708/patches-4.4/0354-Revert-Revert-drm-vc4-Force-HDMI-to-connected.patch
+++ b/target/linux/brcm2708/patches-4.4/0353-Revert-Revert-drm-vc4-Force-HDMI-to-connected.patch
@@ -1,4 +1,4 @@
-From 01f818eabe959b1d58ad3ef41310e1210b04a9b0 Mon Sep 17 00:00:00 2001
+From 773b6960e7937b504e5012efce4c85b1d4b2cc24 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 23 May 2016 17:06:08 +0100
Subject: [PATCH] Revert "Revert "drm/vc4: Force HDMI to connected.""
diff --git a/target/linux/brcm2708/patches-4.4/0355-config-Add-NF_MATCH_RPFILTER.patch b/target/linux/brcm2708/patches-4.4/0354-config-Add-NF_MATCH_RPFILTER.patch
index 530ad49002..568735c768 100644
--- a/target/linux/brcm2708/patches-4.4/0355-config-Add-NF_MATCH_RPFILTER.patch
+++ b/target/linux/brcm2708/patches-4.4/0354-config-Add-NF_MATCH_RPFILTER.patch
@@ -1,4 +1,4 @@
-From 42af2a4e065f71af6505ba6159073a2da28bcc2f Mon Sep 17 00:00:00 2001
+From a1e0cd7f3d671062051eee6758b81c0dba1307b2 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 23 May 2016 18:22:52 +0100
Subject: [PATCH] config: Add NF_MATCH_RPFILTER
diff --git a/target/linux/brcm2708/patches-4.4/0356-Added-Overlay-for-Microchip-MCP23017-I2C-gpio-expand.patch b/target/linux/brcm2708/patches-4.4/0355-Added-Overlay-for-Microchip-MCP23017-I2C-gpio-expand.patch
index 122183951c..578f580d59 100644
--- a/target/linux/brcm2708/patches-4.4/0356-Added-Overlay-for-Microchip-MCP23017-I2C-gpio-expand.patch
+++ b/target/linux/brcm2708/patches-4.4/0355-Added-Overlay-for-Microchip-MCP23017-I2C-gpio-expand.patch
@@ -1,4 +1,4 @@
-From 40609ec9a60194b9f04cf5ee4fbc4ee5a011a7ea Mon Sep 17 00:00:00 2001
+From 58c72d20f05a5943b48d834e8388a58332897ed8 Mon Sep 17 00:00:00 2001
From: Michael Kaplan <m.kaplan@evva.com>
Date: Tue, 24 May 2016 10:19:08 +0200
Subject: [PATCH] Added Overlay for Microchip MCP23017 I2C gpio expander
diff --git a/target/linux/brcm2708/patches-4.4/0363-bcm2835-camera-Fix-max-min-error-when-looping-over-c.patch b/target/linux/brcm2708/patches-4.4/0362-bcm2835-camera-Fix-max-min-error-when-looping-over-c.patch
index df6fd7e3bd..786746e7e1 100644
--- a/target/linux/brcm2708/patches-4.4/0363-bcm2835-camera-Fix-max-min-error-when-looping-over-c.patch
+++ b/target/linux/brcm2708/patches-4.4/0362-bcm2835-camera-Fix-max-min-error-when-looping-over-c.patch
@@ -1,4 +1,4 @@
-From bc431816b3277e61807a3c279ae8fe11b1599f67 Mon Sep 17 00:00:00 2001
+From 91ed8882918caf0d80e822b1529b1e32e6eaa007 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 24 May 2016 16:20:09 +0100
Subject: [PATCH] bcm2835-camera: Fix max/min error when looping over
diff --git a/target/linux/brcm2708/patches-4.4/0364-Change-BoomBerry-name-to-JustBoom-in-all-locations-d.patch b/target/linux/brcm2708/patches-4.4/0363-Change-BoomBerry-name-to-JustBoom-in-all-locations-d.patch
index 7593544ba5..a7cbd58954 100644
--- a/target/linux/brcm2708/patches-4.4/0364-Change-BoomBerry-name-to-JustBoom-in-all-locations-d.patch
+++ b/target/linux/brcm2708/patches-4.4/0363-Change-BoomBerry-name-to-JustBoom-in-all-locations-d.patch
@@ -1,4 +1,4 @@
-From 027817e4c01f900824dde9932e1e3fb32575bc9f Mon Sep 17 00:00:00 2001
+From 6a5d72f7ea13b48840353fd22f672dc3af8b9fc5 Mon Sep 17 00:00:00 2001
From: Aaron Shaw <shawaj@gmail.com>
Date: Thu, 26 May 2016 23:37:11 +0100
Subject: [PATCH] Change BoomBerry name to JustBoom in all locations due to
diff --git a/target/linux/brcm2708/patches-4.4/0368-Add-dt-param-to-force-HiFiBerry-DAC-Pro-into-slave-m.patch b/target/linux/brcm2708/patches-4.4/0367-Add-dt-param-to-force-HiFiBerry-DAC-Pro-into-slave-m.patch
index 11019f2bbc..d413faea55 100644
--- a/target/linux/brcm2708/patches-4.4/0368-Add-dt-param-to-force-HiFiBerry-DAC-Pro-into-slave-m.patch
+++ b/target/linux/brcm2708/patches-4.4/0367-Add-dt-param-to-force-HiFiBerry-DAC-Pro-into-slave-m.patch
@@ -1,4 +1,4 @@
-From 23a2a66f68d9cef1664e904b741e074dab5b82d6 Mon Sep 17 00:00:00 2001
+From 8f9baa887c3328ee17a78b05eba51af6c8ffc83e Mon Sep 17 00:00:00 2001
From: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
Date: Sun, 29 May 2016 05:22:29 +0100
Subject: [PATCH] Add dt param to force HiFiBerry DAC+ Pro into slave mode
diff --git a/target/linux/brcm2708/patches-4.4/0369-simple-add-sound-dai-cells-to-I2S-def.patch b/target/linux/brcm2708/patches-4.4/0368-simple-add-sound-dai-cells-to-I2S-def.patch
index 464bd2cd2a..fa11d7c762 100644
--- a/target/linux/brcm2708/patches-4.4/0369-simple-add-sound-dai-cells-to-I2S-def.patch
+++ b/target/linux/brcm2708/patches-4.4/0368-simple-add-sound-dai-cells-to-I2S-def.patch
@@ -1,4 +1,4 @@
-From 488b8934b1f8c36a86570c6d6215404a2508cf5d Mon Sep 17 00:00:00 2001
+From 68b9ea24724f403ab475c2d8822c7dcd3ca5b875 Mon Sep 17 00:00:00 2001
From: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
Date: Thu, 19 May 2016 00:00:00 +0100
Subject: [PATCH] simple: add sound-dai-cells to I2S def
diff --git a/target/linux/brcm2708/patches-4.4/0370-BCM2835-V4L2-Increase-minimum-resolution-to-32x32.patch b/target/linux/brcm2708/patches-4.4/0369-BCM2835-V4L2-Increase-minimum-resolution-to-32x32.patch
index 02df95d9d4..7200d24b31 100644
--- a/target/linux/brcm2708/patches-4.4/0370-BCM2835-V4L2-Increase-minimum-resolution-to-32x32.patch
+++ b/target/linux/brcm2708/patches-4.4/0369-BCM2835-V4L2-Increase-minimum-resolution-to-32x32.patch
@@ -1,4 +1,4 @@
-From 23573e4540b9de3c8506fa26956815fc0d71fb75 Mon Sep 17 00:00:00 2001
+From 12f6492a41b05d08a324cb53631804719e378e73 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <6by9@users.noreply.github.com>
Date: Tue, 31 May 2016 10:38:31 +0100
Subject: [PATCH] BCM2835-V4L2: Increase minimum resolution to 32x32
diff --git a/target/linux/brcm2708/patches-4.4/0371-config-Add-support-for-Logitech-Rumblepad.patch b/target/linux/brcm2708/patches-4.4/0370-config-Add-support-for-Logitech-Rumblepad.patch
index 3aa98a433c..0e4f57fea7 100644
--- a/target/linux/brcm2708/patches-4.4/0371-config-Add-support-for-Logitech-Rumblepad.patch
+++ b/target/linux/brcm2708/patches-4.4/0370-config-Add-support-for-Logitech-Rumblepad.patch
@@ -1,4 +1,4 @@
-From 339b9cfaae888619c7c84c18c148a48baadddc2d Mon Sep 17 00:00:00 2001
+From 5be3a203fd3b663f590e97938203b6d0766a1578 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 27 May 2016 18:23:51 +0100
Subject: [PATCH] config: Add support for Logitech Rumblepad
diff --git a/target/linux/brcm2708/patches-4.4/0372-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch b/target/linux/brcm2708/patches-4.4/0371-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch
index 303d45d38e..481950d4f9 100644
--- a/target/linux/brcm2708/patches-4.4/0372-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch
+++ b/target/linux/brcm2708/patches-4.4/0371-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch
@@ -1,4 +1,4 @@
-From bcba10e5c5da279fa57920ee1c08ee1dea84a4f6 Mon Sep 17 00:00:00 2001
+From 46c94fc6017e8a4e768aeb7c4b3d3a40928f1fa6 Mon Sep 17 00:00:00 2001
From: escalator2015 <jmtasende@gmail.com>
Date: Tue, 24 May 2016 16:20:09 +0100
Subject: [PATCH] New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804
diff --git a/target/linux/brcm2708/patches-4.4/0374-BCM2835-V4L2-Correct-handling-for-BGR24-vs-RGB24.patch b/target/linux/brcm2708/patches-4.4/0373-BCM2835-V4L2-Correct-handling-for-BGR24-vs-RGB24.patch
index 2b262f27f1..88d4eeb0e6 100644
--- a/target/linux/brcm2708/patches-4.4/0374-BCM2835-V4L2-Correct-handling-for-BGR24-vs-RGB24.patch
+++ b/target/linux/brcm2708/patches-4.4/0373-BCM2835-V4L2-Correct-handling-for-BGR24-vs-RGB24.patch
@@ -1,4 +1,4 @@
-From 1fa221e0909bc0052bdc8b458fb31e8a088e7723 Mon Sep 17 00:00:00 2001
+From 8d2b378035000b56c9ac7964c7000e9cd7679c01 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <6by9@users.noreply.github.com>
Date: Wed, 25 May 2016 23:25:36 +0100
Subject: [PATCH] BCM2835-V4L2: Correct handling for BGR24 vs RGB24.
diff --git a/target/linux/brcm2708/patches-4.4/0375-BCM270X_DT-Add-mcp23017-to-the-overlay-Makefile.patch b/target/linux/brcm2708/patches-4.4/0374-BCM270X_DT-Add-mcp23017-to-the-overlay-Makefile.patch
index 40dc09686d..0211f95c37 100644
--- a/target/linux/brcm2708/patches-4.4/0375-BCM270X_DT-Add-mcp23017-to-the-overlay-Makefile.patch
+++ b/target/linux/brcm2708/patches-4.4/0374-BCM270X_DT-Add-mcp23017-to-the-overlay-Makefile.patch
@@ -1,4 +1,4 @@
-From b7cd83145ba0f51721715034135a6c396dff9522 Mon Sep 17 00:00:00 2001
+From 12dd94a6587b4d327216d12675e3691e0f4316aa Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 3 Jun 2016 22:21:47 +0100
Subject: [PATCH] BCM270X_DT: Add mcp23017 to the overlay Makefile
diff --git a/target/linux/brcm2708/patches-4.4/0376-BCM270X_DT-Sort-entries-to-placate-check-script.patch b/target/linux/brcm2708/patches-4.4/0375-BCM270X_DT-Sort-entries-to-placate-check-script.patch
index 3614b93ff9..9da50b3874 100644
--- a/target/linux/brcm2708/patches-4.4/0376-BCM270X_DT-Sort-entries-to-placate-check-script.patch
+++ b/target/linux/brcm2708/patches-4.4/0375-BCM270X_DT-Sort-entries-to-placate-check-script.patch
@@ -1,4 +1,4 @@
-From 847d6f110dcd6b95120fc224cd71151464990f56 Mon Sep 17 00:00:00 2001
+From d42e78e55dcd757dc2002675d9266bc17f903900 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 3 Jun 2016 23:01:01 +0100
Subject: [PATCH] BCM270X_DT: Sort entries to placate check script
diff --git a/target/linux/brcm2708/patches-4.4/0377-gpio-ir-overlay-gpio_pin-shouldn-t-change-pull-setti.patch b/target/linux/brcm2708/patches-4.4/0376-gpio-ir-overlay-gpio_pin-shouldn-t-change-pull-setti.patch
index 1d8ec84376..fab6178fdb 100644
--- a/target/linux/brcm2708/patches-4.4/0377-gpio-ir-overlay-gpio_pin-shouldn-t-change-pull-setti.patch
+++ b/target/linux/brcm2708/patches-4.4/0376-gpio-ir-overlay-gpio_pin-shouldn-t-change-pull-setti.patch
@@ -1,4 +1,4 @@
-From 61702c8c68510797341356d03cf63380190afea9 Mon Sep 17 00:00:00 2001
+From ac88474b485e297429614c8544e779d9329d2851 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sat, 4 Jun 2016 11:30:48 +0200
Subject: [PATCH] gpio-ir overlay: gpio_pin shouldn't change pull setting
diff --git a/target/linux/brcm2708/patches-4.4/0378-media-rc-core-define-a-default-timeout-for-drivers.patch b/target/linux/brcm2708/patches-4.4/0377-media-rc-core-define-a-default-timeout-for-drivers.patch
index 77967a2d25..4b6a25e96e 100644
--- a/target/linux/brcm2708/patches-4.4/0378-media-rc-core-define-a-default-timeout-for-drivers.patch
+++ b/target/linux/brcm2708/patches-4.4/0377-media-rc-core-define-a-default-timeout-for-drivers.patch
@@ -1,4 +1,4 @@
-From 3d63c720f92caf1f3870154739bf9770eab06b9a Mon Sep 17 00:00:00 2001
+From f3331b8d48456a8113abbaf1985a0ca50e4d17a3 Mon Sep 17 00:00:00 2001
From: Eric Nelson <eric@nelint.com>
Date: Sat, 3 Oct 2015 08:18:50 -0700
Subject: [PATCH] [media] rc-core: define a default timeout for drivers
diff --git a/target/linux/brcm2708/patches-4.4/0379-media-rc-gpio-ir-recv-add-timeout-on-idle.patch b/target/linux/brcm2708/patches-4.4/0378-media-rc-gpio-ir-recv-add-timeout-on-idle.patch
index 1436803e8f..b2cb730bc8 100644
--- a/target/linux/brcm2708/patches-4.4/0379-media-rc-gpio-ir-recv-add-timeout-on-idle.patch
+++ b/target/linux/brcm2708/patches-4.4/0378-media-rc-gpio-ir-recv-add-timeout-on-idle.patch
@@ -1,4 +1,4 @@
-From ae20f89a35806322a318195e1067ddd9ca8b7eb8 Mon Sep 17 00:00:00 2001
+From 0cb8bcc4bbdb393d9f8ffa3b81eb09c4f1628be9 Mon Sep 17 00:00:00 2001
From: Eric Nelson <eric@nelint.com>
Date: Wed, 23 Sep 2015 11:07:08 -0300
Subject: [PATCH] [media] rc: gpio-ir-recv: add timeout on idle
diff --git a/target/linux/brcm2708/patches-4.4/0380-smsir.h-remove-a-now-duplicated-definition-IR_DEFAUL.patch b/target/linux/brcm2708/patches-4.4/0379-smsir.h-remove-a-now-duplicated-definition-IR_DEFAUL.patch
index 53d338bcc9..5653b07d34 100644
--- a/target/linux/brcm2708/patches-4.4/0380-smsir.h-remove-a-now-duplicated-definition-IR_DEFAUL.patch
+++ b/target/linux/brcm2708/patches-4.4/0379-smsir.h-remove-a-now-duplicated-definition-IR_DEFAUL.patch
@@ -1,4 +1,4 @@
-From 0f922daa23beb3c3f591d61824a2e4a2031559a3 Mon Sep 17 00:00:00 2001
+From a2da38f8f3d558aeee87ebd3208f475ef684a59d Mon Sep 17 00:00:00 2001
From: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Date: Thu, 19 Nov 2015 11:41:36 -0200
Subject: [PATCH] smsir.h: remove a now duplicated definition
diff --git a/target/linux/brcm2708/patches-4.4/0381-Implement-a-wakeup-source-option-for-the-i2c-rtc-Dev.patch b/target/linux/brcm2708/patches-4.4/0380-Implement-a-wakeup-source-option-for-the-i2c-rtc-Dev.patch
index 7108614074..1385d8a333 100644
--- a/target/linux/brcm2708/patches-4.4/0381-Implement-a-wakeup-source-option-for-the-i2c-rtc-Dev.patch
+++ b/target/linux/brcm2708/patches-4.4/0380-Implement-a-wakeup-source-option-for-the-i2c-rtc-Dev.patch
@@ -1,4 +1,4 @@
-From 23a16f885df81479a81bc6ba3ebbb4a25716ca6c Mon Sep 17 00:00:00 2001
+From cce231204608c6829f716774a286236e23bff7bf Mon Sep 17 00:00:00 2001
From: Nicolas Boullis <nboullis@debian.org>
Date: Sat, 4 Jun 2016 00:57:06 +0200
Subject: [PATCH] Implement a "wakeup-source" option for the i2c-rtc DeviceTree
diff --git a/target/linux/brcm2708/patches-4.4/0382-BCM270X_DT-Fix-rpi-dac-overlay.patch b/target/linux/brcm2708/patches-4.4/0381-BCM270X_DT-Fix-rpi-dac-overlay.patch
index 760359c9bc..142ef1427c 100644
--- a/target/linux/brcm2708/patches-4.4/0382-BCM270X_DT-Fix-rpi-dac-overlay.patch
+++ b/target/linux/brcm2708/patches-4.4/0381-BCM270X_DT-Fix-rpi-dac-overlay.patch
@@ -1,4 +1,4 @@
-From d6b1e376414ff77bcfc449e7dcc0f1ee7b91a888 Mon Sep 17 00:00:00 2001
+From 89f988c93882e1ac4ad7864ee9469aa02550090c Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 3 Jun 2016 21:56:40 +0100
Subject: [PATCH] BCM270X_DT: Fix rpi-dac overlay
diff --git a/target/linux/brcm2708/patches-4.4/0383-BCM270X_DT-Make-i2c-gpio-usable-by-other-overlays.patch b/target/linux/brcm2708/patches-4.4/0382-BCM270X_DT-Make-i2c-gpio-usable-by-other-overlays.patch
index 6671b69d4f..2c944c3a97 100644
--- a/target/linux/brcm2708/patches-4.4/0383-BCM270X_DT-Make-i2c-gpio-usable-by-other-overlays.patch
+++ b/target/linux/brcm2708/patches-4.4/0382-BCM270X_DT-Make-i2c-gpio-usable-by-other-overlays.patch
@@ -1,4 +1,4 @@
-From 5e5cb8f76037673c14925324606738587f65427c Mon Sep 17 00:00:00 2001
+From 312ddfe70ee2d9893aec7d03b70f3c38d374fed1 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 6 Jun 2016 09:23:37 +0100
Subject: [PATCH] BCM270X_DT: Make i2c-gpio usable by other overlays
diff --git a/target/linux/brcm2708/patches-4.4/0387-Add-ads1015-overlay.patch b/target/linux/brcm2708/patches-4.4/0386-Add-ads1015-overlay.patch
index 80c663e677..ebdedcd714 100644
--- a/target/linux/brcm2708/patches-4.4/0387-Add-ads1015-overlay.patch
+++ b/target/linux/brcm2708/patches-4.4/0386-Add-ads1015-overlay.patch
@@ -1,4 +1,4 @@
-From adce42f39f75ac5d479d2b4caff73723107e0539 Mon Sep 17 00:00:00 2001
+From 940b863512662c2da10729fbb6d57fe072c9b887 Mon Sep 17 00:00:00 2001
From: Erik Sejr <erik@eriks.ssimicro.com>
Date: Tue, 7 Jun 2016 20:58:17 -0400
Subject: [PATCH] Add ads1015 overlay
diff --git a/target/linux/brcm2708/patches-4.4/0388-Fixed-MCP23017-section-in-overlay-README.patch b/target/linux/brcm2708/patches-4.4/0387-Fixed-MCP23017-section-in-overlay-README.patch
index a120f14089..7963b47007 100644
--- a/target/linux/brcm2708/patches-4.4/0388-Fixed-MCP23017-section-in-overlay-README.patch
+++ b/target/linux/brcm2708/patches-4.4/0387-Fixed-MCP23017-section-in-overlay-README.patch
@@ -1,4 +1,4 @@
-From 83ee5f5d26599a914e05a9eac8250029a4410969 Mon Sep 17 00:00:00 2001
+From cdf33f3fa4f136d6e558161b517aca695a6151ff Mon Sep 17 00:00:00 2001
From: Michael Kaplan <m.kaplan@evva.com>
Date: Wed, 8 Jun 2016 15:14:11 +0200
Subject: [PATCH] Fixed MCP23017 section in overlay README
diff --git a/target/linux/brcm2708/patches-4.4/0389-Revert-bcm2835-dma-Fix-up-convert-to-DMA-pool.patch b/target/linux/brcm2708/patches-4.4/0388-Revert-bcm2835-dma-Fix-up-convert-to-DMA-pool.patch
index 3cbcba079e..d871ba9cdd 100644
--- a/target/linux/brcm2708/patches-4.4/0389-Revert-bcm2835-dma-Fix-up-convert-to-DMA-pool.patch
+++ b/target/linux/brcm2708/patches-4.4/0388-Revert-bcm2835-dma-Fix-up-convert-to-DMA-pool.patch
@@ -1,4 +1,4 @@
-From a236ecec838c8cf9928e9d2b8dc03346276627a1 Mon Sep 17 00:00:00 2001
+From 80e7256b69b395f91738b44dc259c9fa4d15dda3 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Fri, 22 Apr 2016 17:17:13 +0000
Subject: [PATCH] Revert "bcm2835-dma: Fix up convert to DMA pool"
diff --git a/target/linux/brcm2708/patches-4.4/0390-Revert-bcm2835-dma-Limit-cyclic-transfers-on-lite-ch.patch b/target/linux/brcm2708/patches-4.4/0389-Revert-bcm2835-dma-Limit-cyclic-transfers-on-lite-ch.patch
index d99355d17b..900ab4d738 100644
--- a/target/linux/brcm2708/patches-4.4/0390-Revert-bcm2835-dma-Limit-cyclic-transfers-on-lite-ch.patch
+++ b/target/linux/brcm2708/patches-4.4/0389-Revert-bcm2835-dma-Limit-cyclic-transfers-on-lite-ch.patch
@@ -1,4 +1,4 @@
-From 31c4d45f25abd0680e05775f3166ec6066e39a2a Mon Sep 17 00:00:00 2001
+From 50523fe3cfcef4a7728176b11a6e2975243ab74e Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Fri, 22 Apr 2016 17:17:22 +0000
Subject: [PATCH] Revert "bcm2835-dma: Limit cyclic transfers on lite channels
diff --git a/target/linux/brcm2708/patches-4.4/0391-Revert-dmaengine-bcm2835-Load-driver-early-and-suppo.patch b/target/linux/brcm2708/patches-4.4/0390-Revert-dmaengine-bcm2835-Load-driver-early-and-suppo.patch
index b7fdb9e989..84ed3c471e 100644
--- a/target/linux/brcm2708/patches-4.4/0391-Revert-dmaengine-bcm2835-Load-driver-early-and-suppo.patch
+++ b/target/linux/brcm2708/patches-4.4/0390-Revert-dmaengine-bcm2835-Load-driver-early-and-suppo.patch
@@ -1,4 +1,4 @@
-From 7d58feb7f06a5e05aa3b99b32b4bba4b927b7b3f Mon Sep 17 00:00:00 2001
+From ef68b1e7c830c23cf87a927474b5e53da14d9bac Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Fri, 22 Apr 2016 17:17:30 +0000
Subject: [PATCH] Revert "dmaengine: bcm2835: Load driver early and support
diff --git a/target/linux/brcm2708/patches-4.4/0392-Revert-dmaengine-bcm2835-Add-slave-dma-support.patch b/target/linux/brcm2708/patches-4.4/0391-Revert-dmaengine-bcm2835-Add-slave-dma-support.patch
index 7cac679ee9..d3d326d001 100644
--- a/target/linux/brcm2708/patches-4.4/0392-Revert-dmaengine-bcm2835-Add-slave-dma-support.patch
+++ b/target/linux/brcm2708/patches-4.4/0391-Revert-dmaengine-bcm2835-Add-slave-dma-support.patch
@@ -1,4 +1,4 @@
-From b80a19b329a3fcbb74490a4b8d86055ee7d40c13 Mon Sep 17 00:00:00 2001
+From 31f3ee328b2a471999acca527e3a83d6af3c75d9 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Fri, 22 Apr 2016 17:17:37 +0000
Subject: [PATCH] Revert "dmaengine: bcm2835: Add slave dma support"
diff --git a/target/linux/brcm2708/patches-4.4/0393-dmaengine-bcm2835-remove-unnecessary-masking-of-dma-.patch b/target/linux/brcm2708/patches-4.4/0392-dmaengine-bcm2835-remove-unnecessary-masking-of-dma-.patch
index 5254a2a62e..db949a8417 100644
--- a/target/linux/brcm2708/patches-4.4/0393-dmaengine-bcm2835-remove-unnecessary-masking-of-dma-.patch
+++ b/target/linux/brcm2708/patches-4.4/0392-dmaengine-bcm2835-remove-unnecessary-masking-of-dma-.patch
@@ -1,4 +1,4 @@
-From 0f65c306a55ab6a8e8148b6d9c966a1d214ae3c9 Mon Sep 17 00:00:00 2001
+From 54ecedafe5c0a626888e781804ee54125e4cdea9 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Wed, 16 Mar 2016 12:24:56 -0700
Subject: [PATCH] dmaengine: bcm2835: remove unnecessary masking of dma
diff --git a/target/linux/brcm2708/patches-4.4/0394-dmaengine-bcm2835-add-additional-defines-for-DMA-reg.patch b/target/linux/brcm2708/patches-4.4/0393-dmaengine-bcm2835-add-additional-defines-for-DMA-reg.patch
index 6f300a280c..1a3c44e2ff 100644
--- a/target/linux/brcm2708/patches-4.4/0394-dmaengine-bcm2835-add-additional-defines-for-DMA-reg.patch
+++ b/target/linux/brcm2708/patches-4.4/0393-dmaengine-bcm2835-add-additional-defines-for-DMA-reg.patch
@@ -1,4 +1,4 @@
-From 2e9daa8fabdef7a31da63f9a532105d94ade48ae Mon Sep 17 00:00:00 2001
+From 2fe3ede60d3b88bb94ee1a100b5e771567db0962 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Wed, 16 Mar 2016 12:24:57 -0700
Subject: [PATCH] dmaengine: bcm2835: add additional defines for DMA-registers
diff --git a/target/linux/brcm2708/patches-4.4/0395-dmaengine-bcm2835-move-cyclic-member-from-bcm2835_ch.patch b/target/linux/brcm2708/patches-4.4/0394-dmaengine-bcm2835-move-cyclic-member-from-bcm2835_ch.patch
index 831928ca32..f7ecd8e1b0 100644
--- a/target/linux/brcm2708/patches-4.4/0395-dmaengine-bcm2835-move-cyclic-member-from-bcm2835_ch.patch
+++ b/target/linux/brcm2708/patches-4.4/0394-dmaengine-bcm2835-move-cyclic-member-from-bcm2835_ch.patch
@@ -1,4 +1,4 @@
-From 45a5aa455ea243c3daf0d1bdbfdb83787ae95249 Mon Sep 17 00:00:00 2001
+From 1a9dffc1772e2c6be450149fe1a0114a778132ef Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Wed, 16 Mar 2016 12:24:58 -0700
Subject: [PATCH] dmaengine: bcm2835: move cyclic member from bcm2835_chan into
diff --git a/target/linux/brcm2708/patches-4.4/0396-dmaengine-bcm2835-move-controlblock-chain-generation.patch b/target/linux/brcm2708/patches-4.4/0395-dmaengine-bcm2835-move-controlblock-chain-generation.patch
index 1507d6be47..1a7a90603f 100644
--- a/target/linux/brcm2708/patches-4.4/0396-dmaengine-bcm2835-move-controlblock-chain-generation.patch
+++ b/target/linux/brcm2708/patches-4.4/0395-dmaengine-bcm2835-move-controlblock-chain-generation.patch
@@ -1,4 +1,4 @@
-From a41b5c7005c6880ac91b9e08062c6b6813df758e Mon Sep 17 00:00:00 2001
+From 79ef7f167c859ce2a11b1bb69fbfca786504d6d7 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Wed, 16 Mar 2016 12:24:59 -0700
Subject: [PATCH] dmaengine: bcm2835: move controlblock chain generation into
diff --git a/target/linux/brcm2708/patches-4.4/0397-dmaengine-bcm2835-limit-max-length-based-on-channel-.patch b/target/linux/brcm2708/patches-4.4/0396-dmaengine-bcm2835-limit-max-length-based-on-channel-.patch
index 65b402a86e..7eaf84089c 100644
--- a/target/linux/brcm2708/patches-4.4/0397-dmaengine-bcm2835-limit-max-length-based-on-channel-.patch
+++ b/target/linux/brcm2708/patches-4.4/0396-dmaengine-bcm2835-limit-max-length-based-on-channel-.patch
@@ -1,4 +1,4 @@
-From 350247e0611f171a3372386e389e24746daff84f Mon Sep 17 00:00:00 2001
+From 690414c3621a694fc4ace6775ae3c11e64da2895 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Wed, 16 Mar 2016 12:25:00 -0700
Subject: [PATCH] dmaengine: bcm2835: limit max length based on channel type
diff --git a/target/linux/brcm2708/patches-4.4/0398-dmaengine-bcm2835-add-slave_sg-support-to-bcm2835-dm.patch b/target/linux/brcm2708/patches-4.4/0397-dmaengine-bcm2835-add-slave_sg-support-to-bcm2835-dm.patch
index ef1b43357e..cd4459746a 100644
--- a/target/linux/brcm2708/patches-4.4/0398-dmaengine-bcm2835-add-slave_sg-support-to-bcm2835-dm.patch
+++ b/target/linux/brcm2708/patches-4.4/0397-dmaengine-bcm2835-add-slave_sg-support-to-bcm2835-dm.patch
@@ -1,4 +1,4 @@
-From 9026efd53eae4b320941e581f141ddc87f2adc20 Mon Sep 17 00:00:00 2001
+From 9d449a908099a6dc0779bb1a9e87f5e224909a24 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Wed, 16 Mar 2016 12:25:01 -0700
Subject: [PATCH] dmaengine: bcm2835: add slave_sg support to bcm2835-dma
diff --git a/target/linux/brcm2708/patches-4.4/0399-dmaengine-bcm2835-add-dma_memcopy-support-to-bcm2835.patch b/target/linux/brcm2708/patches-4.4/0398-dmaengine-bcm2835-add-dma_memcopy-support-to-bcm2835.patch
index a7b50a5261..ae71adc144 100644
--- a/target/linux/brcm2708/patches-4.4/0399-dmaengine-bcm2835-add-dma_memcopy-support-to-bcm2835.patch
+++ b/target/linux/brcm2708/patches-4.4/0398-dmaengine-bcm2835-add-dma_memcopy-support-to-bcm2835.patch
@@ -1,4 +1,4 @@
-From 24392a5f014f3106442cef99e9956d0f826337e3 Mon Sep 17 00:00:00 2001
+From 764cf7045e6338c1ca850ef1fce522b31440dab9 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Wed, 16 Mar 2016 12:25:02 -0700
Subject: [PATCH] dmaengine: bcm2835: add dma_memcopy support to bcm2835-dma
diff --git a/target/linux/brcm2708/patches-4.4/0400-dmaengine-bcm2835-use-platform_get_irq_byname.patch b/target/linux/brcm2708/patches-4.4/0399-dmaengine-bcm2835-use-platform_get_irq_byname.patch
index b8eecaf4e0..247f6d89c6 100644
--- a/target/linux/brcm2708/patches-4.4/0400-dmaengine-bcm2835-use-platform_get_irq_byname.patch
+++ b/target/linux/brcm2708/patches-4.4/0399-dmaengine-bcm2835-use-platform_get_irq_byname.patch
@@ -1,4 +1,4 @@
-From 27a895c19212e695f70bd4860d4420f70f915fe1 Mon Sep 17 00:00:00 2001
+From 2913407433c67a96d02bc4b4c1e5111fdb6d356d Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Mon, 11 Apr 2016 13:29:08 +0000
Subject: [PATCH] dmaengine: bcm2835: use platform_get_irq_byname
diff --git a/target/linux/brcm2708/patches-4.4/0401-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch b/target/linux/brcm2708/patches-4.4/0400-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch
index f8ad8f3229..914e881fea 100644
--- a/target/linux/brcm2708/patches-4.4/0401-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch
+++ b/target/linux/brcm2708/patches-4.4/0400-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch
@@ -1,4 +1,4 @@
-From 479b918cb9511d5044cc660f0c74d42952a87910 Mon Sep 17 00:00:00 2001
+From 8b8b59db27e6e1597737fbd1fd7a17216540bc38 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Sat, 3 Oct 2015 22:22:55 +0200
Subject: [PATCH] dmaengine: bcm2835: Load driver early and support legacy API
diff --git a/target/linux/brcm2708/patches-4.4/0402-ARM-bcm270x-changed-bcrm-dma-channel-mask-to-mask-ou.patch b/target/linux/brcm2708/patches-4.4/0401-ARM-bcm270x-changed-bcrm-dma-channel-mask-to-mask-ou.patch
index 1bcdd93627..93e7856d05 100644
--- a/target/linux/brcm2708/patches-4.4/0402-ARM-bcm270x-changed-bcrm-dma-channel-mask-to-mask-ou.patch
+++ b/target/linux/brcm2708/patches-4.4/0401-ARM-bcm270x-changed-bcrm-dma-channel-mask-to-mask-ou.patch
@@ -1,4 +1,4 @@
-From fa1852176e0d03be5650aa88a6e051541fa3da7a Mon Sep 17 00:00:00 2001
+From aa8fd2f11c4e5928d5ba0ad2e45d6abee4b897c2 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Fri, 22 Apr 2016 16:13:59 +0000
Subject: [PATCH] ARM: bcm270x: changed bcrm,dma-channel-mask to mask out the
diff --git a/target/linux/brcm2708/patches-4.4/0403-ARM-bcm2835-add-interrupt-names-and-apply-correct-ma.patch b/target/linux/brcm2708/patches-4.4/0402-ARM-bcm2835-add-interrupt-names-and-apply-correct-ma.patch
index eb5a6cdb16..2e8fe516b7 100644
--- a/target/linux/brcm2708/patches-4.4/0403-ARM-bcm2835-add-interrupt-names-and-apply-correct-ma.patch
+++ b/target/linux/brcm2708/patches-4.4/0402-ARM-bcm2835-add-interrupt-names-and-apply-correct-ma.patch
@@ -1,4 +1,4 @@
-From c4eb741282cc9300119adaa4d6d3a278b9cd5f15 Mon Sep 17 00:00:00 2001
+From 620065b16a5da22db7fbac1017357e3c2e37e1f6 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Sat, 23 Apr 2016 14:07:03 +0000
Subject: [PATCH] ARM: bcm2835: add interrupt-names and apply correct mapping
diff --git a/target/linux/brcm2708/patches-4.4/0404-ARM-bcm2835-make-dma-channel-0-available-for-kms-set.patch b/target/linux/brcm2708/patches-4.4/0403-ARM-bcm2835-make-dma-channel-0-available-for-kms-set.patch
index d00a19b5de..87bc68d8e2 100644
--- a/target/linux/brcm2708/patches-4.4/0404-ARM-bcm2835-make-dma-channel-0-available-for-kms-set.patch
+++ b/target/linux/brcm2708/patches-4.4/0403-ARM-bcm2835-make-dma-channel-0-available-for-kms-set.patch
@@ -1,4 +1,4 @@
-From 0cbf2a548657ddbeb0b7b7d144cc4f46f477b2fc Mon Sep 17 00:00:00 2001
+From 9ca847e5e96f1cb3e9886434c25cb755124dfdb9 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Sat, 23 Apr 2016 14:20:41 +0000
Subject: [PATCH] ARM: bcm2835: make dma-channel-0 available for kms setups
diff --git a/target/linux/brcm2708/patches-4.4/0405-dmaengine-bcm2835-Fix-cyclic-DMA-period-splitting.patch b/target/linux/brcm2708/patches-4.4/0404-dmaengine-bcm2835-Fix-cyclic-DMA-period-splitting.patch
index e76c99b14b..a2fba2eacc 100644
--- a/target/linux/brcm2708/patches-4.4/0405-dmaengine-bcm2835-Fix-cyclic-DMA-period-splitting.patch
+++ b/target/linux/brcm2708/patches-4.4/0404-dmaengine-bcm2835-Fix-cyclic-DMA-period-splitting.patch
@@ -1,4 +1,4 @@
-From aaf4cb4fda9ed5c19f0db02023c5c11f51a23aaf Mon Sep 17 00:00:00 2001
+From 60026ebc9abd3e719f56db57c482679176ae8881 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Tue, 7 Jun 2016 19:37:10 +0200
Subject: [PATCH] dmaengine: bcm2835: Fix cyclic DMA period splitting
diff --git a/target/linux/brcm2708/patches-4.4/0406-dmaengine-bcm2835-Avoid-splitting-periods-into-very-.patch b/target/linux/brcm2708/patches-4.4/0405-dmaengine-bcm2835-Avoid-splitting-periods-into-very-.patch
index 265ee10f45..6fc1d2c60a 100644
--- a/target/linux/brcm2708/patches-4.4/0406-dmaengine-bcm2835-Avoid-splitting-periods-into-very-.patch
+++ b/target/linux/brcm2708/patches-4.4/0405-dmaengine-bcm2835-Avoid-splitting-periods-into-very-.patch
@@ -1,4 +1,4 @@
-From 47b93cc5b706cb592f924199f00d5adbb66bd3ca Mon Sep 17 00:00:00 2001
+From 1b57eb7cd54e31f84df2378c3858a4ad2d3ab8a1 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Wed, 8 Jun 2016 13:09:56 +0200
Subject: [PATCH] dmaengine: bcm2835: Avoid splitting periods into very small
diff --git a/target/linux/brcm2708/patches-4.4/0407-dmaengine-bcm2835-Fix-polling-for-completion-of-DMA-.patch b/target/linux/brcm2708/patches-4.4/0406-dmaengine-bcm2835-Fix-polling-for-completion-of-DMA-.patch
index 7ff0ab1dec..fdb812faa4 100644
--- a/target/linux/brcm2708/patches-4.4/0407-dmaengine-bcm2835-Fix-polling-for-completion-of-DMA-.patch
+++ b/target/linux/brcm2708/patches-4.4/0406-dmaengine-bcm2835-Fix-polling-for-completion-of-DMA-.patch
@@ -1,4 +1,4 @@
-From 3288dc56cae869c8c49202f36669ea64d568407f Mon Sep 17 00:00:00 2001
+From 42504be159b0fd85d705265dceec01c74d853478 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 3 Jun 2016 19:29:11 -0700
Subject: [PATCH] dmaengine: bcm2835: Fix polling for completion of DMA with
diff --git a/target/linux/brcm2708/patches-4.4/0409-BCM270X_DT-Add-spi-rtc-overlay-on-SPI0.0.patch b/target/linux/brcm2708/patches-4.4/0408-BCM270X_DT-Add-spi-rtc-overlay-on-SPI0.0.patch
index b4ca047df7..1b53b9a90b 100644
--- a/target/linux/brcm2708/patches-4.4/0409-BCM270X_DT-Add-spi-rtc-overlay-on-SPI0.0.patch
+++ b/target/linux/brcm2708/patches-4.4/0408-BCM270X_DT-Add-spi-rtc-overlay-on-SPI0.0.patch
@@ -1,4 +1,4 @@
-From a008938ed54a702e72a8421776c1d3f97b79a97b Mon Sep 17 00:00:00 2001
+From 6790d3a4683d7e2e6e0fe1bbc7ab856f23e37885 Mon Sep 17 00:00:00 2001
From: Thomas Kriechbaumer <thomas@kriechbaumer.name>
Date: Fri, 3 Jun 2016 09:40:44 +0200
Subject: [PATCH] BCM270X_DT: Add spi-rtc overlay on SPI0.0
diff --git a/target/linux/brcm2708/patches-4.4/0410-rtc-Add-SPI-alias-for-pcf2123-driver.patch b/target/linux/brcm2708/patches-4.4/0409-rtc-Add-SPI-alias-for-pcf2123-driver.patch
index 574f3de8ef..59fe10c4c9 100644
--- a/target/linux/brcm2708/patches-4.4/0410-rtc-Add-SPI-alias-for-pcf2123-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0409-rtc-Add-SPI-alias-for-pcf2123-driver.patch
@@ -1,4 +1,4 @@
-From 2fbf5d24ff1f88d0aa977089549056cf4863f0de Mon Sep 17 00:00:00 2001
+From a7d1c71c6a12c3397d8a86f92980c0fbdf794d76 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 15 Jun 2016 16:48:41 +0100
Subject: [PATCH] rtc: Add SPI alias for pcf2123 driver
diff --git a/target/linux/brcm2708/patches-4.4/0411-Added-support-for-headphones-microphone-and-bclk_rat.patch b/target/linux/brcm2708/patches-4.4/0410-Added-support-for-headphones-microphone-and-bclk_rat.patch
index fb6661cc42..1be5d6c146 100644
--- a/target/linux/brcm2708/patches-4.4/0411-Added-support-for-headphones-microphone-and-bclk_rat.patch
+++ b/target/linux/brcm2708/patches-4.4/0410-Added-support-for-headphones-microphone-and-bclk_rat.patch
@@ -1,4 +1,4 @@
-From 84b2845509748519f239b8212bdc672b84755cd0 Mon Sep 17 00:00:00 2001
+From dfda207430384d249c2726f5e431565f56daf754 Mon Sep 17 00:00:00 2001
From: Matt Flax <flatmax@flatmax.org>
Date: Fri, 17 Jun 2016 12:03:39 +1000
Subject: [PATCH] Added support for headphones, microphone and bclk_ratio
diff --git a/target/linux/brcm2708/patches-4.4/0412-IQaudIO-auto-mute-for-AMP-and-DigiAMP.patch b/target/linux/brcm2708/patches-4.4/0411-IQaudIO-auto-mute-for-AMP-and-DigiAMP.patch
index 763688304f..d14d4a6f2f 100644
--- a/target/linux/brcm2708/patches-4.4/0412-IQaudIO-auto-mute-for-AMP-and-DigiAMP.patch
+++ b/target/linux/brcm2708/patches-4.4/0411-IQaudIO-auto-mute-for-AMP-and-DigiAMP.patch
@@ -1,4 +1,4 @@
-From 98f0214603229df4038cc0d318111a37b10078a1 Mon Sep 17 00:00:00 2001
+From 727a41c904af3f1660de44dc3309b054a1234246 Mon Sep 17 00:00:00 2001
From: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
Date: Mon, 9 May 2016 20:38:08 +0100
Subject: [PATCH] IQaudIO: auto-mute for AMP+ and DigiAMP+
diff --git a/target/linux/brcm2708/patches-4.4/0413-mmc-Apply-ERASE_BROKEN-quirks-correctly.patch b/target/linux/brcm2708/patches-4.4/0412-mmc-Apply-ERASE_BROKEN-quirks-correctly.patch
index 4ba1099e32..92c02d8e2d 100644
--- a/target/linux/brcm2708/patches-4.4/0413-mmc-Apply-ERASE_BROKEN-quirks-correctly.patch
+++ b/target/linux/brcm2708/patches-4.4/0412-mmc-Apply-ERASE_BROKEN-quirks-correctly.patch
@@ -1,4 +1,4 @@
-From 3aa91ff84515641bdc7a3b2ddf4638af0942bc56 Mon Sep 17 00:00:00 2001
+From 16be2ba945abbb43d62dd7d5a34ab4d6b4f40932 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 23 Jun 2016 16:37:46 +0100
Subject: [PATCH] mmc: Apply ERASE_BROKEN quirks correctly
diff --git a/target/linux/brcm2708/patches-4.4/0414-enable-led-support-for-xpad-driver-fixes-flashing-le.patch b/target/linux/brcm2708/patches-4.4/0413-enable-led-support-for-xpad-driver-fixes-flashing-le.patch
index 45ffaee247..5d3a2c8034 100644
--- a/target/linux/brcm2708/patches-4.4/0414-enable-led-support-for-xpad-driver-fixes-flashing-le.patch
+++ b/target/linux/brcm2708/patches-4.4/0413-enable-led-support-for-xpad-driver-fixes-flashing-le.patch
@@ -1,4 +1,4 @@
-From 37d18c9d142632b625e03586657631099217dd5d Mon Sep 17 00:00:00 2001
+From 2875141e9d5005e964e31e55b892e2fb1919e58e Mon Sep 17 00:00:00 2001
From: Jools Wills <buzz@exotica.org.uk>
Date: Sun, 26 Jun 2016 16:28:48 +0000
Subject: [PATCH] enable led support for xpad driver - fixes flashing leds on
diff --git a/target/linux/brcm2708/patches-4.4/0415-Add-critical-information-for-getting-pi3-miniuart-bt.patch b/target/linux/brcm2708/patches-4.4/0414-Add-critical-information-for-getting-pi3-miniuart-bt.patch
index dc3871d5b6..4c5aa4bfe6 100644
--- a/target/linux/brcm2708/patches-4.4/0415-Add-critical-information-for-getting-pi3-miniuart-bt.patch
+++ b/target/linux/brcm2708/patches-4.4/0414-Add-critical-information-for-getting-pi3-miniuart-bt.patch
@@ -1,4 +1,4 @@
-From 740fa92fd41e2c4dd5798d462fe4646d0cc6cc48 Mon Sep 17 00:00:00 2001
+From d5daa09a0c5f5f6acf6f4445f24aa05c09f3b085 Mon Sep 17 00:00:00 2001
From: David Lechner <david@lechnology.com>
Date: Mon, 27 Jun 2016 22:52:22 -0500
Subject: [PATCH] Add critical information for getting pi3-miniuart-bt overlay
diff --git a/target/linux/brcm2708/patches-4.4/0416-bcm2835-sdhost-Improvements-to-error-recovery.patch b/target/linux/brcm2708/patches-4.4/0415-bcm2835-sdhost-Improvements-to-error-recovery.patch
index 0437931d16..a5c077f125 100644
--- a/target/linux/brcm2708/patches-4.4/0416-bcm2835-sdhost-Improvements-to-error-recovery.patch
+++ b/target/linux/brcm2708/patches-4.4/0415-bcm2835-sdhost-Improvements-to-error-recovery.patch
@@ -1,4 +1,4 @@
-From d90c379ffd993c72371252fe7840c14e4428410b Mon Sep 17 00:00:00 2001
+From 3b99e3ac668642719abd928743e1fce9fe1c24c9 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 15 Jun 2016 17:13:55 +0100
Subject: [PATCH] bcm2835-sdhost: Improvements to error recovery
diff --git a/target/linux/brcm2708/patches-4.4/0417-pinctrl-bcm2835-Fix-return-type-of-bcm2835_pmx_free.patch b/target/linux/brcm2708/patches-4.4/0416-pinctrl-bcm2835-Fix-return-type-of-bcm2835_pmx_free.patch
index 57e5785bfb..06a5a5df5a 100644
--- a/target/linux/brcm2708/patches-4.4/0417-pinctrl-bcm2835-Fix-return-type-of-bcm2835_pmx_free.patch
+++ b/target/linux/brcm2708/patches-4.4/0416-pinctrl-bcm2835-Fix-return-type-of-bcm2835_pmx_free.patch
@@ -1,4 +1,4 @@
-From a1c9b6e2482ecc3dd3191b494d6cb717fa700ce4 Mon Sep 17 00:00:00 2001
+From 139a3c77a6a73446e8e6d2086c8b1c4f236d4dfa Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 28 Jun 2016 22:13:15 +0100
Subject: [PATCH] pinctrl-bcm2835: Fix return type of bcm2835_pmx_free
diff --git a/target/linux/brcm2708/patches-4.4/0418-Add-IQAudIO-Digi-WM8804-board-support.patch b/target/linux/brcm2708/patches-4.4/0417-Add-IQAudIO-Digi-WM8804-board-support.patch
index 1c57cebc02..1a711f85bf 100644
--- a/target/linux/brcm2708/patches-4.4/0418-Add-IQAudIO-Digi-WM8804-board-support.patch
+++ b/target/linux/brcm2708/patches-4.4/0417-Add-IQAudIO-Digi-WM8804-board-support.patch
@@ -1,4 +1,4 @@
-From a5bf4ef8a41a52453b9505ffef39b7635feef4b2 Mon Sep 17 00:00:00 2001
+From 6fac57fc7d9e04a6f5083897b2f424cb3505dbf7 Mon Sep 17 00:00:00 2001
From: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
Date: Thu, 30 Jun 2016 18:38:42 +0100
Subject: [PATCH] Add IQAudIO Digi WM8804 board support
diff --git a/target/linux/brcm2708/patches-4.4/0419-dts-Add-overlay-for-NXP-SC16IS752-Dual-UART-with-SPI.patch b/target/linux/brcm2708/patches-4.4/0418-dts-Add-overlay-for-NXP-SC16IS752-Dual-UART-with-SPI.patch
index f47efb7b8b..2ecbdf6c7e 100644
--- a/target/linux/brcm2708/patches-4.4/0419-dts-Add-overlay-for-NXP-SC16IS752-Dual-UART-with-SPI.patch
+++ b/target/linux/brcm2708/patches-4.4/0418-dts-Add-overlay-for-NXP-SC16IS752-Dual-UART-with-SPI.patch
@@ -1,4 +1,4 @@
-From fbbafbb2b4739eb6980f18c78c276ffbee2602db Mon Sep 17 00:00:00 2001
+From 2770e16422c3d3df76bb510a309877b507d4553f Mon Sep 17 00:00:00 2001
From: Erdem MEYDANLI <erdem.meydanli@punica.com.tr>
Date: Thu, 30 Jun 2016 21:05:08 +0300
Subject: [PATCH] dts: Add overlay for NXP SC16IS752 Dual UART with SPI
diff --git a/target/linux/brcm2708/patches-4.4/0420-spi-bcm2835-Disable-forced-software-CS.patch b/target/linux/brcm2708/patches-4.4/0419-spi-bcm2835-Disable-forced-software-CS.patch
index ad922ae6f8..e9beb0314a 100644
--- a/target/linux/brcm2708/patches-4.4/0420-spi-bcm2835-Disable-forced-software-CS.patch
+++ b/target/linux/brcm2708/patches-4.4/0419-spi-bcm2835-Disable-forced-software-CS.patch
@@ -1,4 +1,4 @@
-From f3ca1e96b47181a009fd99fbb8e22f9afa5b1972 Mon Sep 17 00:00:00 2001
+From ca5ffeeb576e6392ed1331f01fb2ac5be4524d24 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 1 Jul 2016 22:09:24 +0100
Subject: [PATCH] spi-bcm2835: Disable forced software CS
diff --git a/target/linux/brcm2708/patches-4.4/0421-BCM270X_DT-Overlay-to-re-enable-HW-CS-on-SPI0.patch b/target/linux/brcm2708/patches-4.4/0420-BCM270X_DT-Overlay-to-re-enable-HW-CS-on-SPI0.patch
index 4300c54b84..18fe4006e5 100644
--- a/target/linux/brcm2708/patches-4.4/0421-BCM270X_DT-Overlay-to-re-enable-HW-CS-on-SPI0.patch
+++ b/target/linux/brcm2708/patches-4.4/0420-BCM270X_DT-Overlay-to-re-enable-HW-CS-on-SPI0.patch
@@ -1,4 +1,4 @@
-From 538f85c20d4209dbae6851f9733e3e3f0450ff32 Mon Sep 17 00:00:00 2001
+From 0583a0c3f173c327dff70ee9d7a0d70e50b5d120 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 1 Jul 2016 22:34:52 +0100
Subject: [PATCH] BCM270X_DT: Overlay to re-enable HW CS on SPI0
diff --git a/target/linux/brcm2708/patches-4.4/0422-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch b/target/linux/brcm2708/patches-4.4/0421-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch
index d51d4f9d3d..961c6c5665 100644
--- a/target/linux/brcm2708/patches-4.4/0422-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch
+++ b/target/linux/brcm2708/patches-4.4/0421-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch
@@ -1,4 +1,4 @@
-From 91bb6ae349039ab6c1336a463d3c3d26e4df9fb0 Mon Sep 17 00:00:00 2001
+From be377792090556422c0735f3486b502b991da36d Mon Sep 17 00:00:00 2001
From: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
Date: Sat, 2 Jul 2016 16:26:19 +0100
Subject: [PATCH] Add support for Dion Audio LOCO DAC-AMP HAT
diff --git a/target/linux/brcm2708/patches-4.4/0423-ASoc-wm8731-add-32bit-mode.patch b/target/linux/brcm2708/patches-4.4/0422-ASoc-wm8731-add-32bit-mode.patch
index b9f3f39cb0..9a0f2303f5 100644
--- a/target/linux/brcm2708/patches-4.4/0423-ASoc-wm8731-add-32bit-mode.patch
+++ b/target/linux/brcm2708/patches-4.4/0422-ASoc-wm8731-add-32bit-mode.patch
@@ -1,4 +1,4 @@
-From 4dd7b6b8c1354ab21b4e3f85dcd513252fe8afea Mon Sep 17 00:00:00 2001
+From 30683cba03d40e685b6e8db97f8e3e3c6acaa782 Mon Sep 17 00:00:00 2001
From: Matt Flax <flatmax@flatmax.org>
Date: Fri, 17 Jun 2016 14:48:16 +1000
Subject: [PATCH] ASoc: wm8731: add 32bit mode.
diff --git a/target/linux/brcm2708/patches-4.4/0424-BCM270X_DT-Declare-the-audio-PWM-pins-explicitly.patch b/target/linux/brcm2708/patches-4.4/0423-BCM270X_DT-Declare-the-audio-PWM-pins-explicitly.patch
index c0f2c39457..221d6d1af7 100644
--- a/target/linux/brcm2708/patches-4.4/0424-BCM270X_DT-Declare-the-audio-PWM-pins-explicitly.patch
+++ b/target/linux/brcm2708/patches-4.4/0423-BCM270X_DT-Declare-the-audio-PWM-pins-explicitly.patch
@@ -1,4 +1,4 @@
-From 4a1655a918b26f5d24d04b1bb798feb39982ac78 Mon Sep 17 00:00:00 2001
+From 44bc32bd05018d23b4145d56d09419ce8bd89055 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 20 Jun 2016 13:21:26 +0100
Subject: [PATCH] BCM270X_DT: Declare the audio PWM pins explicitly
diff --git a/target/linux/brcm2708/patches-4.4/0425-BCM270X_DT-Restore-lost-closing-brace.patch b/target/linux/brcm2708/patches-4.4/0424-BCM270X_DT-Restore-lost-closing-brace.patch
index 38e04aa89e..e932821036 100644
--- a/target/linux/brcm2708/patches-4.4/0425-BCM270X_DT-Restore-lost-closing-brace.patch
+++ b/target/linux/brcm2708/patches-4.4/0424-BCM270X_DT-Restore-lost-closing-brace.patch
@@ -1,4 +1,4 @@
-From a9b472033e4d34df447f1bdf87d520137559bb66 Mon Sep 17 00:00:00 2001
+From c97ebdd04db461f38eaa674f29a3f313533221a4 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 12 Jul 2016 10:35:01 +0100
Subject: [PATCH] BCM270X_DT: Restore lost closing brace.
diff --git a/target/linux/brcm2708/patches-4.4/0426-config-Add-driver-for-mcp23017-I2C-GPIO-expander.patch b/target/linux/brcm2708/patches-4.4/0425-config-Add-driver-for-mcp23017-I2C-GPIO-expander.patch
index 46a030c4e3..e8f7ffed5e 100644
--- a/target/linux/brcm2708/patches-4.4/0426-config-Add-driver-for-mcp23017-I2C-GPIO-expander.patch
+++ b/target/linux/brcm2708/patches-4.4/0425-config-Add-driver-for-mcp23017-I2C-GPIO-expander.patch
@@ -1,4 +1,4 @@
-From 42700ba3ac2664f121b29892762b5c7eb2292fe1 Mon Sep 17 00:00:00 2001
+From 6ff62ca3589f88112cddf0b61d708a784b3283f4 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 14 Jul 2016 10:40:20 +0100
Subject: [PATCH] config: Add driver for mcp23017 I2C GPIO expander
diff --git a/target/linux/brcm2708/patches-4.4/0427-vchiq_arm-Avoid-use-of-mutex-in-add_completion.patch b/target/linux/brcm2708/patches-4.4/0426-vchiq_arm-Avoid-use-of-mutex-in-add_completion.patch
index 6dfecc079e..cb399a3d66 100644
--- a/target/linux/brcm2708/patches-4.4/0427-vchiq_arm-Avoid-use-of-mutex-in-add_completion.patch
+++ b/target/linux/brcm2708/patches-4.4/0426-vchiq_arm-Avoid-use-of-mutex-in-add_completion.patch
@@ -1,4 +1,4 @@
-From 00d6172964200c5d72cef2264ff09d38f764bd69 Mon Sep 17 00:00:00 2001
+From 96d2e8f913ef4e62b93a2fd42412655643d24ad1 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 20 Jun 2016 13:51:44 +0100
Subject: [PATCH] vchiq_arm: Avoid use of mutex in add_completion
diff --git a/target/linux/brcm2708/patches-4.4/0428-bcm2708_fb-Default-framebuffer-to-32-bit.patch b/target/linux/brcm2708/patches-4.4/0427-bcm2708_fb-Default-framebuffer-to-32-bit.patch
index 9f3ec1f8d3..70b3a2ffa7 100644
--- a/target/linux/brcm2708/patches-4.4/0428-bcm2708_fb-Default-framebuffer-to-32-bit.patch
+++ b/target/linux/brcm2708/patches-4.4/0427-bcm2708_fb-Default-framebuffer-to-32-bit.patch
@@ -1,4 +1,4 @@
-From bf38f441ef6cbc85f8232f4a43e19557c89ad21c Mon Sep 17 00:00:00 2001
+From 227faa25e6fa97afb852eeff41d15b2e285776d5 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Thu, 28 Jul 2016 12:15:47 +0100
Subject: [PATCH] bcm2708_fb: Default framebuffer to 32-bit
diff --git a/target/linux/brcm2708/patches-4.4/0429-fix-auto-sense-in-lirc_rpi-driver.patch b/target/linux/brcm2708/patches-4.4/0428-fix-auto-sense-in-lirc_rpi-driver.patch
index 4857620a09..3d083516b2 100644
--- a/target/linux/brcm2708/patches-4.4/0429-fix-auto-sense-in-lirc_rpi-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0428-fix-auto-sense-in-lirc_rpi-driver.patch
@@ -1,4 +1,4 @@
-From 7e5bbf1a74ec6bbaa25fe6cadf715946e3e4d692 Mon Sep 17 00:00:00 2001
+From 413e42754e61620eb75e0bd632c697b89ff0ffb9 Mon Sep 17 00:00:00 2001
From: Ingo Kresse <ingo.kresse@gmail.com>
Date: Fri, 29 Jul 2016 22:50:21 +0000
Subject: [PATCH] fix auto-sense in lirc_rpi driver
diff --git a/target/linux/brcm2708/patches-4.4/0430-enable-gembird-joypad-support.patch b/target/linux/brcm2708/patches-4.4/0429-enable-gembird-joypad-support.patch
index 2216661ace..42850dceb6 100644
--- a/target/linux/brcm2708/patches-4.4/0430-enable-gembird-joypad-support.patch
+++ b/target/linux/brcm2708/patches-4.4/0429-enable-gembird-joypad-support.patch
@@ -1,4 +1,4 @@
-From 71a05d081ab744650deae9bc9008739ad16581f5 Mon Sep 17 00:00:00 2001
+From dcdecbf9e91309e3e497db20119c3f3df4391f66 Mon Sep 17 00:00:00 2001
From: Jools Wills <buzz@exotica.org.uk>
Date: Mon, 8 Aug 2016 11:04:29 +0100
Subject: [PATCH] enable gembird joypad support
diff --git a/target/linux/brcm2708/patches-4.4/0431-Added-HiFiBerry-Digi-Pro-driver.patch b/target/linux/brcm2708/patches-4.4/0430-Added-HiFiBerry-Digi-Pro-driver.patch
index c718209422..e1619fda5a 100644
--- a/target/linux/brcm2708/patches-4.4/0431-Added-HiFiBerry-Digi-Pro-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0430-Added-HiFiBerry-Digi-Pro-driver.patch
@@ -1,4 +1,4 @@
-From e528c5d3f8cffca37abf9c69f7178f0221974225 Mon Sep 17 00:00:00 2001
+From 1a770fa3b51e674ba573628b1ad08153d9dbc39b Mon Sep 17 00:00:00 2001
From: "Daniel Matuschek (HiFiBerry)" <daniel@hifiberry.com>
Date: Tue, 26 Jul 2016 19:16:25 +0200
Subject: [PATCH] Added HiFiBerry Digi+ Pro driver
diff --git a/target/linux/brcm2708/patches-4.4/0432-clk-bcm2835-Mark-the-CM-SDRAM-clock-s-parent-as-crit.patch b/target/linux/brcm2708/patches-4.4/0431-clk-bcm2835-Mark-the-CM-SDRAM-clock-s-parent-as-crit.patch
index a24afc8632..60ad59dec8 100644
--- a/target/linux/brcm2708/patches-4.4/0432-clk-bcm2835-Mark-the-CM-SDRAM-clock-s-parent-as-crit.patch
+++ b/target/linux/brcm2708/patches-4.4/0431-clk-bcm2835-Mark-the-CM-SDRAM-clock-s-parent-as-crit.patch
@@ -1,4 +1,4 @@
-From a916fdb4aef02300a69cb49fb20f36ab4dc91673 Mon Sep 17 00:00:00 2001
+From 3dbdbeedb865d12700dae53b59e259ea083e6186 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 1 Jun 2016 12:05:35 -0700
Subject: [PATCH] clk: bcm2835: Mark the CM SDRAM clock's parent as critical
diff --git a/target/linux/brcm2708/patches-4.4/0433-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-divi.patch b/target/linux/brcm2708/patches-4.4/0432-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-divi.patch
index 717c95b96b..c5233b5ed1 100644
--- a/target/linux/brcm2708/patches-4.4/0433-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-divi.patch
+++ b/target/linux/brcm2708/patches-4.4/0432-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-divi.patch
@@ -1,4 +1,4 @@
-From 523bd5057f674fec3006af36a1aaca2480cb09c6 Mon Sep 17 00:00:00 2001
+From bf239659e82c137de23c322fa852b24a0acd3156 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 31 Mar 2016 12:51:04 -0700
Subject: [PATCH] clk: bcm2835: Don't rate change PLLs on behalf of dividers.
diff --git a/target/linux/brcm2708/patches-4.4/0434-clk-bcm2835-Do-appropriate-name-lookups-for-DSI1-s-p.patch b/target/linux/brcm2708/patches-4.4/0433-clk-bcm2835-Do-appropriate-name-lookups-for-DSI1-s-p.patch
index ab7eff3cd9..e0b3ba2949 100644
--- a/target/linux/brcm2708/patches-4.4/0434-clk-bcm2835-Do-appropriate-name-lookups-for-DSI1-s-p.patch
+++ b/target/linux/brcm2708/patches-4.4/0433-clk-bcm2835-Do-appropriate-name-lookups-for-DSI1-s-p.patch
@@ -1,4 +1,4 @@
-From b0fde8ea889e47505e4112d89da4be9469a37775 Mon Sep 17 00:00:00 2001
+From 332b2ceea539c6dc84d7478aa89f96317060e7f9 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 14 Apr 2016 15:13:53 -0700
Subject: [PATCH] clk: bcm2835: Do appropriate name lookups for DSI1's parents
diff --git a/target/linux/brcm2708/patches-4.4/0435-clk-bcm2835-Add-an-enum-for-the-DSI1-pixel-clock.patch b/target/linux/brcm2708/patches-4.4/0434-clk-bcm2835-Add-an-enum-for-the-DSI1-pixel-clock.patch
index db3201ed5e..7d6e9f7c9f 100644
--- a/target/linux/brcm2708/patches-4.4/0435-clk-bcm2835-Add-an-enum-for-the-DSI1-pixel-clock.patch
+++ b/target/linux/brcm2708/patches-4.4/0434-clk-bcm2835-Add-an-enum-for-the-DSI1-pixel-clock.patch
@@ -1,4 +1,4 @@
-From 719dcb9b9bc907dafeb20fbbf4895f928dafa353 Mon Sep 17 00:00:00 2001
+From 105aa2411add3d0d8bb815109e4a6fb6c778a1d2 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 14 Apr 2016 19:00:33 -0700
Subject: [PATCH] clk: bcm2835: Add an enum for the DSI1 pixel clock.
diff --git a/target/linux/brcm2708/patches-4.4/0436-drm-fb_cma_helper-Remove-implicit-call-to-disable_un.patch b/target/linux/brcm2708/patches-4.4/0435-drm-fb_cma_helper-Remove-implicit-call-to-disable_un.patch
index 431e0d95b9..ed588400df 100644
--- a/target/linux/brcm2708/patches-4.4/0436-drm-fb_cma_helper-Remove-implicit-call-to-disable_un.patch
+++ b/target/linux/brcm2708/patches-4.4/0435-drm-fb_cma_helper-Remove-implicit-call-to-disable_un.patch
@@ -1,4 +1,4 @@
-From 64eb54a20a8624412ba45bf453b8588e7e6a2c53 Mon Sep 17 00:00:00 2001
+From f63b6059c6129d81d3fc85b02d9b83b85023c437 Mon Sep 17 00:00:00 2001
From: Maxime Ripard <maxime.ripard@free-electrons.com>
Date: Thu, 14 Jan 2016 16:24:56 +0100
Subject: [PATCH] drm/fb_cma_helper: Remove implicit call to
diff --git a/target/linux/brcm2708/patches-4.4/0437-overlays-Add-assert_falling_edge-to-pps-gpio-overlay.patch b/target/linux/brcm2708/patches-4.4/0436-overlays-Add-assert_falling_edge-to-pps-gpio-overlay.patch
index 496539e20c..05813217e2 100644
--- a/target/linux/brcm2708/patches-4.4/0437-overlays-Add-assert_falling_edge-to-pps-gpio-overlay.patch
+++ b/target/linux/brcm2708/patches-4.4/0436-overlays-Add-assert_falling_edge-to-pps-gpio-overlay.patch
@@ -1,4 +1,4 @@
-From b90a1393b3bdffa88c8e8dfbdc2bec650a5f885e Mon Sep 17 00:00:00 2001
+From c430f79020084981d8cfeaee85caa1ee243919b6 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 9 Aug 2016 21:51:41 +0100
Subject: [PATCH] overlays: Add assert_falling_edge to pps-gpio overlay
diff --git a/target/linux/brcm2708/patches-4.4/0438-drm-mipi-dsi-Unregister-bus-at-exit.patch b/target/linux/brcm2708/patches-4.4/0437-drm-mipi-dsi-Unregister-bus-at-exit.patch
index a5ed02c42e..32c1e2994c 100644
--- a/target/linux/brcm2708/patches-4.4/0438-drm-mipi-dsi-Unregister-bus-at-exit.patch
+++ b/target/linux/brcm2708/patches-4.4/0437-drm-mipi-dsi-Unregister-bus-at-exit.patch
@@ -1,4 +1,4 @@
-From 229ed4a50a90820a5288c7f839db1f089bed71c4 Mon Sep 17 00:00:00 2001
+From f9d8003717adf713eb2835deec560e51ae0b410e Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 2 Aug 2016 14:16:42 +0200
Subject: [PATCH] drm/mipi-dsi: Unregister bus at exit
diff --git a/target/linux/brcm2708/patches-4.4/0439-drm-mipi-dsi-Allow-to-build-drm-mipi-dsi-as-a-module.patch b/target/linux/brcm2708/patches-4.4/0438-drm-mipi-dsi-Allow-to-build-drm-mipi-dsi-as-a-module.patch
index 7d21e2a226..23a1a6cf06 100644
--- a/target/linux/brcm2708/patches-4.4/0439-drm-mipi-dsi-Allow-to-build-drm-mipi-dsi-as-a-module.patch
+++ b/target/linux/brcm2708/patches-4.4/0438-drm-mipi-dsi-Allow-to-build-drm-mipi-dsi-as-a-module.patch
@@ -1,4 +1,4 @@
-From cee1a8a6610e7184a9df7975c67d7e64bb80ee27 Mon Sep 17 00:00:00 2001
+From 723b9cf9501336d1bd66c67f6955ce2f09b81846 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 2 Aug 2016 14:16:43 +0200
Subject: [PATCH] drm/mipi-dsi: Allow to build drm-mipi-dsi as a module
diff --git a/target/linux/brcm2708/patches-4.4/0440-drm-vc4-Fix-flipped-HVS-channels-for-DSI0-1.patch b/target/linux/brcm2708/patches-4.4/0439-drm-vc4-Fix-flipped-HVS-channels-for-DSI0-1.patch
index 116ae0cf54..3bdd40c328 100644
--- a/target/linux/brcm2708/patches-4.4/0440-drm-vc4-Fix-flipped-HVS-channels-for-DSI0-1.patch
+++ b/target/linux/brcm2708/patches-4.4/0439-drm-vc4-Fix-flipped-HVS-channels-for-DSI0-1.patch
@@ -1,4 +1,4 @@
-From 3ecee79bedf0a2dbca94281674b7a86f3b82f522 Mon Sep 17 00:00:00 2001
+From d6bbcaf3c7706243fafc0d6ddf4136f9c83eb599 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 11 Feb 2016 12:29:45 -0800
Subject: [PATCH] drm/vc4: Fix flipped HVS channels for DSI0/1.
diff --git a/target/linux/brcm2708/patches-4.4/0441-drm-vc4-Add-support-for-feeding-DSI-encoders-from-th.patch b/target/linux/brcm2708/patches-4.4/0440-drm-vc4-Add-support-for-feeding-DSI-encoders-from-th.patch
index 7b36ff9af8..e2e560a5f0 100644
--- a/target/linux/brcm2708/patches-4.4/0441-drm-vc4-Add-support-for-feeding-DSI-encoders-from-th.patch
+++ b/target/linux/brcm2708/patches-4.4/0440-drm-vc4-Add-support-for-feeding-DSI-encoders-from-th.patch
@@ -1,4 +1,4 @@
-From c50d2b2fc772468306a8b30159924f19edab4901 Mon Sep 17 00:00:00 2001
+From d41850b2bd8ad77636e344c5fed1ebda0d77a9bc Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 10 Feb 2016 16:17:29 -0800
Subject: [PATCH] drm/vc4: Add support for feeding DSI encoders from the pixel
diff --git a/target/linux/brcm2708/patches-4.4/0442-drm-vc4-Start-switching-to-using-debugfs_reg32-helpe.patch b/target/linux/brcm2708/patches-4.4/0441-drm-vc4-Start-switching-to-using-debugfs_reg32-helpe.patch
index 3733c324d0..17fcdeec0b 100644
--- a/target/linux/brcm2708/patches-4.4/0442-drm-vc4-Start-switching-to-using-debugfs_reg32-helpe.patch
+++ b/target/linux/brcm2708/patches-4.4/0441-drm-vc4-Start-switching-to-using-debugfs_reg32-helpe.patch
@@ -1,4 +1,4 @@
-From e2934c6a46a8bfadced1866adea668cebbc698da Mon Sep 17 00:00:00 2001
+From 65b36b9316eb06fa8fb7163206dc8878d36091ae Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 20 May 2016 16:24:47 -0700
Subject: [PATCH] drm/vc4: Start switching to using debugfs_reg32 helpers for
diff --git a/target/linux/brcm2708/patches-4.4/0443-drm-vc4-Add-DSI1-driver.patch b/target/linux/brcm2708/patches-4.4/0442-drm-vc4-Add-DSI1-driver.patch
index a59dd3dfce..7d52a22017 100644
--- a/target/linux/brcm2708/patches-4.4/0443-drm-vc4-Add-DSI1-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0442-drm-vc4-Add-DSI1-driver.patch
@@ -1,4 +1,4 @@
-From 7e409fcf8006642edc6f817b6832f27b66debc44 Mon Sep 17 00:00:00 2001
+From 24f4ee562dc5c54973955e91162a0848f2331c8b Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 10 Feb 2016 11:42:32 -0800
Subject: [PATCH] drm/vc4: Add DSI1 driver
diff --git a/target/linux/brcm2708/patches-4.4/0444-drm-panel-Add-support-for-the-Raspberry-Pi-7-Touchsc.patch b/target/linux/brcm2708/patches-4.4/0443-drm-panel-Add-support-for-the-Raspberry-Pi-7-Touchsc.patch
index 0291ce2243..3589746b54 100644
--- a/target/linux/brcm2708/patches-4.4/0444-drm-panel-Add-support-for-the-Raspberry-Pi-7-Touchsc.patch
+++ b/target/linux/brcm2708/patches-4.4/0443-drm-panel-Add-support-for-the-Raspberry-Pi-7-Touchsc.patch
@@ -1,4 +1,4 @@
-From 4557de6d23737cf44fa5ddf1379be59d4bca2df7 Mon Sep 17 00:00:00 2001
+From 4da2b00d471f7fca0d770551afafa95e85ec9b89 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 26 Apr 2016 13:46:13 -0700
Subject: [PATCH] drm/panel: Add support for the Raspberry Pi 7" Touchscreen.
diff --git a/target/linux/brcm2708/patches-4.4/0445-BCM270X-Add-the-DSI-panel-to-the-defconfig.patch b/target/linux/brcm2708/patches-4.4/0444-BCM270X-Add-the-DSI-panel-to-the-defconfig.patch
index 5e813f9f44..84e6f48467 100644
--- a/target/linux/brcm2708/patches-4.4/0445-BCM270X-Add-the-DSI-panel-to-the-defconfig.patch
+++ b/target/linux/brcm2708/patches-4.4/0444-BCM270X-Add-the-DSI-panel-to-the-defconfig.patch
@@ -1,4 +1,4 @@
-From 42c5b9d02e0076ce2b198a6364215ca46bec6e29 Mon Sep 17 00:00:00 2001
+From fa1bc6f79bf98e9a3342c783412c40284b2ee01a Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 2 Jun 2016 12:29:45 -0700
Subject: [PATCH] BCM270X: Add the DSI panel to the defconfig.
diff --git a/target/linux/brcm2708/patches-4.4/0446-BCM270X-Add-the-DSI-and-DSI-panel-nodes-to-the-VC4-o.patch b/target/linux/brcm2708/patches-4.4/0445-BCM270X-Add-the-DSI-and-DSI-panel-nodes-to-the-VC4-o.patch
index 44f29ddea0..a9a0891312 100644
--- a/target/linux/brcm2708/patches-4.4/0446-BCM270X-Add-the-DSI-and-DSI-panel-nodes-to-the-VC4-o.patch
+++ b/target/linux/brcm2708/patches-4.4/0445-BCM270X-Add-the-DSI-and-DSI-panel-nodes-to-the-VC4-o.patch
@@ -1,4 +1,4 @@
-From 64871d96e1d387437fa52d8398f2212722890bcd Mon Sep 17 00:00:00 2001
+From a5957ee5e1e3605c97c1282c21a0e799f81b49a1 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 2 Jun 2016 15:09:35 -0700
Subject: [PATCH] BCM270X: Add the DSI and DSI panel nodes to the VC4 overlay.
diff --git a/target/linux/brcm2708/patches-4.4/0447-of-Export-of_device_uevent_modalias-for-DRM_MIPI_DSI.patch b/target/linux/brcm2708/patches-4.4/0446-of-Export-of_device_uevent_modalias-for-DRM_MIPI_DSI.patch
index a9ae593326..1f99c985e9 100644
--- a/target/linux/brcm2708/patches-4.4/0447-of-Export-of_device_uevent_modalias-for-DRM_MIPI_DSI.patch
+++ b/target/linux/brcm2708/patches-4.4/0446-of-Export-of_device_uevent_modalias-for-DRM_MIPI_DSI.patch
@@ -1,4 +1,4 @@
-From e294a4775d033ed4d0850f841786ec9358facf69 Mon Sep 17 00:00:00 2001
+From 6245131c0c328d2ed876d87cc20b176e2f24a769 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 9 Aug 2016 15:12:06 -0700
Subject: [PATCH] of: Export of_device_uevent_modalias for DRM_MIPI_DSI.
diff --git a/target/linux/brcm2708/patches-4.4/0448-drm-Emit-modalias-uevents-for-the-DSI-devices-we-cre.patch b/target/linux/brcm2708/patches-4.4/0447-drm-Emit-modalias-uevents-for-the-DSI-devices-we-cre.patch
index 77b0eca35e..a49e71c909 100644
--- a/target/linux/brcm2708/patches-4.4/0448-drm-Emit-modalias-uevents-for-the-DSI-devices-we-cre.patch
+++ b/target/linux/brcm2708/patches-4.4/0447-drm-Emit-modalias-uevents-for-the-DSI-devices-we-cre.patch
@@ -1,4 +1,4 @@
-From e46450e232a96665344b825557bacf1d37842174 Mon Sep 17 00:00:00 2001
+From b948504b2bfdcb24e774c8801ee6d118e5e3ca90 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 9 Aug 2016 15:13:33 -0700
Subject: [PATCH] drm: Emit modalias uevents for the DSI devices we create.
diff --git a/target/linux/brcm2708/patches-4.4/0449-gpu-drm-vc4_hdmi-add-missing-of_node_put-after-calli.patch b/target/linux/brcm2708/patches-4.4/0448-gpu-drm-vc4_hdmi-add-missing-of_node_put-after-calli.patch
index 75bc32dc19..cf889e1bdd 100644
--- a/target/linux/brcm2708/patches-4.4/0449-gpu-drm-vc4_hdmi-add-missing-of_node_put-after-calli.patch
+++ b/target/linux/brcm2708/patches-4.4/0448-gpu-drm-vc4_hdmi-add-missing-of_node_put-after-calli.patch
@@ -1,4 +1,4 @@
-From cededb2870ab15fcf79f063a83f5f37421e5bdfc Mon Sep 17 00:00:00 2001
+From 46c6aaecefb953f629a7dddd2cb1eb70d3d6c954 Mon Sep 17 00:00:00 2001
From: Peter Chen <peter.chen@nxp.com>
Date: Tue, 5 Jul 2016 10:04:54 +0800
Subject: [PATCH] gpu: drm: vc4_hdmi: add missing of_node_put after calling
diff --git a/target/linux/brcm2708/patches-4.4/0450-drm-vc4-Use-for_each_plane_in_state.patch b/target/linux/brcm2708/patches-4.4/0449-drm-vc4-Use-for_each_plane_in_state.patch
index 8b0d0b6a9c..eb05e5e091 100644
--- a/target/linux/brcm2708/patches-4.4/0450-drm-vc4-Use-for_each_plane_in_state.patch
+++ b/target/linux/brcm2708/patches-4.4/0449-drm-vc4-Use-for_each_plane_in_state.patch
@@ -1,4 +1,4 @@
-From fa8b827fb90719d981a8fa292064958219c8ed10 Mon Sep 17 00:00:00 2001
+From 99f969c1fb2f9986973fe485528ca16556d0b1a1 Mon Sep 17 00:00:00 2001
From: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Thu, 2 Jun 2016 00:06:28 +0200
Subject: [PATCH] drm/vc4: Use for_each_plane_in_state
diff --git a/target/linux/brcm2708/patches-4.4/0451-drm-vc4-Fix-ioctl-permissions-for-render-nodes.patch b/target/linux/brcm2708/patches-4.4/0450-drm-vc4-Fix-ioctl-permissions-for-render-nodes.patch
index 40afd95058..5ba6969870 100644
--- a/target/linux/brcm2708/patches-4.4/0451-drm-vc4-Fix-ioctl-permissions-for-render-nodes.patch
+++ b/target/linux/brcm2708/patches-4.4/0450-drm-vc4-Fix-ioctl-permissions-for-render-nodes.patch
@@ -1,4 +1,4 @@
-From cd24c4594b21f3a9dec5780d06dacbaf59415225 Mon Sep 17 00:00:00 2001
+From 590e54b9ca38b0700b1b61cdd414205cdc3eef8b Mon Sep 17 00:00:00 2001
From: Herve Jourdain <herve.jourdain@neuf.fr>
Date: Wed, 1 Jun 2016 02:24:46 +0800
Subject: [PATCH] drm/vc4: Fix ioctl permissions for render nodes.
diff --git a/target/linux/brcm2708/patches-4.4/0452-drm-vc4-Make-pageflip-completion-handling-more-robus.patch b/target/linux/brcm2708/patches-4.4/0451-drm-vc4-Make-pageflip-completion-handling-more-robus.patch
index 00701f8334..d914cdd2ac 100644
--- a/target/linux/brcm2708/patches-4.4/0452-drm-vc4-Make-pageflip-completion-handling-more-robus.patch
+++ b/target/linux/brcm2708/patches-4.4/0451-drm-vc4-Make-pageflip-completion-handling-more-robus.patch
@@ -1,4 +1,4 @@
-From cb182bb6180c57b28636669a613861023fd8f03d Mon Sep 17 00:00:00 2001
+From 83b8a95e047475cd43016426288f5072067ea369 Mon Sep 17 00:00:00 2001
From: Mario Kleiner <mario.kleiner.de@gmail.com>
Date: Wed, 18 May 2016 14:02:46 +0200
Subject: [PATCH] drm/vc4: Make pageflip completion handling more robust.
diff --git a/target/linux/brcm2708/patches-4.4/0453-drm-vc4-clean-up-error-exit-path-on-failed-dpi_conne.patch b/target/linux/brcm2708/patches-4.4/0452-drm-vc4-clean-up-error-exit-path-on-failed-dpi_conne.patch
index 4407c4afc1..c5f438559a 100644
--- a/target/linux/brcm2708/patches-4.4/0453-drm-vc4-clean-up-error-exit-path-on-failed-dpi_conne.patch
+++ b/target/linux/brcm2708/patches-4.4/0452-drm-vc4-clean-up-error-exit-path-on-failed-dpi_conne.patch
@@ -1,4 +1,4 @@
-From 2092b669dd8d4c87cbbf107fd63fe2050ec5b4aa Mon Sep 17 00:00:00 2001
+From f594ac854025bc377a8b2095e9be41af96eed278 Mon Sep 17 00:00:00 2001
From: Colin Ian King <colin.king@canonical.com>
Date: Thu, 2 Jun 2016 10:38:29 +0100
Subject: [PATCH] drm/vc4: clean up error exit path on failed dpi_connector
diff --git a/target/linux/brcm2708/patches-4.4/0454-drm-vc4-enable-XBGR8888-and-ABGR8888-pixel-formats.patch b/target/linux/brcm2708/patches-4.4/0453-drm-vc4-enable-XBGR8888-and-ABGR8888-pixel-formats.patch
index f68531ecf8..feb415af44 100644
--- a/target/linux/brcm2708/patches-4.4/0454-drm-vc4-enable-XBGR8888-and-ABGR8888-pixel-formats.patch
+++ b/target/linux/brcm2708/patches-4.4/0453-drm-vc4-enable-XBGR8888-and-ABGR8888-pixel-formats.patch
@@ -1,4 +1,4 @@
-From 1a5b389a95cc5e468477b183d3e7312caf2ea2f4 Mon Sep 17 00:00:00 2001
+From 6771102fcd8bf6a7e1638807b78f35df4fece9a6 Mon Sep 17 00:00:00 2001
From: Rob Herring <robh@kernel.org>
Date: Thu, 9 Jun 2016 16:19:25 -0500
Subject: [PATCH] drm: vc4: enable XBGR8888 and ABGR8888 pixel formats
diff --git a/target/linux/brcm2708/patches-4.4/0455-drm-vc4-Bind-the-HVS-before-we-bind-the-individual-C.patch b/target/linux/brcm2708/patches-4.4/0454-drm-vc4-Bind-the-HVS-before-we-bind-the-individual-C.patch
index 351220b0d3..6e4b98829b 100644
--- a/target/linux/brcm2708/patches-4.4/0455-drm-vc4-Bind-the-HVS-before-we-bind-the-individual-C.patch
+++ b/target/linux/brcm2708/patches-4.4/0454-drm-vc4-Bind-the-HVS-before-we-bind-the-individual-C.patch
@@ -1,4 +1,4 @@
-From 4bdd6172dbf4ea9d9ae85b6a3214bdb787f16778 Mon Sep 17 00:00:00 2001
+From 883112e5caaefcb620248e9f63426e82349033e0 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 8 Jul 2016 11:25:09 -0700
Subject: [PATCH] drm/vc4: Bind the HVS before we bind the individual CRTCs.
diff --git a/target/linux/brcm2708/patches-4.4/0456-drm-vc4-Implement-precise-vblank-timestamping.patch b/target/linux/brcm2708/patches-4.4/0455-drm-vc4-Implement-precise-vblank-timestamping.patch
index 8ae2819502..5f1f8017b3 100644
--- a/target/linux/brcm2708/patches-4.4/0456-drm-vc4-Implement-precise-vblank-timestamping.patch
+++ b/target/linux/brcm2708/patches-4.4/0455-drm-vc4-Implement-precise-vblank-timestamping.patch
@@ -1,4 +1,4 @@
-From d1a9a03cbe1110756a63d4a3747e22eb8417f75e Mon Sep 17 00:00:00 2001
+From 50cb4c343d766b0a3efa441a2c62fb890f0b3e45 Mon Sep 17 00:00:00 2001
From: Mario Kleiner <mario.kleiner.de@gmail.com>
Date: Thu, 23 Jun 2016 08:17:50 +0200
Subject: [PATCH] drm/vc4: Implement precise vblank timestamping.
diff --git a/target/linux/brcm2708/patches-4.4/0457-drm-vc4-remove-redundant-ret-status-check.patch b/target/linux/brcm2708/patches-4.4/0456-drm-vc4-remove-redundant-ret-status-check.patch
index 7887f60d04..0d3e666902 100644
--- a/target/linux/brcm2708/patches-4.4/0457-drm-vc4-remove-redundant-ret-status-check.patch
+++ b/target/linux/brcm2708/patches-4.4/0456-drm-vc4-remove-redundant-ret-status-check.patch
@@ -1,4 +1,4 @@
-From 2b643111b81df8724f317507471499660f4fc6f6 Mon Sep 17 00:00:00 2001
+From 6c69e9ba4802bc0240a930ebacf171ddcf2f3d95 Mon Sep 17 00:00:00 2001
From: Colin Ian King <colin.king@canonical.com>
Date: Sat, 9 Jul 2016 23:26:03 +0100
Subject: [PATCH] drm/vc4: remove redundant ret status check
diff --git a/target/linux/brcm2708/patches-4.4/0458-drm-vc4-add-extern-C-guard-for-the-UAPI-header.patch b/target/linux/brcm2708/patches-4.4/0457-drm-vc4-add-extern-C-guard-for-the-UAPI-header.patch
index 3b32bf867e..bf2c438005 100644
--- a/target/linux/brcm2708/patches-4.4/0458-drm-vc4-add-extern-C-guard-for-the-UAPI-header.patch
+++ b/target/linux/brcm2708/patches-4.4/0457-drm-vc4-add-extern-C-guard-for-the-UAPI-header.patch
@@ -1,4 +1,4 @@
-From 2f037770b9fedc29f75847a8323ffca49244e140 Mon Sep 17 00:00:00 2001
+From 48b941386dcff591dd0ab086f548fa20b047e84e Mon Sep 17 00:00:00 2001
From: Emil Velikov <emil.l.velikov@gmail.com>
Date: Thu, 7 Apr 2016 19:36:57 +0100
Subject: [PATCH] drm/vc4: add extern C guard for the UAPI header
diff --git a/target/linux/brcm2708/patches-4.4/0459-drm-vc4-Fix-definition-of-QPU_R_MS_REV_FLAGS.patch b/target/linux/brcm2708/patches-4.4/0458-drm-vc4-Fix-definition-of-QPU_R_MS_REV_FLAGS.patch
index 15dfd76286..4301c05e7e 100644
--- a/target/linux/brcm2708/patches-4.4/0459-drm-vc4-Fix-definition-of-QPU_R_MS_REV_FLAGS.patch
+++ b/target/linux/brcm2708/patches-4.4/0458-drm-vc4-Fix-definition-of-QPU_R_MS_REV_FLAGS.patch
@@ -1,4 +1,4 @@
-From ad6f4991e27d60b8939b8a1421166342355db503 Mon Sep 17 00:00:00 2001
+From 1f7b4f4c4b7c103a836cb5b94a1e12a51213d04c Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 4 Jul 2016 12:59:18 -0700
Subject: [PATCH] drm/vc4: Fix definition of QPU_R_MS_REV_FLAGS
diff --git a/target/linux/brcm2708/patches-4.4/0460-drm-vc4-Fix-a-the-the-typo-in-a-comment.patch b/target/linux/brcm2708/patches-4.4/0459-drm-vc4-Fix-a-the-the-typo-in-a-comment.patch
index ca504cfa26..cb40ddb270 100644
--- a/target/linux/brcm2708/patches-4.4/0460-drm-vc4-Fix-a-the-the-typo-in-a-comment.patch
+++ b/target/linux/brcm2708/patches-4.4/0459-drm-vc4-Fix-a-the-the-typo-in-a-comment.patch
@@ -1,4 +1,4 @@
-From 18b45d780c43af635c4ed343ef99738bbfd07e26 Mon Sep 17 00:00:00 2001
+From 2ea806f591f60f022514aeb4963e6d483dc5f934 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Sat, 2 Jul 2016 09:58:41 -0700
Subject: [PATCH] drm/vc4: Fix a "the the" typo in a comment.
diff --git a/target/linux/brcm2708/patches-4.4/0461-drm-vc4-Return-EBUSY-if-there-s-already-a-pending-fl.patch b/target/linux/brcm2708/patches-4.4/0460-drm-vc4-Return-EBUSY-if-there-s-already-a-pending-fl.patch
index 39f74e907d..e63ae4ddcb 100644
--- a/target/linux/brcm2708/patches-4.4/0461-drm-vc4-Return-EBUSY-if-there-s-already-a-pending-fl.patch
+++ b/target/linux/brcm2708/patches-4.4/0460-drm-vc4-Return-EBUSY-if-there-s-already-a-pending-fl.patch
@@ -1,4 +1,4 @@
-From bc27882bfefac9a1596aaed387ac01a844765e6c Mon Sep 17 00:00:00 2001
+From 78dd826ec156f24ee345f58cb6ba2b0efe478595 Mon Sep 17 00:00:00 2001
From: Robert Foss <robert.foss@collabora.com>
Date: Tue, 3 May 2016 13:48:20 -0400
Subject: [PATCH] drm/vc4: Return -EBUSY if there's already a pending flip
diff --git a/target/linux/brcm2708/patches-4.4/0462-config-Enable-SENSORS_LM75.patch b/target/linux/brcm2708/patches-4.4/0461-config-Enable-SENSORS_LM75.patch
index 4a2259f1dd..dc85c94e24 100644
--- a/target/linux/brcm2708/patches-4.4/0462-config-Enable-SENSORS_LM75.patch
+++ b/target/linux/brcm2708/patches-4.4/0461-config-Enable-SENSORS_LM75.patch
@@ -1,4 +1,4 @@
-From a770137c882b00d89888e007cd1f0a44475c2b60 Mon Sep 17 00:00:00 2001
+From 154e97d4ee2d45bcfada0b3c0c52e9530a7ec96b Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 12 Aug 2016 17:12:32 +0100
Subject: [PATCH] config: Enable SENSORS_LM75
diff --git a/target/linux/brcm2708/patches-4.4/0463-config-Enable-SERIAL_SC16IS7XX.patch b/target/linux/brcm2708/patches-4.4/0462-config-Enable-SERIAL_SC16IS7XX.patch
index 5fec3d7a15..265e567403 100644
--- a/target/linux/brcm2708/patches-4.4/0463-config-Enable-SERIAL_SC16IS7XX.patch
+++ b/target/linux/brcm2708/patches-4.4/0462-config-Enable-SERIAL_SC16IS7XX.patch
@@ -1,4 +1,4 @@
-From d64a1deaa6da4663cbd148e9a047f069d99c14f5 Mon Sep 17 00:00:00 2001
+From 13b2f5f451a4660a1a2bd788ac60381296db81fc Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 12 Aug 2016 17:00:18 +0100
Subject: [PATCH] config: Enable SERIAL_SC16IS7XX
diff --git a/target/linux/brcm2708/patches-4.4/0464-snd-bcm2835-Don-t-allow-responses-from-VC-to-be-inte.patch b/target/linux/brcm2708/patches-4.4/0463-snd-bcm2835-Don-t-allow-responses-from-VC-to-be-inte.patch
index ef5d0a3099..8fe6452a97 100644
--- a/target/linux/brcm2708/patches-4.4/0464-snd-bcm2835-Don-t-allow-responses-from-VC-to-be-inte.patch
+++ b/target/linux/brcm2708/patches-4.4/0463-snd-bcm2835-Don-t-allow-responses-from-VC-to-be-inte.patch
@@ -1,4 +1,4 @@
-From 385eb363335dfe4120643ea72f3060fce745b5b7 Mon Sep 17 00:00:00 2001
+From f491fbf4315a1d4a7210450f835a6fe93880cd5b Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 12 Aug 2016 15:46:21 +0100
Subject: [PATCH] snd-bcm2835: Don't allow responses from VC to be interrupted
diff --git a/target/linux/brcm2708/patches-4.4/0465-BCM270X-Connect-V3D-to-its-power-domain.patch b/target/linux/brcm2708/patches-4.4/0464-BCM270X-Connect-V3D-to-its-power-domain.patch
index c305216e5e..cdc822c68c 100644
--- a/target/linux/brcm2708/patches-4.4/0465-BCM270X-Connect-V3D-to-its-power-domain.patch
+++ b/target/linux/brcm2708/patches-4.4/0464-BCM270X-Connect-V3D-to-its-power-domain.patch
@@ -1,4 +1,4 @@
-From 1337324cc06c008a9d65b15328a96b21ab675113 Mon Sep 17 00:00:00 2001
+From 1a2dbddc5d2792170b1788f6a30aede54c409f72 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 12 Aug 2016 10:15:34 -0700
Subject: [PATCH] BCM270X: Connect V3D to its power domain.
diff --git a/target/linux/brcm2708/patches-4.4/0466-drm-vc4-Enable-runtime-PM.patch b/target/linux/brcm2708/patches-4.4/0465-drm-vc4-Enable-runtime-PM.patch
index fc00a1ab75..9638f02ab8 100644
--- a/target/linux/brcm2708/patches-4.4/0466-drm-vc4-Enable-runtime-PM.patch
+++ b/target/linux/brcm2708/patches-4.4/0465-drm-vc4-Enable-runtime-PM.patch
@@ -1,4 +1,4 @@
-From 02a0346c7f8159cb0930ff153bf2cb3b1f1a7a79 Mon Sep 17 00:00:00 2001
+From 70eecf52df7082d1b3bcc698de2de1b6ce31be08 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 5 Feb 2016 17:41:49 -0800
Subject: [PATCH] drm/vc4: Enable runtime PM.
diff --git a/target/linux/brcm2708/patches-4.4/0467-drm-vc4-Drop-firmware-node-getting-now-that-we-use-t.patch b/target/linux/brcm2708/patches-4.4/0466-drm-vc4-Drop-firmware-node-getting-now-that-we-use-t.patch
index 353eb437e5..060fecf19d 100644
--- a/target/linux/brcm2708/patches-4.4/0467-drm-vc4-Drop-firmware-node-getting-now-that-we-use-t.patch
+++ b/target/linux/brcm2708/patches-4.4/0466-drm-vc4-Drop-firmware-node-getting-now-that-we-use-t.patch
@@ -1,4 +1,4 @@
-From f83b96d75cab6d19376dcb9f49ebd870a8f73b69 Mon Sep 17 00:00:00 2001
+From 264c236d49fb92d3d1e47a2a246f92c94be8a9c7 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 12 Aug 2016 10:45:04 -0700
Subject: [PATCH] drm/vc4: Drop firmware node getting now that we use the power
diff --git a/target/linux/brcm2708/patches-4.4/0468-drm-vc4-Use-runtime-PM-to-power-cycle-the-device-whe.patch b/target/linux/brcm2708/patches-4.4/0467-drm-vc4-Use-runtime-PM-to-power-cycle-the-device-whe.patch
index d771261a19..2362bc25f0 100644
--- a/target/linux/brcm2708/patches-4.4/0468-drm-vc4-Use-runtime-PM-to-power-cycle-the-device-whe.patch
+++ b/target/linux/brcm2708/patches-4.4/0467-drm-vc4-Use-runtime-PM-to-power-cycle-the-device-whe.patch
@@ -1,4 +1,4 @@
-From e70d1a5fdbb7277490c273533ce535977326c6a5 Mon Sep 17 00:00:00 2001
+From 7aa7785c89ccb0203b5eb9a3b26d5358cb2543c0 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 8 Feb 2016 12:59:02 -0800
Subject: [PATCH] drm/vc4: Use runtime PM to power cycle the device when the
diff --git a/target/linux/brcm2708/patches-4.4/0469-drm-panel-Drop-debug-printf-from-the-Raspberry-Pi-to.patch b/target/linux/brcm2708/patches-4.4/0468-drm-panel-Drop-debug-printf-from-the-Raspberry-Pi-to.patch
index 56ccf2e8f6..743f689788 100644
--- a/target/linux/brcm2708/patches-4.4/0469-drm-panel-Drop-debug-printf-from-the-Raspberry-Pi-to.patch
+++ b/target/linux/brcm2708/patches-4.4/0468-drm-panel-Drop-debug-printf-from-the-Raspberry-Pi-to.patch
@@ -1,4 +1,4 @@
-From 7cac96392a51584d864291e08aeda97f9ee3e384 Mon Sep 17 00:00:00 2001
+From 0b79cabd8b947db3b60904d6516776660af4247b Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 12 Aug 2016 10:55:53 -0700
Subject: [PATCH] drm/panel: Drop debug printf from the Raspberry Pi
diff --git a/target/linux/brcm2708/patches-4.4/0470-drm-vc4-Replace-HDMI-force-connected-with-an-EDID-pr.patch b/target/linux/brcm2708/patches-4.4/0469-drm-vc4-Replace-HDMI-force-connected-with-an-EDID-pr.patch
index 3c2379438d..06dc33458a 100644
--- a/target/linux/brcm2708/patches-4.4/0470-drm-vc4-Replace-HDMI-force-connected-with-an-EDID-pr.patch
+++ b/target/linux/brcm2708/patches-4.4/0469-drm-vc4-Replace-HDMI-force-connected-with-an-EDID-pr.patch
@@ -1,4 +1,4 @@
-From 05352a2959d8924a6333726cd15144245d7c98fa Mon Sep 17 00:00:00 2001
+From 2a12837fa5ce42d748662fe8fcfd486df98a3513 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 12 Aug 2016 10:57:41 -0700
Subject: [PATCH] drm/vc4: Replace HDMI force-connected with an EDID probe.
diff --git a/target/linux/brcm2708/patches-4.4/0471-net-ethernet-enc28j60-add-device-tree-support.patch b/target/linux/brcm2708/patches-4.4/0470-net-ethernet-enc28j60-add-device-tree-support.patch
index eab1286fc0..f088f9cc98 100644
--- a/target/linux/brcm2708/patches-4.4/0471-net-ethernet-enc28j60-add-device-tree-support.patch
+++ b/target/linux/brcm2708/patches-4.4/0470-net-ethernet-enc28j60-add-device-tree-support.patch
@@ -1,4 +1,4 @@
-From 55d0ce46f962a768dd358ca26158c8c195988645 Mon Sep 17 00:00:00 2001
+From 4f4509e88313b05862de58f529712bc20a164871 Mon Sep 17 00:00:00 2001
From: Michael Heimpold <mhei@heimpold.de>
Date: Thu, 28 Apr 2016 22:06:15 +0200
Subject: [PATCH] net: ethernet: enc28j60: add device tree support
diff --git a/target/linux/brcm2708/patches-4.4/0472-enc28j60-Fix-race-condition-in-enc28j60-driver.patch b/target/linux/brcm2708/patches-4.4/0471-enc28j60-Fix-race-condition-in-enc28j60-driver.patch
index 1447bebc36..87d148e341 100644
--- a/target/linux/brcm2708/patches-4.4/0472-enc28j60-Fix-race-condition-in-enc28j60-driver.patch
+++ b/target/linux/brcm2708/patches-4.4/0471-enc28j60-Fix-race-condition-in-enc28j60-driver.patch
@@ -1,4 +1,4 @@
-From 2f1038fb16442e7285c6a4da47c56d1967ab05da Mon Sep 17 00:00:00 2001
+From edfa1131e425e0dafe9561fee792a0d319fa734e Mon Sep 17 00:00:00 2001
From: Sergio Valverde <sergio.valverde@hpe.com>
Date: Fri, 1 Jul 2016 11:44:30 -0600
Subject: [PATCH] enc28j60: Fix race condition in enc28j60 driver
diff --git a/target/linux/brcm2708/patches-4.4/0473-Add-cm3-dts-file.patch b/target/linux/brcm2708/patches-4.4/0472-Add-cm3-dts-file.patch
index 4f322bb76d..1641147d40 100644
--- a/target/linux/brcm2708/patches-4.4/0473-Add-cm3-dts-file.patch
+++ b/target/linux/brcm2708/patches-4.4/0472-Add-cm3-dts-file.patch
@@ -1,4 +1,4 @@
-From 22af0da1539b63a5dc49cc03d28a726027e2d688 Mon Sep 17 00:00:00 2001
+From 06ccc9945b198d9d1daeda7a7c09825c084ad6f1 Mon Sep 17 00:00:00 2001
From: James Adams <james@raspberrypi.org>
Date: Fri, 12 Aug 2016 14:35:00 +0100
Subject: [PATCH] Add cm3 dts file
diff --git a/target/linux/brcm2708/patches-4.4/0474-BCM270X-Drop-HPD-setting-from-the-common-dtsi.patch b/target/linux/brcm2708/patches-4.4/0473-BCM270X-Drop-HPD-setting-from-the-common-dtsi.patch
index 61b198540d..fcab4b9a65 100644
--- a/target/linux/brcm2708/patches-4.4/0474-BCM270X-Drop-HPD-setting-from-the-common-dtsi.patch
+++ b/target/linux/brcm2708/patches-4.4/0473-BCM270X-Drop-HPD-setting-from-the-common-dtsi.patch
@@ -1,4 +1,4 @@
-From 8f7b6b3db2ffcec68137e671c158c705241e1009 Mon Sep 17 00:00:00 2001
+From 9b01aef9d4187db3f256f349e6d148bbf1aad28b Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 15 Aug 2016 10:08:58 -0700
Subject: [PATCH] BCM270X: Drop HPD setting from the common dtsi.
diff --git a/target/linux/brcm2708/patches-4.4/0475-BCM2710-Drop-incorrect-HDMI-HPD-line-from-the-DT.patch b/target/linux/brcm2708/patches-4.4/0474-BCM2710-Drop-incorrect-HDMI-HPD-line-from-the-DT.patch
index 4ae0e30573..282488ead8 100644
--- a/target/linux/brcm2708/patches-4.4/0475-BCM2710-Drop-incorrect-HDMI-HPD-line-from-the-DT.patch
+++ b/target/linux/brcm2708/patches-4.4/0474-BCM2710-Drop-incorrect-HDMI-HPD-line-from-the-DT.patch
@@ -1,4 +1,4 @@
-From 5bdac7f7f6e6d9938da0d6bd0d58a136cf29515b Mon Sep 17 00:00:00 2001
+From a2cf6abba42a5b95cda76929c8681d18e97152a0 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 12 Aug 2016 11:02:14 -0700
Subject: [PATCH] BCM2710: Drop incorrect HDMI HPD line from the DT.
diff --git a/target/linux/brcm2708/patches-4.4/0476-drm-vc4-Add-a-getparam-ioctl-for-getting-the-V3D-ide.patch b/target/linux/brcm2708/patches-4.4/0475-drm-vc4-Add-a-getparam-ioctl-for-getting-the-V3D-ide.patch
index a51347e79f..41459dabec 100644
--- a/target/linux/brcm2708/patches-4.4/0476-drm-vc4-Add-a-getparam-ioctl-for-getting-the-V3D-ide.patch
+++ b/target/linux/brcm2708/patches-4.4/0475-drm-vc4-Add-a-getparam-ioctl-for-getting-the-V3D-ide.patch
@@ -1,4 +1,4 @@
-From 35d17fc64d8612bfc019a9a6078647886fae783f Mon Sep 17 00:00:00 2001
+From 03f4e4a6e625306671266db609b4f4d488b6cf6d Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Fri, 1 Jul 2016 13:10:38 -0700
Subject: [PATCH] drm/vc4: Add a getparam ioctl for getting the V3D identity
diff --git a/target/linux/brcm2708/patches-4.4/0477-drm-vc4-Move-validation-s-current-max-ip-into-the-va.patch b/target/linux/brcm2708/patches-4.4/0476-drm-vc4-Move-validation-s-current-max-ip-into-the-va.patch
index 53b8fb0e90..d264ccd7e4 100644
--- a/target/linux/brcm2708/patches-4.4/0477-drm-vc4-Move-validation-s-current-max-ip-into-the-va.patch
+++ b/target/linux/brcm2708/patches-4.4/0476-drm-vc4-Move-validation-s-current-max-ip-into-the-va.patch
@@ -1,4 +1,4 @@
-From 71f1e833c8f76504921b3913d5a8da310318934f Mon Sep 17 00:00:00 2001
+From 6af02628d1704bf16359696593246bbb78222363 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Sat, 2 Jul 2016 09:57:07 -0700
Subject: [PATCH] drm/vc4: Move validation's current/max ip into the validation
diff --git a/target/linux/brcm2708/patches-4.4/0478-drm-vc4-Add-a-bitmap-of-branch-targets-during-shader.patch b/target/linux/brcm2708/patches-4.4/0477-drm-vc4-Add-a-bitmap-of-branch-targets-during-shader.patch
index a8787acb7e..552afc9a5f 100644
--- a/target/linux/brcm2708/patches-4.4/0478-drm-vc4-Add-a-bitmap-of-branch-targets-during-shader.patch
+++ b/target/linux/brcm2708/patches-4.4/0477-drm-vc4-Add-a-bitmap-of-branch-targets-during-shader.patch
@@ -1,4 +1,4 @@
-From ba3aa9ce57cb933203cb0ebaa7c00ef756e5f84e Mon Sep 17 00:00:00 2001
+From a2be1b8d84ab4ad9a1721fd67824f1e164d5862b Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Sat, 2 Jul 2016 10:10:24 -0700
Subject: [PATCH] drm/vc4: Add a bitmap of branch targets during shader
diff --git a/target/linux/brcm2708/patches-4.4/0479-drm-vc4-Add-support-for-branching-in-shader-validati.patch b/target/linux/brcm2708/patches-4.4/0478-drm-vc4-Add-support-for-branching-in-shader-validati.patch
index eb78dbae2d..6441d60180 100644
--- a/target/linux/brcm2708/patches-4.4/0479-drm-vc4-Add-support-for-branching-in-shader-validati.patch
+++ b/target/linux/brcm2708/patches-4.4/0478-drm-vc4-Add-support-for-branching-in-shader-validati.patch
@@ -1,4 +1,4 @@
-From f9cd25fae900b1251e14ec894849846e0a2a7cb3 Mon Sep 17 00:00:00 2001
+From f2ba2314600620134530571d3b8b22de2ad5745b Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Sat, 2 Jul 2016 12:17:10 -0700
Subject: [PATCH] drm/vc4: Add support for branching in shader validation.
diff --git a/target/linux/brcm2708/patches-4.4/0480-drm-vc4-Add-a-getparam-to-signal-support-for-branche.patch b/target/linux/brcm2708/patches-4.4/0479-drm-vc4-Add-a-getparam-to-signal-support-for-branche.patch
index 63c0445c50..11e069a5c6 100644
--- a/target/linux/brcm2708/patches-4.4/0480-drm-vc4-Add-a-getparam-to-signal-support-for-branche.patch
+++ b/target/linux/brcm2708/patches-4.4/0479-drm-vc4-Add-a-getparam-to-signal-support-for-branche.patch
@@ -1,4 +1,4 @@
-From f6b1410aedc0c8d04363a930fd70509e30e23eeb Mon Sep 17 00:00:00 2001
+From 79c9521559f8c8249bf1062353bfd3b710d939c4 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Sat, 2 Jul 2016 14:14:27 -0700
Subject: [PATCH] drm/vc4: Add a getparam to signal support for branches.
diff --git a/target/linux/brcm2708/patches-4.4/0481-drm-vc4-Don-t-force-new-binner-overflow-allocation-p.patch b/target/linux/brcm2708/patches-4.4/0480-drm-vc4-Don-t-force-new-binner-overflow-allocation-p.patch
index 716961ef3a..389f9b46f7 100644
--- a/target/linux/brcm2708/patches-4.4/0481-drm-vc4-Don-t-force-new-binner-overflow-allocation-p.patch
+++ b/target/linux/brcm2708/patches-4.4/0480-drm-vc4-Don-t-force-new-binner-overflow-allocation-p.patch
@@ -1,4 +1,4 @@
-From 033049599046df7c51b605b24224bbce6d60c762 Mon Sep 17 00:00:00 2001
+From 05f81ea4c1f661703b4b2e59839a518c088e8824 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 2 Aug 2016 17:17:52 -0700
Subject: [PATCH] drm/vc4: Don't force new binner overflow allocation per draw.
diff --git a/target/linux/brcm2708/patches-4.4/0482-drm-vc4-Use-drm_free_large-on-handles-to-match-its-a.patch b/target/linux/brcm2708/patches-4.4/0481-drm-vc4-Use-drm_free_large-on-handles-to-match-its-a.patch
index 2975c9b068..ed89558e24 100644
--- a/target/linux/brcm2708/patches-4.4/0482-drm-vc4-Use-drm_free_large-on-handles-to-match-its-a.patch
+++ b/target/linux/brcm2708/patches-4.4/0481-drm-vc4-Use-drm_free_large-on-handles-to-match-its-a.patch
@@ -1,4 +1,4 @@
-From 60db7ffd6d4ace445eb56659c6e700ee9494b846 Mon Sep 17 00:00:00 2001
+From dd5e781b91b431e19cba0f0763a2821a60277a7b Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 19 Jul 2016 11:31:19 -0700
Subject: [PATCH] drm/vc4: Use drm_free_large() on handles to match its
diff --git a/target/linux/brcm2708/patches-4.4/0483-drm-vc4-Fix-oops-when-userspace-hands-in-a-bad-BO.patch b/target/linux/brcm2708/patches-4.4/0482-drm-vc4-Fix-oops-when-userspace-hands-in-a-bad-BO.patch
index 00b1511981..7faaa163b9 100644
--- a/target/linux/brcm2708/patches-4.4/0483-drm-vc4-Fix-oops-when-userspace-hands-in-a-bad-BO.patch
+++ b/target/linux/brcm2708/patches-4.4/0482-drm-vc4-Fix-oops-when-userspace-hands-in-a-bad-BO.patch
@@ -1,4 +1,4 @@
-From 6d3d23c57b33d76f0b4f01221593182c0de34ef4 Mon Sep 17 00:00:00 2001
+From c13643e0da4736d029d6323207a0c0bc49815a9a Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 25 Jul 2016 16:10:04 -0700
Subject: [PATCH] drm/vc4: Fix oops when userspace hands in a bad BO.
diff --git a/target/linux/brcm2708/patches-4.4/0484-drm-vc4-Fix-overflow-mem-unreferencing-when-the-binn.patch b/target/linux/brcm2708/patches-4.4/0483-drm-vc4-Fix-overflow-mem-unreferencing-when-the-binn.patch
index c136742fe8..a397a75d44 100644
--- a/target/linux/brcm2708/patches-4.4/0484-drm-vc4-Fix-overflow-mem-unreferencing-when-the-binn.patch
+++ b/target/linux/brcm2708/patches-4.4/0483-drm-vc4-Fix-overflow-mem-unreferencing-when-the-binn.patch
@@ -1,4 +1,4 @@
-From 379b5d818939dc58742278f744b60241a577568d Mon Sep 17 00:00:00 2001
+From 45d87c13cbba1dc247108ef485e4449ba2be1672 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 21 Jul 2016 13:39:11 -0700
Subject: [PATCH] drm/vc4: Fix overflow mem unreferencing when the binner runs
diff --git a/target/linux/brcm2708/patches-4.4/0485-config-Enable-SERIAL_SC16IS7XX_SPI.patch b/target/linux/brcm2708/patches-4.4/0484-config-Enable-SERIAL_SC16IS7XX_SPI.patch
index c780c9a295..103965506c 100644
--- a/target/linux/brcm2708/patches-4.4/0485-config-Enable-SERIAL_SC16IS7XX_SPI.patch
+++ b/target/linux/brcm2708/patches-4.4/0484-config-Enable-SERIAL_SC16IS7XX_SPI.patch
@@ -1,4 +1,4 @@
-From 6032b4e7060993a3a32b2e2a26c62ce0dd79a7fb Mon Sep 17 00:00:00 2001
+From a64be1e10c388d83ba98d8c9b737cf3064193690 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 18 Aug 2016 17:36:39 +0100
Subject: [PATCH] config: Enable SERIAL_SC16IS7XX_SPI
diff --git a/target/linux/brcm2708/patches-4.4/0486-Overlay-for-Microchip-MCP23S08-17-SPI-gpio-expanders.patch b/target/linux/brcm2708/patches-4.4/0485-Overlay-for-Microchip-MCP23S08-17-SPI-gpio-expanders.patch
index cd54783a3f..f580333b24 100644
--- a/target/linux/brcm2708/patches-4.4/0486-Overlay-for-Microchip-MCP23S08-17-SPI-gpio-expanders.patch
+++ b/target/linux/brcm2708/patches-4.4/0485-Overlay-for-Microchip-MCP23S08-17-SPI-gpio-expanders.patch
@@ -1,4 +1,4 @@
-From bd7c2eac2ada8f60058768b00935cdfe010720a5 Mon Sep 17 00:00:00 2001
+From 4b90ef9ce4197f9d7c58290d2b13a7a3d06679c5 Mon Sep 17 00:00:00 2001
From: wavelet2 <a3d35232@btinternet.com>
Date: Fri, 19 Aug 2016 09:32:53 +0100
Subject: [PATCH] Overlay for Microchip MCP23S08/17 SPI gpio expanders (#1566)
diff --git a/target/linux/brcm2708/patches-4.4/0487-BCM270X_DT-Add-audio_pins-to-CM-dtb.patch b/target/linux/brcm2708/patches-4.4/0486-BCM270X_DT-Add-audio_pins-to-CM-dtb.patch
index 1f73e52198..89d3a2cc21 100644
--- a/target/linux/brcm2708/patches-4.4/0487-BCM270X_DT-Add-audio_pins-to-CM-dtb.patch
+++ b/target/linux/brcm2708/patches-4.4/0486-BCM270X_DT-Add-audio_pins-to-CM-dtb.patch
@@ -1,4 +1,4 @@
-From e34eb065a125fae5814256d77c03226a46083f87 Mon Sep 17 00:00:00 2001
+From 79b1ef832e3e73af4ec6c506ce01f8666d4c92bb Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 19 Aug 2016 11:12:28 +0100
Subject: [PATCH] BCM270X_DT: Add audio_pins to CM dtb
diff --git a/target/linux/brcm2708/patches-4.4/0488-BCM270X_DT-Don-t-enable-UART0-in-CM3-dtb.patch b/target/linux/brcm2708/patches-4.4/0487-BCM270X_DT-Don-t-enable-UART0-in-CM3-dtb.patch
index f8a2be971a..3c6ede7932 100644
--- a/target/linux/brcm2708/patches-4.4/0488-BCM270X_DT-Don-t-enable-UART0-in-CM3-dtb.patch
+++ b/target/linux/brcm2708/patches-4.4/0487-BCM270X_DT-Don-t-enable-UART0-in-CM3-dtb.patch
@@ -1,4 +1,4 @@
-From ec662a26071a7aa2d7617ac366ce91beebaf2ad1 Mon Sep 17 00:00:00 2001
+From 7315db2c16ae18cfc3678da9da8b023c1d2492a8 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 19 Aug 2016 11:19:02 +0100
Subject: [PATCH] BCM270X_DT: Don't enable UART0 in CM3 dtb
diff --git a/target/linux/brcm2708/patches-4.4/0489-overlays-Add-audremap-overlay.patch b/target/linux/brcm2708/patches-4.4/0488-overlays-Add-audremap-overlay.patch
index e8d3976a29..de73d982b0 100644
--- a/target/linux/brcm2708/patches-4.4/0489-overlays-Add-audremap-overlay.patch
+++ b/target/linux/brcm2708/patches-4.4/0488-overlays-Add-audremap-overlay.patch
@@ -1,4 +1,4 @@
-From 612d9be3d6aa73b018005a182bd55a551abfc271 Mon Sep 17 00:00:00 2001
+From 7a2796d02bb044340fabbdc1c4a13c6f381155ac Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 19 Aug 2016 11:26:57 +0100
Subject: [PATCH] overlays: Add audremap overlay
diff --git a/target/linux/brcm2708/patches-4.4/0490-overlays-Add-swap_lr-and-enable_jack-to-audremap.patch b/target/linux/brcm2708/patches-4.4/0489-overlays-Add-swap_lr-and-enable_jack-to-audremap.patch
index 7261163354..41f23c06ff 100644
--- a/target/linux/brcm2708/patches-4.4/0490-overlays-Add-swap_lr-and-enable_jack-to-audremap.patch
+++ b/target/linux/brcm2708/patches-4.4/0489-overlays-Add-swap_lr-and-enable_jack-to-audremap.patch
@@ -1,4 +1,4 @@
-From f8e026145de28acf5e36183f5c8b489bf172e9c8 Mon Sep 17 00:00:00 2001
+From 88e9625826d782595ae6b2acf7b8214f5d05726b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 19 Aug 2016 15:39:01 +0100
Subject: [PATCH] overlays: Add swap_lr and enable_jack to audremap
diff --git a/target/linux/brcm2708/patches-4.4/0491-overlays-Clarify-gpio-poweroff-semantics-in-README.patch b/target/linux/brcm2708/patches-4.4/0490-overlays-Clarify-gpio-poweroff-semantics-in-README.patch
index 915c9983b8..1e4fc05e19 100644
--- a/target/linux/brcm2708/patches-4.4/0491-overlays-Clarify-gpio-poweroff-semantics-in-README.patch
+++ b/target/linux/brcm2708/patches-4.4/0490-overlays-Clarify-gpio-poweroff-semantics-in-README.patch
@@ -1,4 +1,4 @@
-From 5b3a11f39bb1b0f9b43044c8109bd6a19b92cebe Mon Sep 17 00:00:00 2001
+From a8fe903c1e5c6655795cdef8dfe0977018adc99b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 22 Aug 2016 11:56:04 +0100
Subject: [PATCH] overlays: Clarify gpio-poweroff semantics in README
diff --git a/target/linux/brcm2708/patches-4.4/0492-overlays-added-sc16is750-UART-over-I2C-1617.patch b/target/linux/brcm2708/patches-4.4/0491-overlays-added-sc16is750-UART-over-I2C-1617.patch
index db88579917..8c4a58de9f 100644
--- a/target/linux/brcm2708/patches-4.4/0492-overlays-added-sc16is750-UART-over-I2C-1617.patch
+++ b/target/linux/brcm2708/patches-4.4/0491-overlays-added-sc16is750-UART-over-I2C-1617.patch
@@ -1,4 +1,4 @@
-From 2de4b29019b167f079ea48e30d641f7d0370bf08 Mon Sep 17 00:00:00 2001
+From 0f34b495557223c0d129bf97a1fb89990cfd83ed Mon Sep 17 00:00:00 2001
From: Georgii Staroselskii <gosha371@gmail.com>
Date: Tue, 23 Aug 2016 17:40:05 +0400
Subject: [PATCH] overlays: added sc16is750 UART over I2C (#1617)
diff --git a/target/linux/brcm2708/patches-4.4/0493-Bluetooth-Fix-l2cap_sock_setsockopt-with-optname-BT_.patch b/target/linux/brcm2708/patches-4.4/0492-Bluetooth-Fix-l2cap_sock_setsockopt-with-optname-BT_.patch
index a5062975e1..3145b9567f 100644
--- a/target/linux/brcm2708/patches-4.4/0493-Bluetooth-Fix-l2cap_sock_setsockopt-with-optname-BT_.patch
+++ b/target/linux/brcm2708/patches-4.4/0492-Bluetooth-Fix-l2cap_sock_setsockopt-with-optname-BT_.patch
@@ -1,4 +1,4 @@
-From 2b3cf031dfcef6f4fc803ae451364c70482404a8 Mon Sep 17 00:00:00 2001
+From 4f740b73749a855452f283909401139692633600 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?=
<amadeusz.slawinski@tieto.com>
Date: Thu, 14 Jul 2016 10:50:23 +0200
diff --git a/target/linux/brcm2708/patches-4.4/0494-config-Add-CONFIG_IPVLAN-module.patch b/target/linux/brcm2708/patches-4.4/0493-config-Add-CONFIG_IPVLAN-module.patch
index a585a58893..f1fc24c55d 100644
--- a/target/linux/brcm2708/patches-4.4/0494-config-Add-CONFIG_IPVLAN-module.patch
+++ b/target/linux/brcm2708/patches-4.4/0493-config-Add-CONFIG_IPVLAN-module.patch
@@ -1,4 +1,4 @@
-From 0ae26a9c13742759f83f94678e23a4b1ff87c92e Mon Sep 17 00:00:00 2001
+From a64c4779cd96af992937ff2e9a13dc6b93d0a6fe Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 23 Aug 2016 14:07:29 +0100
Subject: [PATCH] config: Add CONFIG_IPVLAN module
diff --git a/target/linux/brcm2708/patches-4.4/0495-config-Add-CONFIG_VXLAN-module.patch b/target/linux/brcm2708/patches-4.4/0494-config-Add-CONFIG_VXLAN-module.patch
index 7993c9277f..647cb6f1da 100644
--- a/target/linux/brcm2708/patches-4.4/0495-config-Add-CONFIG_VXLAN-module.patch
+++ b/target/linux/brcm2708/patches-4.4/0494-config-Add-CONFIG_VXLAN-module.patch
@@ -1,4 +1,4 @@
-From 77861bfabc7b84513c6ccbbd2efbeaaca8e7e022 Mon Sep 17 00:00:00 2001
+From c757e1201aee161e47b735b13cb2929a05e77c10 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 23 Aug 2016 14:08:55 +0100
Subject: [PATCH] config: Add CONFIG_VXLAN module
diff --git a/target/linux/brcm2708/patches-4.4/0496-Fixes-i2c_bcm2708-Write-to-FIFO-correctly-v2-1574.patch b/target/linux/brcm2708/patches-4.4/0495-Fixes-i2c_bcm2708-Write-to-FIFO-correctly-v2-1574.patch
index da46d86f09..4426585043 100644
--- a/target/linux/brcm2708/patches-4.4/0496-Fixes-i2c_bcm2708-Write-to-FIFO-correctly-v2-1574.patch
+++ b/target/linux/brcm2708/patches-4.4/0495-Fixes-i2c_bcm2708-Write-to-FIFO-correctly-v2-1574.patch
@@ -1,4 +1,4 @@
-From 1b6ee2ac8f1d55cb7ceeaa606e3d4868cfde363d Mon Sep 17 00:00:00 2001
+From 1bb11b1cfccb209ca841878ec650538e972a34ab Mon Sep 17 00:00:00 2001
From: Simon Maes <simonn.maes@gmail.com>
Date: Mon, 29 Aug 2016 21:11:01 +0200
Subject: [PATCH] Fixes i2c_bcm2708: Write to FIFO correctly - v2 (#1574)
diff --git a/target/linux/brcm2708/patches-4.4/0497-bcm2835-sdhost-Don-t-exit-cmd-wait-loop-on-error.patch b/target/linux/brcm2708/patches-4.4/0496-bcm2835-sdhost-Don-t-exit-cmd-wait-loop-on-error.patch
index 564b65d89c..53ab4baaff 100644
--- a/target/linux/brcm2708/patches-4.4/0497-bcm2835-sdhost-Don-t-exit-cmd-wait-loop-on-error.patch
+++ b/target/linux/brcm2708/patches-4.4/0496-bcm2835-sdhost-Don-t-exit-cmd-wait-loop-on-error.patch
@@ -1,4 +1,4 @@
-From 0ca1a9040cff3ace3d7fce5cdd83f1cbaa8da50c Mon Sep 17 00:00:00 2001
+From e14a11520223fbb5d011a83f3de60cd56f3afad5 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 2 Sep 2016 17:21:42 +0100
Subject: [PATCH] bcm2835-sdhost: Don't exit cmd wait loop on error
diff --git a/target/linux/brcm2708/patches-4.4/0498-BCM270X_DT-Use-bcm2835-sdhost-on-Compute-Module.patch b/target/linux/brcm2708/patches-4.4/0497-BCM270X_DT-Use-bcm2835-sdhost-on-Compute-Module.patch
index bb2895c576..1662bfedd1 100644
--- a/target/linux/brcm2708/patches-4.4/0498-BCM270X_DT-Use-bcm2835-sdhost-on-Compute-Module.patch
+++ b/target/linux/brcm2708/patches-4.4/0497-BCM270X_DT-Use-bcm2835-sdhost-on-Compute-Module.patch
@@ -1,4 +1,4 @@
-From 6288d4a7b700cbb8c1c72210c9b2017cf8bc7dd2 Mon Sep 17 00:00:00 2001
+From e69474ab771cd527c98a546bc0afc84d13662c04 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 2 Sep 2016 14:35:37 +0100
Subject: [PATCH] BCM270X_DT: Use bcm2835-sdhost on Compute Module
diff --git a/target/linux/brcm2708/patches-4.4/0499-fbmem-Ensure-that-parameters-are-properly-checked-wi.patch b/target/linux/brcm2708/patches-4.4/0498-fbmem-Ensure-that-parameters-are-properly-checked-wi.patch
index 186f29bef2..4b9ee5d211 100644
--- a/target/linux/brcm2708/patches-4.4/0499-fbmem-Ensure-that-parameters-are-properly-checked-wi.patch
+++ b/target/linux/brcm2708/patches-4.4/0498-fbmem-Ensure-that-parameters-are-properly-checked-wi.patch
@@ -1,4 +1,4 @@
-From 7c8c6f113e1169690dbfbfc486360d10452e5a85 Mon Sep 17 00:00:00 2001
+From b5dd047d429d99a2e9a567d29df581e21e7ba071 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 7 Sep 2016 16:57:59 +0100
Subject: [PATCH] fbmem: Ensure that parameters are properly checked within
diff --git a/target/linux/brcm2708/patches-4.4/0500-config-Enabled-SENSORS_INA2XX-module.patch b/target/linux/brcm2708/patches-4.4/0499-config-Enabled-SENSORS_INA2XX-module.patch
index 49e637e498..c21a963ed8 100644
--- a/target/linux/brcm2708/patches-4.4/0500-config-Enabled-SENSORS_INA2XX-module.patch
+++ b/target/linux/brcm2708/patches-4.4/0499-config-Enabled-SENSORS_INA2XX-module.patch
@@ -1,4 +1,4 @@
-From a2aac70ca118d0a4cc7321cfcc4bf7884dd4208c Mon Sep 17 00:00:00 2001
+From f9235a23a6a38f7c2ef6851113874a340781f84a Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 9 Sep 2016 19:35:13 +0100
Subject: [PATCH] config: Enabled SENSORS_INA2XX module
diff --git a/target/linux/brcm2708/patches-4.4/0500-overlays-Add-dpi18-overlay-1634.patch b/target/linux/brcm2708/patches-4.4/0500-overlays-Add-dpi18-overlay-1634.patch
new file mode 100644
index 0000000000..4335b20398
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0500-overlays-Add-dpi18-overlay-1634.patch
@@ -0,0 +1,75 @@
+From 654ea8a724a4abaf000841788cec8f90756682a7 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <pelwell@users.noreply.github.com>
+Date: Mon, 12 Sep 2016 13:46:56 +0100
+Subject: [PATCH] overlays: Add dpi18 overlay (#1634)
+
+Add support for 18-bit DPI displays. Although the dpi24 overlay could
+be used, this overlay leaves GPIOs 22-27 free for other uses.
+---
+ arch/arm/boot/dts/overlays/Makefile | 1 +
+ arch/arm/boot/dts/overlays/README | 8 +++++++
+ arch/arm/boot/dts/overlays/dpi18-overlay.dts | 31 ++++++++++++++++++++++++++++
+ 3 files changed, 40 insertions(+)
+ create mode 100644 arch/arm/boot/dts/overlays/dpi18-overlay.dts
+
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -22,6 +22,7 @@ dtbo-$(RPI_DT_OVERLAYS) += audremap.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += bmp085_i2c-sensor.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += dht11.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += dionaudio-loco.dtbo
++dtbo-$(RPI_DT_OVERLAYS) += dpi18.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += dpi24.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += dwc-otg.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += dwc2.dtbo
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -283,6 +283,14 @@ Load: dtoverlay=dionaudio-loco
+ Params: <None>
+
+
++Name: dpi18
++Info: Overlay for a generic 18-bit DPI display
++ This uses GPIOs 0-21 (so no I2C, uart etc.), and activates the output
++ 2-3 seconds after the kernel has started.
++Load: dtoverlay=dpi18
++Params: <None>
++
++
+ Name: dpi24
+ Info: Overlay for a generic 24-bit DPI display
+ This uses GPIOs 0-27 (so no I2C, uart etc.), and activates the output
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/dpi18-overlay.dts
+@@ -0,0 +1,31 @@
++/dts-v1/;
++/plugin/;
++
++/{
++ compatible = "brcm,bcm2708";
++
++ // There is no DPI driver module, but we need a platform device
++ // node (that doesn't already use pinctrl) to hang the pinctrl
++ // reference on - leds will do
++
++ fragment@0 {
++ target = <&leds>;
++ __overlay__ {
++ pinctrl-names = "default";
++ pinctrl-0 = <&dpi18_pins>;
++ };
++ };
++
++ fragment@1 {
++ target = <&gpio>;
++ __overlay__ {
++ dpi18_pins: dpi18_pins {
++ brcm,pins = <0 1 2 3 4 5 6 7 8 9 10 11
++ 12 13 14 15 16 17 18 19 20
++ 21>;
++ brcm,function = <6>; /* alt2 */
++ brcm,pull = <0>; /* no pull */
++ };
++ };
++ };
++};
diff --git a/target/linux/brcm2708/patches-4.4/0502-drm-vc4-Allow-some-more-signals-to-be-packed-with-un.patch b/target/linux/brcm2708/patches-4.4/0502-drm-vc4-Allow-some-more-signals-to-be-packed-with-un.patch
new file mode 100644
index 0000000000..a3591d9b6d
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0502-drm-vc4-Allow-some-more-signals-to-be-packed-with-un.patch
@@ -0,0 +1,38 @@
+From 5c0d836a77af123123d7a4144d5069c2d675a23d Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Tue, 30 Aug 2016 13:57:38 -0700
+Subject: [PATCH] drm/vc4: Allow some more signals to be packed with uniform
+ resets.
+
+The intent was to make sure people don't sneak in a small immediate or
+something to change the interpretation of the uniform update args, but
+these signals are just fine.
+
+Fixes a validation failure in the current X server on some Render
+operation.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+(cherry picked from commit 313a61d30761217ce4383018de1cc0d5d503a376)
+---
+ drivers/gpu/drm/vc4/vc4_validate_shaders.c | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_validate_shaders.c
++++ b/drivers/gpu/drm/vc4/vc4_validate_shaders.c
+@@ -309,8 +309,14 @@ validate_uniform_address_write(struct vc
+ * of uniforms on each side. However, this scheme is easy to
+ * validate so it's all we allow for now.
+ */
+-
+- if (QPU_GET_FIELD(inst, QPU_SIG) != QPU_SIG_NONE) {
++ switch (QPU_GET_FIELD(inst, QPU_SIG)) {
++ case QPU_SIG_NONE:
++ case QPU_SIG_SCOREBOARD_UNLOCK:
++ case QPU_SIG_COLOR_LOAD:
++ case QPU_SIG_LOAD_TMU0:
++ case QPU_SIG_LOAD_TMU1:
++ break;
++ default:
+ DRM_ERROR("uniforms address change must be "
+ "normal math\n");
+ return false;
diff --git a/target/linux/brcm2708/patches-4.4/0503-raspberrypi-firmware-Export-the-general-transaction-.patch b/target/linux/brcm2708/patches-4.4/0503-raspberrypi-firmware-Export-the-general-transaction-.patch
new file mode 100644
index 0000000000..5e33a50927
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0503-raspberrypi-firmware-Export-the-general-transaction-.patch
@@ -0,0 +1,42 @@
+From d80f8d5336690bb4b8ee3b5b374d63062ca2a1cc Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Wed, 14 Sep 2016 09:16:19 +0100
+Subject: [PATCH] raspberrypi-firmware: Export the general transaction
+ function.
+
+The vc4-firmware-kms module is going to be doing the MBOX FB call.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ drivers/firmware/raspberrypi.c | 3 ++-
+ include/soc/bcm2835/raspberrypi-firmware.h | 1 +
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/firmware/raspberrypi.c
++++ b/drivers/firmware/raspberrypi.c
+@@ -42,7 +42,7 @@ static void response_callback(struct mbo
+ * Sends a request to the firmware through the BCM2835 mailbox driver,
+ * and synchronously waits for the reply.
+ */
+-static int
++int
+ rpi_firmware_transaction(struct rpi_firmware *fw, u32 chan, u32 data)
+ {
+ u32 message = MBOX_MSG(chan, data);
+@@ -63,6 +63,7 @@ rpi_firmware_transaction(struct rpi_firm
+
+ return ret;
+ }
++EXPORT_SYMBOL_GPL(rpi_firmware_transaction);
+
+ /**
+ * rpi_firmware_property_list - Submit firmware property list
+--- a/include/soc/bcm2835/raspberrypi-firmware.h
++++ b/include/soc/bcm2835/raspberrypi-firmware.h
+@@ -129,5 +129,6 @@ int rpi_firmware_property(struct rpi_fir
+ int rpi_firmware_property_list(struct rpi_firmware *fw,
+ void *data, size_t tag_size);
+ struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node);
++int rpi_firmware_transaction(struct rpi_firmware *fw, u32 chan, u32 data);
+
+ #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */
diff --git a/target/linux/brcm2708/patches-4.4/0504-raspberrypi-firmware-Define-the-MBOX-channel-in-the-.patch b/target/linux/brcm2708/patches-4.4/0504-raspberrypi-firmware-Define-the-MBOX-channel-in-the-.patch
new file mode 100644
index 0000000000..c47151bcc9
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0504-raspberrypi-firmware-Define-the-MBOX-channel-in-the-.patch
@@ -0,0 +1,21 @@
+From 1d8a5891026bb0c8202a62174377b0e8b34a96e2 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Wed, 14 Sep 2016 09:18:09 +0100
+Subject: [PATCH] raspberrypi-firmware: Define the MBOX channel in the header.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ include/soc/bcm2835/raspberrypi-firmware.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/include/soc/bcm2835/raspberrypi-firmware.h
++++ b/include/soc/bcm2835/raspberrypi-firmware.h
+@@ -12,6 +12,8 @@
+ #include <linux/types.h>
+ #include <linux/of_device.h>
+
++#define RPI_FIRMWARE_CHAN_FB 1
++
+ struct rpi_firmware;
+
+ enum rpi_firmware_property_status {
diff --git a/target/linux/brcm2708/patches-4.4/0505-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch b/target/linux/brcm2708/patches-4.4/0505-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch
new file mode 100644
index 0000000000..27612ae3b7
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0505-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch
@@ -0,0 +1,776 @@
+From ceb205fa42f950c74172f9bbce65f1df3fdfdb34 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Wed, 14 Sep 2016 08:39:33 +0100
+Subject: [PATCH] drm/vc4: Add a mode for using the closed firmware for
+ display.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ drivers/gpu/drm/vc4/Makefile | 1 +
+ drivers/gpu/drm/vc4/vc4_crtc.c | 13 +
+ drivers/gpu/drm/vc4/vc4_drv.c | 10 +-
+ drivers/gpu/drm/vc4/vc4_drv.h | 7 +
+ drivers/gpu/drm/vc4/vc4_firmware_kms.c | 660 +++++++++++++++++++++++++++++++++
+ 5 files changed, 689 insertions(+), 2 deletions(-)
+ create mode 100644 drivers/gpu/drm/vc4/vc4_firmware_kms.c
+
+--- a/drivers/gpu/drm/vc4/Makefile
++++ b/drivers/gpu/drm/vc4/Makefile
+@@ -9,6 +9,7 @@ vc4-y := \
+ vc4_drv.o \
+ vc4_dpi.o \
+ vc4_dsi.o \
++ vc4_firmware_kms.o \
+ vc4_kms.o \
+ vc4_gem.o \
+ vc4_hdmi.o \
+--- a/drivers/gpu/drm/vc4/vc4_crtc.c
++++ b/drivers/gpu/drm/vc4/vc4_crtc.c
+@@ -151,6 +151,9 @@ int vc4_crtc_get_scanoutpos(struct drm_d
+ int vblank_lines;
+ int ret = 0;
+
++ if (vc4->firmware_kms)
++ return 0;
++
+ /*
+ * XXX Doesn't work well in interlaced mode yet, partially due
+ * to problems in vc4 kms or drm core interlaced mode handling,
+@@ -639,6 +642,11 @@ int vc4_enable_vblank(struct drm_device
+ struct vc4_dev *vc4 = to_vc4_dev(dev);
+ struct vc4_crtc *vc4_crtc = vc4->crtc[crtc_id];
+
++ if (vc4->firmware_kms) {
++ /* XXX: Can we mask the SMI interrupt? */
++ return 0;
++ }
++
+ CRTC_WRITE(PV_INTEN, PV_INT_VFP_START);
+
+ return 0;
+@@ -649,6 +657,11 @@ void vc4_disable_vblank(struct drm_devic
+ struct vc4_dev *vc4 = to_vc4_dev(dev);
+ struct vc4_crtc *vc4_crtc = vc4->crtc[crtc_id];
+
++ if (vc4->firmware_kms) {
++ /* XXX: Can we mask the SMI interrupt? */
++ return;
++ }
++
+ CRTC_WRITE(PV_INTEN, 0);
+ }
+
+--- a/drivers/gpu/drm/vc4/vc4_drv.c
++++ b/drivers/gpu/drm/vc4/vc4_drv.c
+@@ -47,10 +47,15 @@ void __iomem *vc4_ioremap_regs(struct pl
+
+ static void vc4_drm_preclose(struct drm_device *dev, struct drm_file *file)
+ {
++ struct vc4_dev *vc4 = to_vc4_dev(dev);
+ struct drm_crtc *crtc;
+
+- list_for_each_entry(crtc, &dev->mode_config.crtc_list, head)
+- vc4_cancel_page_flip(crtc, file);
++ list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
++ if (vc4->firmware_kms)
++ vc4_fkms_cancel_page_flip(crtc, file);
++ else
++ vc4_cancel_page_flip(crtc, file);
++ }
+ }
+
+ void vc4_dump_regs32(const struct debugfs_reg32 *regs, unsigned int num_regs,
+@@ -331,6 +336,7 @@ static struct platform_driver *const com
+ &vc4_dsi_driver,
+ &vc4_hvs_driver,
+ &vc4_crtc_driver,
++ &vc4_firmware_kms_driver,
+ &vc4_v3d_driver,
+ };
+
+--- a/drivers/gpu/drm/vc4/vc4_drv.h
++++ b/drivers/gpu/drm/vc4/vc4_drv.h
+@@ -14,6 +14,9 @@ struct debugfs_reg32;
+ struct vc4_dev {
+ struct drm_device *dev;
+
++ bool firmware_kms;
++ struct rpi_firmware *firmware;
++
+ struct vc4_hdmi *hdmi;
+ struct vc4_hvs *hvs;
+ struct vc4_crtc *crtc[3];
+@@ -461,6 +464,10 @@ int vc4_dpi_debugfs_regs(struct seq_file
+ extern struct platform_driver vc4_dsi_driver;
+ int vc4_dsi_debugfs_regs(struct seq_file *m, void *unused);
+
++/* vc4_firmware_kms.c */
++extern struct platform_driver vc4_firmware_kms_driver;
++void vc4_fkms_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file);
++
+ /* vc4_gem.c */
+ void vc4_gem_init(struct drm_device *dev);
+ void vc4_gem_destroy(struct drm_device *dev);
+--- /dev/null
++++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c
+@@ -0,0 +1,660 @@
++/*
++ * Copyright (C) 2016 Broadcom
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ */
++
++/**
++ * DOC: VC4 firmware KMS module.
++ *
++ * As a hack to get us from the current closed source driver world
++ * toward a totally open stack, implement KMS on top of the Raspberry
++ * Pi's firmware display stack.
++ */
++
++#include "drm_atomic.h"
++#include "drm_atomic_helper.h"
++#include "drm_plane_helper.h"
++#include "drm_crtc_helper.h"
++#include "linux/clk.h"
++#include "linux/debugfs.h"
++#include "drm_fb_cma_helper.h"
++#include "linux/component.h"
++#include "linux/of_device.h"
++#include "vc4_drv.h"
++#include "vc4_regs.h"
++#include <soc/bcm2835/raspberrypi-firmware.h>
++
++/* The firmware delivers a vblank interrupt to us through the SMI
++ * hardware, which has only this one register.
++ */
++#define SMICS 0x0
++#define SMICS_INTERRUPTS (BIT(9) | BIT(10) | BIT(11))
++
++struct vc4_crtc {
++ struct drm_crtc base;
++ struct drm_encoder *encoder;
++ struct drm_connector *connector;
++ void __iomem *regs;
++
++ struct drm_pending_vblank_event *event;
++};
++
++static inline struct vc4_crtc *to_vc4_crtc(struct drm_crtc *crtc)
++{
++ return container_of(crtc, struct vc4_crtc, base);
++}
++
++struct vc4_fkms_encoder {
++ struct drm_encoder base;
++};
++
++static inline struct vc4_fkms_encoder *
++to_vc4_fkms_encoder(struct drm_encoder *encoder)
++{
++ return container_of(encoder, struct vc4_fkms_encoder, base);
++}
++
++/* VC4 FKMS connector KMS struct */
++struct vc4_fkms_connector {
++ struct drm_connector base;
++
++ /* Since the connector is attached to just the one encoder,
++ * this is the reference to it so we can do the best_encoder()
++ * hook.
++ */
++ struct drm_encoder *encoder;
++};
++
++static inline struct vc4_fkms_connector *
++to_vc4_fkms_connector(struct drm_connector *connector)
++{
++ return container_of(connector, struct vc4_fkms_connector, base);
++}
++
++/* Firmware's structure for making an FB mbox call. */
++struct fbinfo_s {
++ u32 xres, yres, xres_virtual, yres_virtual;
++ u32 pitch, bpp;
++ u32 xoffset, yoffset;
++ u32 base;
++ u32 screen_size;
++ u16 cmap[256];
++};
++
++struct vc4_fkms_plane {
++ struct drm_plane base;
++ struct fbinfo_s *fbinfo;
++ dma_addr_t fbinfo_bus_addr;
++ u32 pitch;
++};
++
++static inline struct vc4_fkms_plane *to_vc4_fkms_plane(struct drm_plane *plane)
++{
++ return (struct vc4_fkms_plane *)plane;
++}
++
++/* Turns the display on/off. */
++static int vc4_plane_set_primary_blank(struct drm_plane *plane, bool blank)
++{
++ struct vc4_dev *vc4 = to_vc4_dev(plane->dev);
++
++ u32 packet = blank;
++ return rpi_firmware_property(vc4->firmware,
++ RPI_FIRMWARE_FRAMEBUFFER_BLANK,
++ &packet, sizeof(packet));
++}
++
++static void vc4_primary_plane_atomic_update(struct drm_plane *plane,
++ struct drm_plane_state *old_state)
++{
++ struct vc4_dev *vc4 = to_vc4_dev(plane->dev);
++ struct vc4_fkms_plane *vc4_plane = to_vc4_fkms_plane(plane);
++ struct drm_plane_state *state = plane->state;
++ struct drm_framebuffer *fb = state->fb;
++ struct drm_gem_cma_object *bo = drm_fb_cma_get_gem_obj(fb, 0);
++ volatile struct fbinfo_s *fbinfo = vc4_plane->fbinfo;
++ u32 bpp = 32;
++ int ret;
++
++ vc4_plane_set_primary_blank(plane, false);
++
++ fbinfo->xres = state->crtc_w;
++ fbinfo->yres = state->crtc_h;
++ fbinfo->xres_virtual = state->crtc_w;
++ fbinfo->yres_virtual = state->crtc_h;
++ fbinfo->bpp = bpp;
++ fbinfo->xoffset = state->crtc_x;
++ fbinfo->yoffset = state->crtc_y;
++ fbinfo->base = bo->paddr + fb->offsets[0];
++ fbinfo->pitch = fb->pitches[0];
++ /* A bug in the firmware makes it so that if the fb->base is
++ * set to nonzero, the configured pitch gets overwritten with
++ * the previous pitch. So, to get the configured pitch
++ * recomputed, we have to make it allocate itself a new buffer
++ * in VC memory, first.
++ */
++ if (vc4_plane->pitch != fb->pitches[0]) {
++ u32 saved_base = fbinfo->base;
++ fbinfo->base = 0;
++
++ ret = rpi_firmware_transaction(vc4->firmware,
++ RPI_FIRMWARE_CHAN_FB,
++ vc4_plane->fbinfo_bus_addr);
++ fbinfo->base = saved_base;
++
++ vc4_plane->pitch = fbinfo->pitch;
++ WARN_ON_ONCE(vc4_plane->pitch != fb->pitches[0]);
++ }
++
++ ret = rpi_firmware_transaction(vc4->firmware,
++ RPI_FIRMWARE_CHAN_FB,
++ vc4_plane->fbinfo_bus_addr);
++ WARN_ON_ONCE(fbinfo->pitch != fb->pitches[0]);
++ WARN_ON_ONCE(fbinfo->base != bo->paddr + fb->offsets[0]);
++}
++
++static void vc4_primary_plane_atomic_disable(struct drm_plane *plane,
++ struct drm_plane_state *old_state)
++{
++ vc4_plane_set_primary_blank(plane, true);
++}
++
++static void vc4_cursor_plane_atomic_update(struct drm_plane *plane,
++ struct drm_plane_state *old_state)
++{
++ struct vc4_dev *vc4 = to_vc4_dev(plane->dev);
++ struct drm_plane_state *state = plane->state;
++ struct drm_framebuffer *fb = state->fb;
++ struct drm_gem_cma_object *bo = drm_fb_cma_get_gem_obj(fb, 0);
++ int ret;
++ u32 packet_state[] = { true, state->crtc_x, state->crtc_y, 0 };
++ u32 packet_info[] = { state->crtc_w, state->crtc_h,
++ 0, /* unused */
++ bo->paddr + fb->offsets[0],
++ 0, 0, /* hotx, hoty */};
++ WARN_ON_ONCE(fb->pitches[0] != state->crtc_w * 4);
++ WARN_ON_ONCE(fb->bits_per_pixel != 32);
++
++ ret = rpi_firmware_property(vc4->firmware,
++ RPI_FIRMWARE_SET_CURSOR_STATE,
++ &packet_state,
++ sizeof(packet_state));
++ if (ret || packet_state[0] != 0)
++ DRM_ERROR("Failed to set cursor state: 0x%08x\n", packet_state[0]);
++
++ ret = rpi_firmware_property(vc4->firmware,
++ RPI_FIRMWARE_SET_CURSOR_INFO,
++ &packet_info,
++ sizeof(packet_info));
++ if (ret || packet_info[0] != 0)
++ DRM_ERROR("Failed to set cursor info: 0x%08x\n", packet_info[0]);
++}
++
++static void vc4_cursor_plane_atomic_disable(struct drm_plane *plane,
++ struct drm_plane_state *old_state)
++{
++ struct vc4_dev *vc4 = to_vc4_dev(plane->dev);
++ u32 packet_state[] = { false, 0, 0, 0 };
++ int ret;
++
++ ret = rpi_firmware_property(vc4->firmware,
++ RPI_FIRMWARE_SET_CURSOR_STATE,
++ &packet_state,
++ sizeof(packet_state));
++ if (ret || packet_state[0] != 0)
++ DRM_ERROR("Failed to set cursor state: 0x%08x\n", packet_state[0]);
++}
++
++static int vc4_plane_atomic_check(struct drm_plane *plane,
++ struct drm_plane_state *state)
++{
++ return 0;
++}
++
++static void vc4_plane_destroy(struct drm_plane *plane)
++{
++ drm_plane_helper_disable(plane);
++ drm_plane_cleanup(plane);
++}
++
++static const struct drm_plane_funcs vc4_plane_funcs = {
++ .update_plane = drm_atomic_helper_update_plane,
++ .disable_plane = drm_atomic_helper_disable_plane,
++ .destroy = vc4_plane_destroy,
++ .set_property = NULL,
++ .reset = drm_atomic_helper_plane_reset,
++ .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state,
++ .atomic_destroy_state = drm_atomic_helper_plane_destroy_state,
++};
++
++static const struct drm_plane_helper_funcs vc4_primary_plane_helper_funcs = {
++ .prepare_fb = NULL,
++ .cleanup_fb = NULL,
++ .atomic_check = vc4_plane_atomic_check,
++ .atomic_update = vc4_primary_plane_atomic_update,
++ .atomic_disable = vc4_primary_plane_atomic_disable,
++};
++
++static const struct drm_plane_helper_funcs vc4_cursor_plane_helper_funcs = {
++ .prepare_fb = NULL,
++ .cleanup_fb = NULL,
++ .atomic_check = vc4_plane_atomic_check,
++ .atomic_update = vc4_cursor_plane_atomic_update,
++ .atomic_disable = vc4_cursor_plane_atomic_disable,
++};
++
++static struct drm_plane *vc4_fkms_plane_init(struct drm_device *dev,
++ enum drm_plane_type type)
++{
++ struct drm_plane *plane = NULL;
++ struct vc4_fkms_plane *vc4_plane;
++ u32 xrgb8888 = DRM_FORMAT_XRGB8888;
++ u32 argb8888 = DRM_FORMAT_ARGB8888;
++ int ret = 0;
++ bool primary = (type == DRM_PLANE_TYPE_PRIMARY);
++
++ vc4_plane = devm_kzalloc(dev->dev, sizeof(*vc4_plane),
++ GFP_KERNEL);
++ if (!vc4_plane) {
++ ret = -ENOMEM;
++ goto fail;
++ }
++
++ plane = &vc4_plane->base;
++ ret = drm_universal_plane_init(dev, plane, 0xff,
++ &vc4_plane_funcs,
++ primary ? &xrgb8888 : &argb8888, 1,
++ type);
++
++ if (type == DRM_PLANE_TYPE_PRIMARY) {
++ vc4_plane->fbinfo =
++ dma_alloc_coherent(dev->dev,
++ sizeof(*vc4_plane->fbinfo),
++ &vc4_plane->fbinfo_bus_addr,
++ GFP_KERNEL);
++ memset(vc4_plane->fbinfo, 0, sizeof(*vc4_plane->fbinfo));
++
++ drm_plane_helper_add(plane, &vc4_primary_plane_helper_funcs);
++ } else {
++ drm_plane_helper_add(plane, &vc4_cursor_plane_helper_funcs);
++ }
++
++ return plane;
++fail:
++ if (plane)
++ vc4_plane_destroy(plane);
++
++ return ERR_PTR(ret);
++}
++
++static void vc4_crtc_mode_set_nofb(struct drm_crtc *crtc)
++{
++ /* Everyting is handled in the planes. */
++}
++
++static void vc4_crtc_disable(struct drm_crtc *crtc)
++{
++}
++
++static void vc4_crtc_enable(struct drm_crtc *crtc)
++{
++}
++
++static int vc4_crtc_atomic_check(struct drm_crtc *crtc,
++ struct drm_crtc_state *state)
++{
++ return 0;
++}
++
++static void vc4_crtc_atomic_flush(struct drm_crtc *crtc,
++ struct drm_crtc_state *old_state)
++{
++}
++
++static void vc4_crtc_handle_page_flip(struct vc4_crtc *vc4_crtc)
++{
++ struct drm_crtc *crtc = &vc4_crtc->base;
++ struct drm_device *dev = crtc->dev;
++ unsigned long flags;
++
++ spin_lock_irqsave(&dev->event_lock, flags);
++ if (vc4_crtc->event) {
++ drm_crtc_send_vblank_event(crtc, vc4_crtc->event);
++ vc4_crtc->event = NULL;
++ drm_crtc_vblank_put(crtc);
++ }
++ spin_unlock_irqrestore(&dev->event_lock, flags);
++}
++
++static irqreturn_t vc4_crtc_irq_handler(int irq, void *data)
++{
++ struct vc4_crtc *vc4_crtc = data;
++ u32 stat = readl(vc4_crtc->regs + SMICS);
++ irqreturn_t ret = IRQ_NONE;
++
++ if (stat & SMICS_INTERRUPTS) {
++ writel(0, vc4_crtc->regs + SMICS);
++ drm_crtc_handle_vblank(&vc4_crtc->base);
++ vc4_crtc_handle_page_flip(vc4_crtc);
++ ret = IRQ_HANDLED;
++ }
++
++ return ret;
++}
++
++static int vc4_page_flip(struct drm_crtc *crtc,
++ struct drm_framebuffer *fb,
++ struct drm_pending_vblank_event *event,
++ uint32_t flags)
++{
++ if (flags & DRM_MODE_PAGE_FLIP_ASYNC) {
++ DRM_ERROR("Async flips aren't allowed\n");
++ return -EINVAL;
++ }
++
++ return drm_atomic_helper_page_flip(crtc, fb, event, flags);
++}
++
++static const struct drm_crtc_funcs vc4_crtc_funcs = {
++ .set_config = drm_atomic_helper_set_config,
++ .destroy = drm_crtc_cleanup,
++ .page_flip = vc4_page_flip,
++ .set_property = NULL,
++ .cursor_set = NULL, /* handled by drm_mode_cursor_universal */
++ .cursor_move = NULL, /* handled by drm_mode_cursor_universal */
++ .reset = drm_atomic_helper_crtc_reset,
++ .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state,
++ .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state,
++};
++
++static const struct drm_crtc_helper_funcs vc4_crtc_helper_funcs = {
++ .mode_set_nofb = vc4_crtc_mode_set_nofb,
++ .disable = vc4_crtc_disable,
++ .enable = vc4_crtc_enable,
++ .atomic_check = vc4_crtc_atomic_check,
++ .atomic_flush = vc4_crtc_atomic_flush,
++};
++
++/* Frees the page flip event when the DRM device is closed with the
++ * event still outstanding.
++ */
++void vc4_fkms_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file)
++{
++ struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc);
++ struct drm_device *dev = crtc->dev;
++ unsigned long flags;
++
++ spin_lock_irqsave(&dev->event_lock, flags);
++
++ if (vc4_crtc->event && vc4_crtc->event->base.file_priv == file) {
++ vc4_crtc->event->base.destroy(&vc4_crtc->event->base);
++ drm_crtc_vblank_put(crtc);
++ vc4_crtc->event = NULL;
++ }
++
++ spin_unlock_irqrestore(&dev->event_lock, flags);
++}
++
++static const struct of_device_id vc4_firmware_kms_dt_match[] = {
++ { .compatible = "raspberrypi,rpi-firmware-kms" },
++ {}
++};
++
++static enum drm_connector_status
++vc4_fkms_connector_detect(struct drm_connector *connector, bool force)
++{
++ return connector_status_connected;
++}
++
++static int vc4_fkms_connector_get_modes(struct drm_connector *connector)
++{
++ struct drm_device *dev = connector->dev;
++ struct vc4_dev *vc4 = to_vc4_dev(dev);
++ u32 wh[2] = {0, 0};
++ int ret;
++ struct drm_display_mode *mode;
++
++ ret = rpi_firmware_property(vc4->firmware,
++ RPI_FIRMWARE_FRAMEBUFFER_GET_PHYSICAL_WIDTH_HEIGHT,
++ &wh, sizeof(wh));
++ if (ret) {
++ DRM_ERROR("Failed to get screen size: %d (0x%08x 0x%08x)\n",
++ ret, wh[0], wh[1]);
++ return 0;
++ }
++
++ mode = drm_cvt_mode(dev, wh[0], wh[1], 60 /* vrefresh */,
++ 0, 0, false);
++ drm_mode_probed_add(connector, mode);
++
++ return 1;
++}
++
++static struct drm_encoder *
++vc4_fkms_connector_best_encoder(struct drm_connector *connector)
++{
++ struct vc4_fkms_connector *fkms_connector =
++ to_vc4_fkms_connector(connector);
++ return fkms_connector->encoder;
++}
++
++static void vc4_fkms_connector_destroy(struct drm_connector *connector)
++{
++ drm_connector_unregister(connector);
++ drm_connector_cleanup(connector);
++}
++
++static const struct drm_connector_funcs vc4_fkms_connector_funcs = {
++ .dpms = drm_atomic_helper_connector_dpms,
++ .detect = vc4_fkms_connector_detect,
++ .fill_modes = drm_helper_probe_single_connector_modes,
++ .destroy = vc4_fkms_connector_destroy,
++ .reset = drm_atomic_helper_connector_reset,
++ .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
++ .atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
++};
++
++static const struct drm_connector_helper_funcs vc4_fkms_connector_helper_funcs = {
++ .get_modes = vc4_fkms_connector_get_modes,
++ .best_encoder = vc4_fkms_connector_best_encoder,
++};
++
++static struct drm_connector *vc4_fkms_connector_init(struct drm_device *dev,
++ struct drm_encoder *encoder)
++{
++ struct drm_connector *connector = NULL;
++ struct vc4_fkms_connector *fkms_connector;
++ int ret = 0;
++
++ fkms_connector = devm_kzalloc(dev->dev, sizeof(*fkms_connector),
++ GFP_KERNEL);
++ if (!fkms_connector) {
++ ret = -ENOMEM;
++ goto fail;
++ }
++ connector = &fkms_connector->base;
++
++ fkms_connector->encoder = encoder;
++
++ drm_connector_init(dev, connector, &vc4_fkms_connector_funcs,
++ DRM_MODE_CONNECTOR_HDMIA);
++ drm_connector_helper_add(connector, &vc4_fkms_connector_helper_funcs);
++
++ connector->polled = (DRM_CONNECTOR_POLL_CONNECT |
++ DRM_CONNECTOR_POLL_DISCONNECT);
++
++ connector->interlace_allowed = 0;
++ connector->doublescan_allowed = 0;
++
++ drm_mode_connector_attach_encoder(connector, encoder);
++
++ return connector;
++
++ fail:
++ if (connector)
++ vc4_fkms_connector_destroy(connector);
++
++ return ERR_PTR(ret);
++}
++
++static void vc4_fkms_encoder_destroy(struct drm_encoder *encoder)
++{
++ drm_encoder_cleanup(encoder);
++}
++
++static const struct drm_encoder_funcs vc4_fkms_encoder_funcs = {
++ .destroy = vc4_fkms_encoder_destroy,
++};
++
++static void vc4_fkms_encoder_enable(struct drm_encoder *encoder)
++{
++}
++
++static void vc4_fkms_encoder_disable(struct drm_encoder *encoder)
++{
++}
++
++static const struct drm_encoder_helper_funcs vc4_fkms_encoder_helper_funcs = {
++ .enable = vc4_fkms_encoder_enable,
++ .disable = vc4_fkms_encoder_disable,
++};
++
++static int vc4_fkms_bind(struct device *dev, struct device *master, void *data)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct drm_device *drm = dev_get_drvdata(master);
++ struct vc4_dev *vc4 = to_vc4_dev(drm);
++ struct vc4_crtc *vc4_crtc;
++ struct vc4_fkms_encoder *vc4_encoder;
++ struct drm_crtc *crtc;
++ struct drm_plane *primary_plane, *cursor_plane, *destroy_plane, *temp;
++ struct device_node *firmware_node;
++ int ret;
++
++ vc4->firmware_kms = true;
++
++ vc4_crtc = devm_kzalloc(dev, sizeof(*vc4_crtc), GFP_KERNEL);
++ if (!vc4_crtc)
++ return -ENOMEM;
++ crtc = &vc4_crtc->base;
++
++ firmware_node = of_parse_phandle(dev->of_node, "brcm,firmware", 0);
++ vc4->firmware = rpi_firmware_get(firmware_node);
++ if (!vc4->firmware) {
++ DRM_DEBUG("Failed to get Raspberry Pi firmware reference.\n");
++ return -EPROBE_DEFER;
++ }
++ of_node_put(firmware_node);
++
++ /* Map the SMI interrupt reg */
++ vc4_crtc->regs = vc4_ioremap_regs(pdev, 0);
++ if (IS_ERR(vc4_crtc->regs))
++ return PTR_ERR(vc4_crtc->regs);
++
++ /* For now, we create just the primary and the legacy cursor
++ * planes. We should be able to stack more planes on easily,
++ * but to do that we would need to compute the bandwidth
++ * requirement of the plane configuration, and reject ones
++ * that will take too much.
++ */
++ primary_plane = vc4_fkms_plane_init(drm, DRM_PLANE_TYPE_PRIMARY);
++ if (IS_ERR(primary_plane)) {
++ dev_err(dev, "failed to construct primary plane\n");
++ ret = PTR_ERR(primary_plane);
++ goto err;
++ }
++
++ cursor_plane = vc4_fkms_plane_init(drm, DRM_PLANE_TYPE_CURSOR);
++ if (IS_ERR(cursor_plane)) {
++ dev_err(dev, "failed to construct cursor plane\n");
++ ret = PTR_ERR(cursor_plane);
++ goto err;
++ }
++
++ drm_crtc_init_with_planes(drm, crtc, primary_plane, cursor_plane,
++ &vc4_crtc_funcs);
++ drm_crtc_helper_add(crtc, &vc4_crtc_helper_funcs);
++ primary_plane->crtc = crtc;
++ cursor_plane->crtc = crtc;
++ vc4->crtc[drm_crtc_index(crtc)] = vc4_crtc;
++
++ vc4_encoder = devm_kzalloc(dev, sizeof(*vc4_encoder), GFP_KERNEL);
++ if (!vc4_encoder)
++ return -ENOMEM;
++ vc4_crtc->encoder = &vc4_encoder->base;
++ vc4_encoder->base.possible_crtcs |= drm_crtc_mask(crtc) ;
++ drm_encoder_init(drm, &vc4_encoder->base, &vc4_fkms_encoder_funcs,
++ DRM_MODE_ENCODER_TMDS);
++ drm_encoder_helper_add(&vc4_encoder->base,
++ &vc4_fkms_encoder_helper_funcs);
++
++ vc4_crtc->connector = vc4_fkms_connector_init(drm, &vc4_encoder->base);
++ if (IS_ERR(vc4_crtc->connector)) {
++ ret = PTR_ERR(vc4_crtc->connector);
++ goto err_destroy_encoder;
++ }
++
++ writel(0, vc4_crtc->regs + SMICS);
++ ret = devm_request_irq(dev, platform_get_irq(pdev, 0),
++ vc4_crtc_irq_handler, 0, "vc4 firmware kms",
++ vc4_crtc);
++ if (ret)
++ goto err_destroy_connector;
++
++ platform_set_drvdata(pdev, vc4_crtc);
++
++ return 0;
++
++err_destroy_connector:
++ vc4_fkms_connector_destroy(vc4_crtc->connector);
++err_destroy_encoder:
++ vc4_fkms_encoder_destroy(vc4_crtc->encoder);
++ list_for_each_entry_safe(destroy_plane, temp,
++ &drm->mode_config.plane_list, head) {
++ if (destroy_plane->possible_crtcs == 1 << drm_crtc_index(crtc))
++ destroy_plane->funcs->destroy(destroy_plane);
++ }
++err:
++ return ret;
++}
++
++static void vc4_fkms_unbind(struct device *dev, struct device *master,
++ void *data)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct vc4_crtc *vc4_crtc = dev_get_drvdata(dev);
++
++ vc4_fkms_connector_destroy(vc4_crtc->connector);
++ vc4_fkms_encoder_destroy(vc4_crtc->encoder);
++ drm_crtc_cleanup(&vc4_crtc->base);
++
++ platform_set_drvdata(pdev, NULL);
++}
++
++static const struct component_ops vc4_fkms_ops = {
++ .bind = vc4_fkms_bind,
++ .unbind = vc4_fkms_unbind,
++};
++
++static int vc4_fkms_probe(struct platform_device *pdev)
++{
++ return component_add(&pdev->dev, &vc4_fkms_ops);
++}
++
++static int vc4_fkms_remove(struct platform_device *pdev)
++{
++ component_del(&pdev->dev, &vc4_fkms_ops);
++ return 0;
++}
++
++struct platform_driver vc4_firmware_kms_driver = {
++ .probe = vc4_fkms_probe,
++ .remove = vc4_fkms_remove,
++ .driver = {
++ .name = "vc4_firmware_kms",
++ .of_match_table = vc4_firmware_kms_dt_match,
++ },
++};
diff --git a/target/linux/brcm2708/patches-4.4/0506-BCM270X-Add-an-overlay-for-enabling-the-vc4-driver-i.patch b/target/linux/brcm2708/patches-4.4/0506-BCM270X-Add-an-overlay-for-enabling-the-vc4-driver-i.patch
new file mode 100644
index 0000000000..d401271433
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0506-BCM270X-Add-an-overlay-for-enabling-the-vc4-driver-i.patch
@@ -0,0 +1,189 @@
+From 5395497a794d793f9657e3317634ad8e5003277f Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Wed, 14 Sep 2016 08:52:26 +0100
+Subject: [PATCH] BCM270X: Add an overlay for enabling the vc4 driver in
+ firmware-KMS mode.
+
+This gets us normal 3D support on top of the existing firmware display
+stack. There's no real modesetting support, no async pageflips
+(hurting performance), etc., but it means that the desktop can at
+least run until we get full native modesetting.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ arch/arm/boot/dts/bcm2708_common.dtsi | 31 +++++---
+ arch/arm/boot/dts/overlays/Makefile | 1 +
+ arch/arm/boot/dts/overlays/README | 11 +++
+ .../arm/boot/dts/overlays/vc4-fkms-v3d-overlay.dts | 89 ++++++++++++++++++++++
+ 4 files changed, 121 insertions(+), 11 deletions(-)
+ create mode 100644 arch/arm/boot/dts/overlays/vc4-fkms-v3d-overlay.dts
+
+--- a/arch/arm/boot/dts/bcm2708_common.dtsi
++++ b/arch/arm/boot/dts/bcm2708_common.dtsi
+@@ -284,6 +284,26 @@
+ status = "disabled";
+ };
+
++ firmwarekms: firmwarekms@7e600000 {
++ compatible = "raspberrypi,rpi-firmware-kms";
++ /* SMI interrupt reg */
++ reg = <0x7e600000 0x100>;
++ interrupts = <2 16>;
++ brcm,firmware = <&firmware>;
++ status = "disabled";
++ };
++
++ smi: smi@7e600000 {
++ compatible = "brcm,bcm2835-smi";
++ reg = <0x7e600000 0x44>, <0x7e1010b0 0x8>;
++ interrupts = <2 16>;
++ brcm,smi-clock-source = <6>;
++ brcm,smi-clock-divisor = <4>;
++ dmas = <&dma 4>;
++ dma-names = "rx-tx";
++ status = "disabled";
++ };
++
+ dsi1: dsi@7e700000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+@@ -325,17 +345,6 @@
+ status = "disabled";
+ };
+
+- smi: smi@7e600000 {
+- compatible = "brcm,bcm2835-smi";
+- reg = <0x7e600000 0x44>, <0x7e1010b0 0x8>;
+- interrupts = <2 16>;
+- brcm,smi-clock-source = <6>;
+- brcm,smi-clock-divisor = <4>;
+- dmas = <&dma 4>;
+- dma-names = "rx-tx";
+- status = "disabled";
+- };
+-
+ pixelvalve2: pixelvalve@7e807000 {
+ compatible = "brcm,bcm2835-pixelvalve2";
+ reg = <0x7e807000 0x100>;
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -96,6 +96,7 @@ dtbo-$(RPI_DT_OVERLAYS) += spi2-2cs.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += spi2-3cs.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += tinylcd35.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += uart1.dtbo
++dtbo-$(RPI_DT_OVERLAYS) += vc4-fkms-v3d.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += vc4-kms-v3d.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += vga666.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += w1-gpio.dtbo
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -1215,6 +1215,17 @@ Params: txd1_pin GPIO pin
+ rxd1_pin GPIO pin for RXD1 (15, 33 or 41 - default 15)
+
+
++Name: vc4-fkms-v3d
++Info: Enable Eric Anholt's DRM VC4 V3D driver on top of the dispmanx
++ display stack.
++Load: dtoverlay=vc4-fkms-v3d,<param>
++Params: cma-256 CMA is 256MB, 256MB-aligned (needs 1GB)
++ cma-192 CMA is 192MB, 256MB-aligned (needs 1GB)
++ cma-128 CMA is 128MB, 128MB-aligned
++ cma-96 CMA is 96MB, 128MB-aligned
++ cma-64 CMA is 64MB, 64MB-aligned
++
++
+ Name: vc4-kms-v3d
+ Info: Enable Eric Anholt's DRM VC4 HDMI/HVS/V3D driver. Running startx or
+ booting to GUI while this overlay is in use will cause interesting
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/vc4-fkms-v3d-overlay.dts
+@@ -0,0 +1,89 @@
++/*
++ * vc4-fkms-v3d-overlay.dts
++ */
++
++/dts-v1/;
++/plugin/;
++
++/ {
++ compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709";
++
++ fragment@0 {
++ target-path = "/chosen";
++ __overlay__ {
++ bootargs = "cma=256M@256M";
++ };
++ };
++
++ fragment@1 {
++ target-path = "/chosen";
++ __dormant__ {
++ bootargs = "cma=192M@256M";
++ };
++ };
++
++ fragment@2 {
++ target-path = "/chosen";
++ __dormant__ {
++ bootargs = "cma=128M@128M";
++ };
++ };
++
++ fragment@3 {
++ target-path = "/chosen";
++ __dormant__ {
++ bootargs = "cma=96M@128M";
++ };
++ };
++
++ fragment@4 {
++ target-path = "/chosen";
++ __dormant__ {
++ bootargs = "cma=64M@64M";
++ };
++ };
++
++ fragment@5 {
++ target = <&fb>;
++ __overlay__ {
++ status = "disabled";
++ };
++ };
++
++ fragment@6 {
++ target = <&firmwarekms>;
++ __overlay__ {
++ status = "okay";
++ };
++ };
++
++ fragment@7 {
++ target = <&v3d>;
++ __overlay__ {
++ interrupts = <1 10>;
++ status = "okay";
++ };
++ };
++
++ fragment@8 {
++ target = <&gpu>;
++ __overlay__ {
++ status = "okay";
++ };
++ };
++
++ fragment@9 {
++ target-path = "/soc/dma";
++ __overlay__ {
++ brcm,dma-channel-mask = <0x7f35>;
++ };
++ };
++
++ __overrides__ {
++ cma-256 = <0>,"+0-1-2-3-4";
++ cma-192 = <0>,"-0+1-2-3-4";
++ cma-128 = <0>,"-0-1+2-3-4";
++ cma-96 = <0>,"-0-1-2+3-4";
++ cma-64 = <0>,"-0-1-2-3+4";
++ };
++};
diff --git a/target/linux/brcm2708/patches-4.4/0507-Allo-Piano-DAC-boards-Initial-2-channel-stereo-suppo.patch b/target/linux/brcm2708/patches-4.4/0507-Allo-Piano-DAC-boards-Initial-2-channel-stereo-suppo.patch
new file mode 100644
index 0000000000..16a9b0773b
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0507-Allo-Piano-DAC-boards-Initial-2-channel-stereo-suppo.patch
@@ -0,0 +1,324 @@
+From 655114c25214675520d742f5e86cdd8dd534e6c7 Mon Sep 17 00:00:00 2001
+From: Clive Messer <clive.m.messer@gmail.com>
+Date: Mon, 19 Sep 2016 14:01:04 +0100
+Subject: [PATCH] Allo Piano DAC boards: Initial 2 channel (stereo) support
+ (#1645)
+
+Add initial 2 channel (stereo) support for Allo Piano DAC (2.0/2.1) boards,
+using allo-piano-dac-pcm512x-audio overlay and allo-piano-dac ALSA ASoC
+machine driver.
+
+NB. The initial support is 2 channel (stereo) ONLY!
+(The Piano DAC 2.1 will only support 2 channel (stereo) left/right output,
+ pending an update to the upstream pcm512x codec driver, which will have
+ to be submitted via upstream. With the initial downstream support,
+ provided by this patch, the Piano DAC 2.1 subwoofer outputs will
+ not function.)
+
+Signed-off-by: Baswaraj K <jaikumar@cem-solutions.net>
+Signed-off-by: Clive Messer <clive.messer@digitaldreamtime.co.uk>
+Tested-by: Clive Messer <clive.messer@digitaldreamtime.co.uk>
+---
+ arch/arm/boot/dts/overlays/Makefile | 1 +
+ arch/arm/boot/dts/overlays/README | 20 +++
+ .../allo-piano-dac-pcm512x-audio-overlay.dts | 54 ++++++++
+ arch/arm/configs/bcm2709_defconfig | 1 +
+ arch/arm/configs/bcmrpi_defconfig | 1 +
+ sound/soc/bcm/Kconfig | 7 +
+ sound/soc/bcm/Makefile | 2 +
+ sound/soc/bcm/allo-piano-dac.c | 144 +++++++++++++++++++++
+ 8 files changed, 230 insertions(+)
+ create mode 100644 arch/arm/boot/dts/overlays/allo-piano-dac-pcm512x-audio-overlay.dts
+ create mode 100644 sound/soc/bcm/allo-piano-dac.c
+
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -16,6 +16,7 @@ dtbo-$(RPI_DT_OVERLAYS) += adau1977-adc.
+ dtbo-$(RPI_DT_OVERLAYS) += ads1015.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += ads7846.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += akkordion-iqdacplus.dtbo
++dtbo-$(RPI_DT_OVERLAYS) += allo-piano-dac-pcm512x-audio.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += at86rf233.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += audioinjector-wm8731-audio.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += audremap.dtbo
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -235,6 +235,26 @@ Params: 24db_digital_gain Allow ga
+ that does not result in clipping/distortion!)
+
+
++Name: allo-piano-dac-pcm512x-audio
++Info: Configures the Allo Piano DAC (2.0/2.1) audio cards.
++ (NB. This initial support is for 2.0 channel audio ONLY! ie. stereo.
++ The subwoofer outputs on the Piano 2.1 are not currently supported!)
++Load: dtoverlay=allo-piano-dac-pcm512x-audio,<param>
++Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
++ Digital volume control.
++ (The default behaviour is that the Digital
++ volume control is limited to a maximum of
++ 0dB. ie. it can attenuate but not provide
++ gain. For most users, this will be desired
++ as it will prevent clipping. By appending
++ the 24db_digital_gain parameter, the Digital
++ volume control will allow up to 24dB of
++ gain. If this parameter is enabled, it is the
++ responsibility of the user to ensure that
++ the Digital volume control is set to a value
++ that does not result in clipping/distortion!)
++
++
+ Name: at86rf233
+ Info: Configures the Atmel AT86RF233 802.15.4 low-power WPAN transceiver,
+ connected to spi0.0
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/allo-piano-dac-pcm512x-audio-overlay.dts
+@@ -0,0 +1,54 @@
++/*
++ * Definitions for Allo Piano DAC (2.0/2.1) boards
++ *
++ * NB. The Piano DAC 2.1 board contains 2x TI PCM5142 DAC's. One DAC is stereo
++ * (left/right) and the other provides a subwoofer output, using DSP on the
++ * chip for digital high/low pass crossover.
++ * The initial support for this hardware, that doesn't require any codec driver
++ * modifications, uses only one DAC chip for stereo (left/right) output, the
++ * chip with 0x4c slave address. The other chip at 0x4d is currently ignored!
++ */
++
++/dts-v1/;
++/plugin/;
++
++/ {
++ compatible = "brcm,bcm2708";
++
++ fragment@0 {
++ target = <&i2s>;
++ __overlay__ {
++ status = "okay";
++ };
++ };
++
++ fragment@1 {
++ target = <&i2c1>;
++ __overlay__ {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ pcm5142@4c {
++ #sound-dai-cells = <0>;
++ compatible = "ti,pcm5142";
++ reg = <0x4c>;
++ status = "okay";
++ };
++ };
++ };
++
++ fragment@2 {
++ target = <&sound>;
++ piano_dac: __overlay__ {
++ compatible = "allo,piano-dac";
++ i2s-controller = <&i2s>;
++ status = "okay";
++ };
++ };
++
++ __overrides__ {
++ 24db_digital_gain =
++ <&piano_dac>,"allo,24db_digital_gain?";
++ };
++};
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -879,6 +879,7 @@ CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m
+ CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD=m
+ CONFIG_SND_DIGIDAC1_SOUNDCARD=m
+ CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m
++CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC=m
+ CONFIG_SND_SOC_ADAU1701=m
+ CONFIG_SND_SOC_WM8804_I2C=m
+ CONFIG_SND_SIMPLE_CARD=m
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -871,6 +871,7 @@ CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m
+ CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD=m
+ CONFIG_SND_DIGIDAC1_SOUNDCARD=m
+ CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m
++CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC=m
+ CONFIG_SND_SOC_ADAU1701=m
+ CONFIG_SND_SOC_WM8804_I2C=m
+ CONFIG_SND_SIMPLE_CARD=m
+--- a/sound/soc/bcm/Kconfig
++++ b/sound/soc/bcm/Kconfig
+@@ -114,3 +114,10 @@ config SND_BCM2708_SOC_DIONAUDIO_LOCO
+ select SND_SOC_PCM5102a
+ help
+ Say Y or M if you want to add support for Dion Audio LOCO.
++
++config SND_BCM2708_SOC_ALLO_PIANO_DAC
++ tristate "Support for Allo Piano DAC"
++ depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
++ select SND_SOC_PCM512x_I2C
++ help
++ Say Y or M if you want to add support for Allo Piano DAC.
+--- a/sound/soc/bcm/Makefile
++++ b/sound/soc/bcm/Makefile
+@@ -19,6 +19,7 @@ snd-soc-raspidac3-objs := raspidac3.o
+ snd-soc-audioinjector-pi-soundcard-objs := audioinjector-pi-soundcard.o
+ snd-soc-digidac1-soundcard-objs := digidac1-soundcard.o
+ snd-soc-dionaudio-loco-objs := dionaudio_loco.o
++snd-soc-allo-piano-dac-objs := allo-piano-dac.o
+
+ obj-$(CONFIG_SND_BCM2708_SOC_ADAU1977_ADC) += snd-soc-adau1977-adc.o
+ obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-dac.o
+@@ -35,3 +36,4 @@ obj-$(CONFIG_SND_BCM2708_SOC_RASPIDAC3)
+ obj-$(CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD) += snd-soc-audioinjector-pi-soundcard.o
+ obj-$(CONFIG_SND_DIGIDAC1_SOUNDCARD) += snd-soc-digidac1-soundcard.o
+ obj-$(CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO) += snd-soc-dionaudio-loco.o
++obj-$(CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC) += snd-soc-allo-piano-dac.o
+--- /dev/null
++++ b/sound/soc/bcm/allo-piano-dac.c
+@@ -0,0 +1,144 @@
++/*
++ * ALSA ASoC Machine Driver for Allo Piano DAC
++ *
++ * Author: Baswaraj K <jaikumar@cem-solutions.net>
++ * Copyright 2016
++ * based on code by Daniel Matuschek <info@crazy-audio.com>
++ * based on code by Florian Meier <florian.meier@koalo.de>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * version 2 as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ */
++
++#include <linux/module.h>
++#include <linux/platform_device.h>
++
++#include <sound/core.h>
++#include <sound/pcm.h>
++#include <sound/pcm_params.h>
++#include <sound/soc.h>
++
++static bool digital_gain_0db_limit = true;
++
++static int snd_allo_piano_dac_init(struct snd_soc_pcm_runtime *rtd)
++{
++ if (digital_gain_0db_limit) {
++ int ret;
++ struct snd_soc_card *card = rtd->card;
++
++ ret = snd_soc_limit_volume(card, "Digital Playback Volume",
++ 207);
++ if (ret < 0)
++ dev_warn(card->dev, "Failed to set volume limit: %d\n",
++ ret);
++ }
++
++ return 0;
++}
++
++static int snd_allo_piano_dac_hw_params(
++ struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params)
++{
++ struct snd_soc_pcm_runtime *rtd = substream->private_data;
++ struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
++
++ unsigned int sample_bits =
++ snd_pcm_format_physical_width(params_format(params));
++
++ return snd_soc_dai_set_bclk_ratio(cpu_dai, sample_bits * 2);
++}
++
++/* machine stream operations */
++static struct snd_soc_ops snd_allo_piano_dac_ops = {
++ .hw_params = snd_allo_piano_dac_hw_params,
++};
++
++static struct snd_soc_dai_link snd_allo_piano_dac_dai[] = {
++{
++ .name = "Piano DAC",
++ .stream_name = "Piano DAC HiFi",
++ .cpu_dai_name = "bcm2708-i2s.0",
++ .codec_dai_name = "pcm512x-hifi",
++ .platform_name = "bcm2708-i2s.0",
++ .codec_name = "pcm512x.1-004c",
++ .dai_fmt = SND_SOC_DAIFMT_I2S |
++ SND_SOC_DAIFMT_NB_NF |
++ SND_SOC_DAIFMT_CBS_CFS,
++ .ops = &snd_allo_piano_dac_ops,
++ .init = snd_allo_piano_dac_init,
++},
++};
++
++/* audio machine driver */
++static struct snd_soc_card snd_allo_piano_dac = {
++ .name = "PianoDAC",
++ .owner = THIS_MODULE,
++ .dai_link = snd_allo_piano_dac_dai,
++ .num_links = ARRAY_SIZE(snd_allo_piano_dac_dai),
++};
++
++static int snd_allo_piano_dac_probe(struct platform_device *pdev)
++{
++ int ret = 0;
++
++ snd_allo_piano_dac.dev = &pdev->dev;
++
++ if (pdev->dev.of_node) {
++ struct device_node *i2s_node;
++ struct snd_soc_dai_link *dai;
++
++ dai = &snd_allo_piano_dac_dai[0];
++ i2s_node = of_parse_phandle(pdev->dev.of_node,
++ "i2s-controller", 0);
++
++ if (i2s_node) {
++ dai->cpu_dai_name = NULL;
++ dai->cpu_of_node = i2s_node;
++ dai->platform_name = NULL;
++ dai->platform_of_node = i2s_node;
++ }
++
++ digital_gain_0db_limit = !of_property_read_bool(
++ pdev->dev.of_node, "allo,24db_digital_gain");
++ }
++
++ ret = snd_soc_register_card(&snd_allo_piano_dac);
++ if (ret)
++ dev_err(&pdev->dev,
++ "snd_soc_register_card() failed: %d\n", ret);
++
++ return ret;
++}
++
++static int snd_allo_piano_dac_remove(struct platform_device *pdev)
++{
++ return snd_soc_unregister_card(&snd_allo_piano_dac);
++}
++
++static const struct of_device_id snd_allo_piano_dac_of_match[] = {
++ { .compatible = "allo,piano-dac", },
++ { /* sentinel */ },
++};
++MODULE_DEVICE_TABLE(of, snd_allo_piano_dac_of_match);
++
++static struct platform_driver snd_allo_piano_dac_driver = {
++ .driver = {
++ .name = "snd-allo-piano-dac",
++ .owner = THIS_MODULE,
++ .of_match_table = snd_allo_piano_dac_of_match,
++ },
++ .probe = snd_allo_piano_dac_probe,
++ .remove = snd_allo_piano_dac_remove,
++};
++
++module_platform_driver(snd_allo_piano_dac_driver);
++
++MODULE_AUTHOR("Baswaraj K <jaikumar@cem-solutions.net>");
++MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC");
++MODULE_LICENSE("GPL v2");
diff --git a/target/linux/brcm2708/patches-4.4/0508-Correct-typos-in-spi-gpio35-39-overlay.dts-1651.patch b/target/linux/brcm2708/patches-4.4/0508-Correct-typos-in-spi-gpio35-39-overlay.dts-1651.patch
new file mode 100644
index 0000000000..c0ae0a2b0e
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0508-Correct-typos-in-spi-gpio35-39-overlay.dts-1651.patch
@@ -0,0 +1,29 @@
+From b80f025ee532fb183a1ebbf81fd1c5ceb386a019 Mon Sep 17 00:00:00 2001
+From: Blogs14 <masterwhite445@googlemail.com>
+Date: Fri, 23 Sep 2016 11:02:56 +0100
+Subject: [PATCH] Correct typos in spi-gpio35-39-overlay.dts (#1651)
+
+bcrm,pins corrected to brcm,pins
+---
+ arch/arm/boot/dts/overlays/spi-gpio35-39-overlay.dts | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/arm/boot/dts/overlays/spi-gpio35-39-overlay.dts
++++ b/arch/arm/boot/dts/overlays/spi-gpio35-39-overlay.dts
+@@ -18,14 +18,14 @@
+ fragment@1 {
+ target = <&spi0_cs_pins>;
+ __overlay__ {
+- bcrm,pins = <36 35>;
++ brcm,pins = <36 35>;
+ };
+ };
+
+ fragment@2 {
+ target = <&spi0_pins>;
+ __overlay__ {
+- bcrm,pins = <37 38 39>;
++ brcm,pins = <37 38 39>;
+ };
+ };
+ };
diff --git a/target/linux/brcm2708/patches-4.4/0510-drm-vc4-Enable-limited-range-RGB-output-with-CEA-mod.patch b/target/linux/brcm2708/patches-4.4/0510-drm-vc4-Enable-limited-range-RGB-output-with-CEA-mod.patch
new file mode 100644
index 0000000000..c01a22836a
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0510-drm-vc4-Enable-limited-range-RGB-output-with-CEA-mod.patch
@@ -0,0 +1,83 @@
+From 330916bb64ca043ad03993aa4041edc99f68cf8f Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Thu, 15 Sep 2016 17:52:17 +0100
+Subject: [PATCH] drm/vc4: Enable limited range RGB output with CEA modes.
+
+---
+ drivers/gpu/drm/vc4/vc4_hdmi.c | 28 ++++++++++++++++++++++++++--
+ drivers/gpu/drm/vc4/vc4_regs.h | 9 ++++++++-
+ 2 files changed, 34 insertions(+), 3 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
+@@ -285,6 +285,7 @@ static void vc4_hdmi_encoder_mode_set(st
+ struct drm_display_mode *unadjusted_mode,
+ struct drm_display_mode *mode)
+ {
++ struct vc4_hdmi_encoder *vc4_encoder = to_vc4_hdmi_encoder(encoder);
+ struct drm_device *dev = encoder->dev;
+ struct vc4_dev *vc4 = to_vc4_dev(dev);
+ bool debug_dump_regs = false;
+@@ -300,6 +301,7 @@ static void vc4_hdmi_encoder_mode_set(st
+ u32 vertb = (VC4_SET_FIELD(0, VC4_HDMI_VERTB_VSPO) |
+ VC4_SET_FIELD(mode->vtotal - mode->vsync_end,
+ VC4_HDMI_VERTB_VBP));
++ u32 csc_ctl;
+
+ if (debug_dump_regs) {
+ DRM_INFO("HDMI regs before:\n");
+@@ -338,9 +340,31 @@ static void vc4_hdmi_encoder_mode_set(st
+ (vsync_pos ? 0 : VC4_HD_VID_CTL_VSYNC_LOW) |
+ (hsync_pos ? 0 : VC4_HD_VID_CTL_HSYNC_LOW));
+
++ csc_ctl = VC4_SET_FIELD(VC4_HD_CSC_CTL_ORDER_BGR,
++ VC4_HD_CSC_CTL_ORDER);
++
++ if (vc4_encoder->hdmi_monitor && drm_match_cea_mode(mode) != 0) {
++ /* Enable limited range RGB output. This matrix is:
++ * [ 0 0 0.8594 16]
++ * [ 0 0.8594 0 16]
++ * [ 0.8594 0 0 16]
++ * [ 0 0 0 1]
++ */
++ csc_ctl |= VC4_HD_CSC_CTL_ENABLE;
++ csc_ctl |= VC4_HD_CSC_CTL_RGB2YCC;
++ csc_ctl |= VC4_SET_FIELD(VC4_HD_CSC_CTL_MODE_CUSTOM,
++ VC4_HD_CSC_CTL_MODE);
++
++ HD_WRITE(VC4_HD_CSC_12_11, (0x000 << 16) | 0x000);
++ HD_WRITE(VC4_HD_CSC_14_13, (0x100 << 16) | 0x6e0);
++ HD_WRITE(VC4_HD_CSC_22_21, (0x6e0 << 16) | 0x000);
++ HD_WRITE(VC4_HD_CSC_24_23, (0x100 << 16) | 0x000);
++ HD_WRITE(VC4_HD_CSC_32_31, (0x000 << 16) | 0x6e0);
++ HD_WRITE(VC4_HD_CSC_34_33, (0x100 << 16) | 0x000);
++ }
++
+ /* The RGB order applies even when CSC is disabled. */
+- HD_WRITE(VC4_HD_CSC_CTL, VC4_SET_FIELD(VC4_HD_CSC_CTL_ORDER_BGR,
+- VC4_HD_CSC_CTL_ORDER));
++ HD_WRITE(VC4_HD_CSC_CTL, csc_ctl);
+
+ HDMI_WRITE(VC4_HDMI_FIFO_CTL, VC4_HDMI_FIFO_CTL_MASTER_SLAVE_N);
+
+--- a/drivers/gpu/drm/vc4/vc4_regs.h
++++ b/drivers/gpu/drm/vc4/vc4_regs.h
+@@ -530,10 +530,17 @@
+ # define VC4_HD_CSC_CTL_MODE_SHIFT 2
+ # define VC4_HD_CSC_CTL_MODE_RGB_TO_SD_YPRPB 0
+ # define VC4_HD_CSC_CTL_MODE_RGB_TO_HD_YPRPB 1
+-# define VC4_HD_CSC_CTL_MODE_CUSTOM 2
++# define VC4_HD_CSC_CTL_MODE_CUSTOM 3
+ # define VC4_HD_CSC_CTL_RGB2YCC BIT(1)
+ # define VC4_HD_CSC_CTL_ENABLE BIT(0)
+
++#define VC4_HD_CSC_12_11 0x044
++#define VC4_HD_CSC_14_13 0x048
++#define VC4_HD_CSC_22_21 0x04c
++#define VC4_HD_CSC_24_23 0x050
++#define VC4_HD_CSC_32_31 0x054
++#define VC4_HD_CSC_34_33 0x058
++
+ #define VC4_HD_FRAME_COUNT 0x068
+
+ /* HVS display list information. */
diff --git a/target/linux/brcm2708/patches-4.4/0511-Add-Adafruit-pitft35-touchscreen-support-1657.patch b/target/linux/brcm2708/patches-4.4/0511-Add-Adafruit-pitft35-touchscreen-support-1657.patch
new file mode 100644
index 0000000000..a5d8c0ce92
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0511-Add-Adafruit-pitft35-touchscreen-support-1657.patch
@@ -0,0 +1,196 @@
+From 877d2ad66da4c7aba2db0ecb394a07a19ac2e374 Mon Sep 17 00:00:00 2001
+From: Scott Ellis <scott@jumpnowtek.com>
+Date: Tue, 27 Sep 2016 04:29:00 -0400
+Subject: [PATCH] Add Adafruit pitft35 touchscreen support (#1657)
+
+The dts comes from the Adafruit repository
+
+ https://github.com/adafruit/Adafruit-Pi-Kernel-o-Matic/blob/pitft/pitft35r-overlay.dts
+
+Reformatted slightly to match conventions in the pitft28-resistive-overlay.
+
+Signed-off-by: Scott Ellis <scott@jumpnowtek.com>
+---
+ arch/arm/boot/dts/overlays/Makefile | 1 +
+ arch/arm/boot/dts/overlays/README | 12 ++
+ .../dts/overlays/pitft35-resistive-overlay.dts | 121 +++++++++++++++++++++
+ arch/arm/configs/bcm2709_defconfig | 1 +
+ arch/arm/configs/bcmrpi_defconfig | 1 +
+ 5 files changed, 136 insertions(+)
+ create mode 100644 arch/arm/boot/dts/overlays/pitft35-resistive-overlay.dts
+
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -65,6 +65,7 @@ dtbo-$(RPI_DT_OVERLAYS) += piscreen2r.dt
+ dtbo-$(RPI_DT_OVERLAYS) += pitft22.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += pitft28-capacitive.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += pitft28-resistive.dtbo
++dtbo-$(RPI_DT_OVERLAYS) += pitft35-resistive.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += pps-gpio.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += pwm.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += pwm-2chan.dtbo
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -854,6 +854,18 @@ Params: speed Display
+ debug Debug output level {0-7}
+
+
++Name: pitft35-resistive
++Info: Adafruit PiTFT 3.5" resistive touch screen
++Load: dtoverlay=pitft35-resistive,<param>=<val>
++Params: speed Display SPI bus speed
++
++ rotate Display rotation {0,90,180,270}
++
++ fps Delay between frame updates
++
++ debug Debug output level {0-7}
++
++
+ Name: pps-gpio
+ Info: Configures the pps-gpio (pulse-per-second time signal via GPIO).
+ Load: dtoverlay=pps-gpio,<param>=<val>
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/pitft35-resistive-overlay.dts
+@@ -0,0 +1,121 @@
++/*
++ * Device Tree overlay for Adafruit PiTFT 3.5" resistive touch screen
++ *
++ */
++
++/dts-v1/;
++/plugin/;
++
++/ {
++ compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709";
++
++ fragment@0 {
++ target = <&spi0>;
++ __overlay__ {
++ status = "okay";
++ };
++ };
++
++ fragment@1 {
++ target = <&spidev0>;
++ __overlay__ {
++ status = "disabled";
++ };
++ };
++
++ fragment@2 {
++ target = <&spidev1>;
++ __overlay__ {
++ status = "disabled";
++ };
++ };
++
++ fragment@3 {
++ target = <&gpio>;
++ __overlay__ {
++ pitft_pins: pitft_pins {
++ brcm,pins = <24 25>;
++ brcm,function = <0 1>; /* in out */
++ brcm,pull = <2 0>; /* pullup none */
++ };
++ };
++ };
++
++ fragment@4 {
++ target = <&spi0>;
++ __overlay__ {
++ /* needed to avoid dtc warning */
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ pitft: pitft@0{
++ compatible = "himax,hx8357d";
++ reg = <0>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pitft_pins>;
++
++ spi-max-frequency = <32000000>;
++ rotate = <90>;
++ fps = <25>;
++ bgr;
++ buswidth = <8>;
++ dc-gpios = <&gpio 25 0>;
++ debug = <0>;
++ };
++
++ pitft_ts@1 {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ compatible = "st,stmpe610";
++ reg = <1>;
++
++ spi-max-frequency = <500000>;
++ irq-gpio = <&gpio 24 0x2>; /* IRQF_TRIGGER_FALLING */
++ interrupts = <24 2>; /* high-to-low edge triggered */
++ interrupt-parent = <&gpio>;
++ interrupt-controller;
++
++ stmpe_touchscreen {
++ compatible = "st,stmpe-ts";
++ st,sample-time = <4>;
++ st,mod-12b = <1>;
++ st,ref-sel = <0>;
++ st,adc-freq = <2>;
++ st,ave-ctrl = <3>;
++ st,touch-det-delay = <4>;
++ st,settling = <2>;
++ st,fraction-z = <7>;
++ st,i-drive = <0>;
++ };
++
++ stmpe_gpio: stmpe_gpio {
++ #gpio-cells = <2>;
++ compatible = "st,stmpe-gpio";
++ /*
++ * only GPIO2 is wired/available
++ * and it is wired to the backlight
++ */
++ st,norequest-mask = <0x7b>;
++ };
++ };
++ };
++ };
++
++ fragment@5 {
++ target-path = "/soc";
++ __overlay__ {
++ backlight {
++ compatible = "gpio-backlight";
++ gpios = <&stmpe_gpio 2 0>;
++ default-on;
++ };
++ };
++ };
++
++ __overrides__ {
++ speed = <&pitft>,"spi-max-frequency:0";
++ rotate = <&pitft>,"rotate:0";
++ fps = <&pitft>,"fps:0";
++ debug = <&pitft>,"debug:0";
++ };
++};
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -1116,6 +1116,7 @@ CONFIG_FB_TFT_BD663474=m
+ CONFIG_FB_TFT_HX8340BN=m
+ CONFIG_FB_TFT_HX8347D=m
+ CONFIG_FB_TFT_HX8353D=m
++CONFIG_FB_TFT_HX8357D=m
+ CONFIG_FB_TFT_ILI9163=m
+ CONFIG_FB_TFT_ILI9320=m
+ CONFIG_FB_TFT_ILI9325=m
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -1123,6 +1123,7 @@ CONFIG_FB_TFT_BD663474=m
+ CONFIG_FB_TFT_HX8340BN=m
+ CONFIG_FB_TFT_HX8347D=m
+ CONFIG_FB_TFT_HX8353D=m
++CONFIG_FB_TFT_HX8357D=m
+ CONFIG_FB_TFT_ILI9163=m
+ CONFIG_FB_TFT_ILI9320=m
+ CONFIG_FB_TFT_ILI9325=m
diff --git a/target/linux/brcm2708/patches-4.4/0512-drm-vc4-Fix-races-when-the-CS-reads-from-render-targ.patch b/target/linux/brcm2708/patches-4.4/0512-drm-vc4-Fix-races-when-the-CS-reads-from-render-targ.patch
new file mode 100644
index 0000000000..86594ecf91
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0512-drm-vc4-Fix-races-when-the-CS-reads-from-render-targ.patch
@@ -0,0 +1,220 @@
+From 057da8ee92db7c8caece571aa20f478f5cae1318 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Tue, 27 Sep 2016 09:03:13 -0700
+Subject: [PATCH] drm/vc4: Fix races when the CS reads from render targets.
+
+With the introduction of bin/render pipelining, the previous job may
+not be completed when we start binning the next one. If the previous
+job wrote our VBO, IB, or CS textures, then the binning stage might
+get stale or uninitialized results.
+
+Fixes the major rendering failure in glmark2 -b terrain.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+Fixes: ca26d28bbaa3 ("drm/vc4: improve throughput by pipelining binning and rendering jobs")
+Cc: stable@vger.kernel.org
+---
+ drivers/gpu/drm/vc4/vc4_drv.h | 19 ++++++++++++++++++-
+ drivers/gpu/drm/vc4/vc4_gem.c | 13 +++++++++++++
+ drivers/gpu/drm/vc4/vc4_render_cl.c | 21 +++++++++++++++++----
+ drivers/gpu/drm/vc4/vc4_validate.c | 17 ++++++++++++++---
+ 4 files changed, 62 insertions(+), 8 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_drv.h
++++ b/drivers/gpu/drm/vc4/vc4_drv.h
+@@ -129,9 +129,16 @@ to_vc4_dev(struct drm_device *dev)
+ struct vc4_bo {
+ struct drm_gem_cma_object base;
+
+- /* seqno of the last job to render to this BO. */
++ /* seqno of the last job to render using this BO. */
+ uint64_t seqno;
+
++ /* seqno of the last job to use the RCL to write to this BO.
++ *
++ * Note that this doesn't include binner overflow memory
++ * writes.
++ */
++ uint64_t write_seqno;
++
+ /* List entry for the BO's position in either
+ * vc4_exec_info->unref_list or vc4_dev->bo_cache.time_list
+ */
+@@ -227,6 +234,9 @@ struct vc4_exec_info {
+ /* Sequence number for this bin/render job. */
+ uint64_t seqno;
+
++ /* Latest write_seqno of any BO that binning depends on. */
++ uint64_t bin_dep_seqno;
++
+ /* Last current addresses the hardware was processing when the
+ * hangcheck timer checked on us.
+ */
+@@ -241,6 +251,13 @@ struct vc4_exec_info {
+ struct drm_gem_cma_object **bo;
+ uint32_t bo_count;
+
++ /* List of BOs that are being written by the RCL. Other than
++ * the binner temporary storage, this is all the BOs written
++ * by the job.
++ */
++ struct drm_gem_cma_object *rcl_write_bo[4];
++ uint32_t rcl_write_bo_count;
++
+ /* Pointers for our position in vc4->job_list */
+ struct list_head head;
+
+--- a/drivers/gpu/drm/vc4/vc4_gem.c
++++ b/drivers/gpu/drm/vc4/vc4_gem.c
+@@ -483,6 +483,11 @@ vc4_update_bo_seqnos(struct vc4_exec_inf
+ list_for_each_entry(bo, &exec->unref_list, unref_head) {
+ bo->seqno = seqno;
+ }
++
++ for (i = 0; i < exec->rcl_write_bo_count; i++) {
++ bo = to_vc4_bo(&exec->rcl_write_bo[i]->base);
++ bo->write_seqno = seqno;
++ }
+ }
+
+ /* Queues a struct vc4_exec_info for execution. If no job is
+@@ -685,6 +690,14 @@ vc4_get_bcl(struct drm_device *dev, stru
+ goto fail;
+
+ ret = vc4_validate_shader_recs(dev, exec);
++ if (ret)
++ goto fail;
++
++ /* Block waiting on any previous rendering into the CS's VBO,
++ * IB, or textures, so that pixels are actually written by the
++ * time we try to read them.
++ */
++ ret = vc4_wait_for_seqno(dev, exec->bin_dep_seqno, ~0ull, true);
+
+ fail:
+ kfree(temp);
+--- a/drivers/gpu/drm/vc4/vc4_render_cl.c
++++ b/drivers/gpu/drm/vc4/vc4_render_cl.c
+@@ -45,6 +45,8 @@ struct vc4_rcl_setup {
+
+ struct drm_gem_cma_object *rcl;
+ u32 next_offset;
++
++ u32 next_write_bo_index;
+ };
+
+ static inline void rcl_u8(struct vc4_rcl_setup *setup, u8 val)
+@@ -407,6 +409,8 @@ static int vc4_rcl_msaa_surface_setup(st
+ if (!*obj)
+ return -EINVAL;
+
++ exec->rcl_write_bo[exec->rcl_write_bo_count++] = *obj;
++
+ if (surf->offset & 0xf) {
+ DRM_ERROR("MSAA write must be 16b aligned.\n");
+ return -EINVAL;
+@@ -417,7 +421,8 @@ static int vc4_rcl_msaa_surface_setup(st
+
+ static int vc4_rcl_surface_setup(struct vc4_exec_info *exec,
+ struct drm_gem_cma_object **obj,
+- struct drm_vc4_submit_rcl_surface *surf)
++ struct drm_vc4_submit_rcl_surface *surf,
++ bool is_write)
+ {
+ uint8_t tiling = VC4_GET_FIELD(surf->bits,
+ VC4_LOADSTORE_TILE_BUFFER_TILING);
+@@ -440,6 +445,9 @@ static int vc4_rcl_surface_setup(struct
+ if (!*obj)
+ return -EINVAL;
+
++ if (is_write)
++ exec->rcl_write_bo[exec->rcl_write_bo_count++] = *obj;
++
+ if (surf->flags & VC4_SUBMIT_RCL_SURFACE_READ_IS_FULL_RES) {
+ if (surf == &exec->args->zs_write) {
+ DRM_ERROR("general zs write may not be a full-res.\n");
+@@ -542,6 +550,8 @@ vc4_rcl_render_config_surface_setup(stru
+ if (!*obj)
+ return -EINVAL;
+
++ exec->rcl_write_bo[exec->rcl_write_bo_count++] = *obj;
++
+ if (tiling > VC4_TILING_FORMAT_LT) {
+ DRM_ERROR("Bad tiling format\n");
+ return -EINVAL;
+@@ -599,15 +609,18 @@ int vc4_get_rcl(struct drm_device *dev,
+ if (ret)
+ return ret;
+
+- ret = vc4_rcl_surface_setup(exec, &setup.color_read, &args->color_read);
++ ret = vc4_rcl_surface_setup(exec, &setup.color_read, &args->color_read,
++ false);
+ if (ret)
+ return ret;
+
+- ret = vc4_rcl_surface_setup(exec, &setup.zs_read, &args->zs_read);
++ ret = vc4_rcl_surface_setup(exec, &setup.zs_read, &args->zs_read,
++ false);
+ if (ret)
+ return ret;
+
+- ret = vc4_rcl_surface_setup(exec, &setup.zs_write, &args->zs_write);
++ ret = vc4_rcl_surface_setup(exec, &setup.zs_write, &args->zs_write,
++ true);
+ if (ret)
+ return ret;
+
+--- a/drivers/gpu/drm/vc4/vc4_validate.c
++++ b/drivers/gpu/drm/vc4/vc4_validate.c
+@@ -267,6 +267,9 @@ validate_indexed_prim_list(VALIDATE_ARGS
+ if (!ib)
+ return -EINVAL;
+
++ exec->bin_dep_seqno = max(exec->bin_dep_seqno,
++ to_vc4_bo(&ib->base)->write_seqno);
++
+ if (offset > ib->base.size ||
+ (ib->base.size - offset) / index_size < length) {
+ DRM_ERROR("IB access overflow (%d + %d*%d > %zd)\n",
+@@ -555,8 +558,7 @@ static bool
+ reloc_tex(struct vc4_exec_info *exec,
+ void *uniform_data_u,
+ struct vc4_texture_sample_info *sample,
+- uint32_t texture_handle_index)
+-
++ uint32_t texture_handle_index, bool is_cs)
+ {
+ struct drm_gem_cma_object *tex;
+ uint32_t p0 = *(uint32_t *)(uniform_data_u + sample->p_offset[0]);
+@@ -714,6 +716,11 @@ reloc_tex(struct vc4_exec_info *exec,
+
+ *validated_p0 = tex->paddr + p0;
+
++ if (is_cs) {
++ exec->bin_dep_seqno = max(exec->bin_dep_seqno,
++ to_vc4_bo(&tex->base)->write_seqno);
++ }
++
+ return true;
+ fail:
+ DRM_INFO("Texture p0 at %d: 0x%08x\n", sample->p_offset[0], p0);
+@@ -835,7 +842,8 @@ validate_gl_shader_rec(struct drm_device
+ if (!reloc_tex(exec,
+ uniform_data_u,
+ &validated_shader->texture_samples[tex],
+- texture_handles_u[tex])) {
++ texture_handles_u[tex],
++ i == 2)) {
+ return -EINVAL;
+ }
+ }
+@@ -867,6 +875,9 @@ validate_gl_shader_rec(struct drm_device
+ uint32_t stride = *(uint8_t *)(pkt_u + o + 5);
+ uint32_t max_index;
+
++ exec->bin_dep_seqno = max(exec->bin_dep_seqno,
++ to_vc4_bo(&vbo->base)->write_seqno);
++
+ if (state->addr & 0x8)
+ stride |= (*(uint32_t *)(pkt_u + 100 + i * 4)) & ~0xff;
+
diff --git a/target/linux/brcm2708/patches-4.4/0513-drm-vc4-Fix-up-the-limited-range-RGB-output-commit.patch b/target/linux/brcm2708/patches-4.4/0513-drm-vc4-Fix-up-the-limited-range-RGB-output-commit.patch
new file mode 100644
index 0000000000..09781b1ecd
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0513-drm-vc4-Fix-up-the-limited-range-RGB-output-commit.patch
@@ -0,0 +1,29 @@
+From b66013edab6e2149beb55eb1021926fd7ea26da7 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Thu, 15 Sep 2016 17:52:17 +0100
+Subject: [PATCH] drm/vc4: Fix up the limited range RGB output commit.
+
+CEA mode #1 is the only one that doesn't do limited range, thus the
+strange pattern in other drivers.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ drivers/gpu/drm/vc4/vc4_hdmi.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
+@@ -343,8 +343,11 @@ static void vc4_hdmi_encoder_mode_set(st
+ csc_ctl = VC4_SET_FIELD(VC4_HD_CSC_CTL_ORDER_BGR,
+ VC4_HD_CSC_CTL_ORDER);
+
+- if (vc4_encoder->hdmi_monitor && drm_match_cea_mode(mode) != 0) {
+- /* Enable limited range RGB output. This matrix is:
++ if (vc4_encoder->hdmi_monitor && drm_match_cea_mode(mode) > 1) {
++ /* CEA VICs other than #1 requre limited range RGB
++ * output. Apply a colorspace conversion to squash
++ * 0-255 down to 16-235. The matrix here is:
++ *
+ * [ 0 0 0.8594 16]
+ * [ 0 0.8594 0 16]
+ * [ 0.8594 0 0 16]
diff --git a/target/linux/brcm2708/patches-4.4/0514-drm-vc4-Increase-timeout-for-HDMI_SCHEDULER_CONTROL-.patch b/target/linux/brcm2708/patches-4.4/0514-drm-vc4-Increase-timeout-for-HDMI_SCHEDULER_CONTROL-.patch
new file mode 100644
index 0000000000..a54c9b7081
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0514-drm-vc4-Increase-timeout-for-HDMI_SCHEDULER_CONTROL-.patch
@@ -0,0 +1,34 @@
+From 4fe0280a07dea7997dd8a789c704f69b5620cdd2 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Wed, 28 Sep 2016 17:21:05 -0700
+Subject: [PATCH] drm/vc4: Increase timeout for HDMI_SCHEDULER_CONTROL changes.
+
+Fixes occasional debug spew at boot when connected directly through
+HDMI, and probably confusing the HDMI state machine when we go trying
+to poke registers for the enable sequence too soon.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ drivers/gpu/drm/vc4/vc4_hdmi.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
+@@ -408,7 +408,7 @@ static void vc4_hdmi_encoder_enable(stru
+ VC4_HDMI_SCHEDULER_CONTROL_MODE_HDMI);
+
+ ret = wait_for(HDMI_READ(VC4_HDMI_SCHEDULER_CONTROL) &
+- VC4_HDMI_SCHEDULER_CONTROL_HDMI_ACTIVE, 1);
++ VC4_HDMI_SCHEDULER_CONTROL_HDMI_ACTIVE, 1000);
+ WARN_ONCE(ret, "Timeout waiting for "
+ "VC4_HDMI_SCHEDULER_CONTROL_HDMI_ACTIVE\n");
+ } else {
+@@ -420,7 +420,7 @@ static void vc4_hdmi_encoder_enable(stru
+ ~VC4_HDMI_SCHEDULER_CONTROL_MODE_HDMI);
+
+ ret = wait_for(!(HDMI_READ(VC4_HDMI_SCHEDULER_CONTROL) &
+- VC4_HDMI_SCHEDULER_CONTROL_HDMI_ACTIVE), 1);
++ VC4_HDMI_SCHEDULER_CONTROL_HDMI_ACTIVE), 1000);
+ WARN_ONCE(ret, "Timeout waiting for "
+ "!VC4_HDMI_SCHEDULER_CONTROL_HDMI_ACTIVE\n");
+ }
diff --git a/target/linux/brcm2708/patches-4.4/0515-drm-vc4-Disallow-interlaced-modes-on-DPI.patch b/target/linux/brcm2708/patches-4.4/0515-drm-vc4-Disallow-interlaced-modes-on-DPI.patch
new file mode 100644
index 0000000000..45ae37fee5
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0515-drm-vc4-Disallow-interlaced-modes-on-DPI.patch
@@ -0,0 +1,37 @@
+From 069acde1ae77a0807062df0b009a51809cb3aa2a Mon Sep 17 00:00:00 2001
+From: Mario Kleiner <mario.kleiner.de@gmail.com>
+Date: Tue, 19 Jul 2016 20:58:57 +0200
+Subject: [PATCH] drm/vc4: Disallow interlaced modes on DPI.
+
+We already don't expose such modes to userspace, but make
+sure userspace can't sneak some interlaced mode in.
+
+Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ drivers/gpu/drm/vc4/vc4_dpi.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+--- a/drivers/gpu/drm/vc4/vc4_dpi.c
++++ b/drivers/gpu/drm/vc4/vc4_dpi.c
+@@ -349,9 +349,20 @@ static void vc4_dpi_encoder_enable(struc
+ }
+ }
+
++static bool vc4_dpi_encoder_mode_fixup(struct drm_encoder *encoder,
++ const struct drm_display_mode *mode,
++ struct drm_display_mode *adjusted_mode)
++{
++ if (adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE)
++ return false;
++
++ return true;
++}
++
+ static const struct drm_encoder_helper_funcs vc4_dpi_encoder_helper_funcs = {
+ .disable = vc4_dpi_encoder_disable,
+ .enable = vc4_dpi_encoder_enable,
++ .mode_fixup = vc4_dpi_encoder_mode_fixup,
+ };
+
+ static const struct of_device_id vc4_dpi_dt_match[] = {
diff --git a/target/linux/brcm2708/patches-4.4/0516-drm-vc4-Fix-handling-of-interlaced-video-modes.patch b/target/linux/brcm2708/patches-4.4/0516-drm-vc4-Fix-handling-of-interlaced-video-modes.patch
new file mode 100644
index 0000000000..ec9dc1df33
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0516-drm-vc4-Fix-handling-of-interlaced-video-modes.patch
@@ -0,0 +1,104 @@
+From fa69b17facd1a2fd3e430b78f65b60b4a087b53d Mon Sep 17 00:00:00 2001
+From: Mario Kleiner <mario.kleiner.de@gmail.com>
+Date: Tue, 19 Jul 2016 20:58:58 +0200
+Subject: [PATCH] drm/vc4: Fix handling of interlaced video modes.
+
+We must not apply CRTC_INTERLACE_HALVE_V to interlaced modes during
+mode enumeration, as drm_helper_probe_single_connector_modes
+does, so wrap it and reset the effect of CRTC_INTERLACE_HALVE_V
+on affected interlaced modes.
+
+Also mode_fixup interlaced modes passed in from user space.
+
+This fixes the vblank timestamping constants and entries in
+the mode->crtc_xxx fields needed for precise vblank timestamping.
+
+Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ drivers/gpu/drm/vc4/vc4_crtc.c | 18 ++++++++++++++++++
+ drivers/gpu/drm/vc4/vc4_hdmi.c | 29 +++++++++++++++++++++++++++--
+ 2 files changed, 45 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_crtc.c
++++ b/drivers/gpu/drm/vc4/vc4_crtc.c
+@@ -538,6 +538,23 @@ static void vc4_crtc_enable(struct drm_c
+ CRTC_READ(PV_V_CONTROL) | PV_VCONTROL_VIDEN);
+ }
+
++static bool vc4_crtc_mode_fixup(struct drm_crtc *crtc,
++ const struct drm_display_mode *mode,
++ struct drm_display_mode *adjusted_mode)
++{
++ /*
++ * Interlaced video modes got CRTC_INTERLACE_HALVE_V applied when
++ * coming from user space. We don't want this, as it screws up
++ * vblank timestamping, so fix it up.
++ */
++ drm_mode_set_crtcinfo(adjusted_mode, 0);
++
++ DRM_DEBUG_KMS("[CRTC:%d] adjusted_mode :\n", crtc->base.id);
++ drm_mode_debug_printmodeline(adjusted_mode);
++
++ return true;
++}
++
+ static int vc4_crtc_atomic_check(struct drm_crtc *crtc,
+ struct drm_crtc_state *state)
+ {
+@@ -848,6 +865,7 @@ static const struct drm_crtc_helper_func
+ .mode_set_nofb = vc4_crtc_mode_set_nofb,
+ .disable = vc4_crtc_disable,
+ .enable = vc4_crtc_enable,
++ .mode_fixup = vc4_crtc_mode_fixup,
+ .atomic_check = vc4_crtc_atomic_check,
+ .atomic_flush = vc4_crtc_atomic_flush,
+ };
+--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
+@@ -219,10 +219,35 @@ vc4_hdmi_connector_best_encoder(struct d
+ return hdmi_connector->encoder;
+ }
+
++/*
++ * drm_helper_probe_single_connector_modes() applies drm_mode_set_crtcinfo to
++ * all modes with flag CRTC_INTERLACE_HALVE_V. We don't want this, as it
++ * screws up vblank timestamping for interlaced modes, so fix it up.
++ */
++static int vc4_hdmi_connector_probe_modes(struct drm_connector *connector,
++ uint32_t maxX, uint32_t maxY)
++{
++ struct drm_display_mode *mode;
++ int count;
++
++ count = drm_helper_probe_single_connector_modes(connector, maxX, maxY);
++ if (count == 0)
++ return 0;
++
++ DRM_DEBUG_KMS("[CONNECTOR:%d:%s] probed adapted modes :\n",
++ connector->base.id, connector->name);
++ list_for_each_entry(mode, &connector->modes, head) {
++ drm_mode_set_crtcinfo(mode, 0);
++ drm_mode_debug_printmodeline(mode);
++ }
++
++ return count;
++}
++
+ static const struct drm_connector_funcs vc4_hdmi_connector_funcs = {
+ .dpms = drm_atomic_helper_connector_dpms,
+ .detect = vc4_hdmi_connector_detect,
+- .fill_modes = drm_helper_probe_single_connector_modes,
++ .fill_modes = vc4_hdmi_connector_probe_modes,
+ .destroy = vc4_hdmi_connector_destroy,
+ .reset = drm_atomic_helper_connector_reset,
+ .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
+@@ -258,7 +283,7 @@ static struct drm_connector *vc4_hdmi_co
+ connector->polled = (DRM_CONNECTOR_POLL_CONNECT |
+ DRM_CONNECTOR_POLL_DISCONNECT);
+
+- connector->interlace_allowed = 0;
++ connector->interlace_allowed = 1;
+ connector->doublescan_allowed = 0;
+
+ drm_mode_connector_attach_encoder(connector, encoder);
diff --git a/target/linux/brcm2708/patches-4.4/0517-drm-vc4-Reject-doublescan-modes.patch b/target/linux/brcm2708/patches-4.4/0517-drm-vc4-Reject-doublescan-modes.patch
new file mode 100644
index 0000000000..79d0d39780
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0517-drm-vc4-Reject-doublescan-modes.patch
@@ -0,0 +1,30 @@
+From 30f69de2c6e1dedc4d071a24a0690e81118421d9 Mon Sep 17 00:00:00 2001
+From: Mario Kleiner <mario.kleiner.de@gmail.com>
+Date: Tue, 19 Jul 2016 20:58:59 +0200
+Subject: [PATCH] drm/vc4: Reject doublescan modes.
+
+We can't handle doublescan modes at the moment, so if
+userspace tries to set one, reject the mode set.
+
+Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ drivers/gpu/drm/vc4/vc4_crtc.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/drivers/gpu/drm/vc4/vc4_crtc.c
++++ b/drivers/gpu/drm/vc4/vc4_crtc.c
+@@ -542,6 +542,13 @@ static bool vc4_crtc_mode_fixup(struct d
+ const struct drm_display_mode *mode,
+ struct drm_display_mode *adjusted_mode)
+ {
++ /* Do not allow doublescan modes from user space */
++ if (adjusted_mode->flags & DRM_MODE_FLAG_DBLSCAN) {
++ DRM_DEBUG_KMS("[CRTC:%d] Doublescan mode rejected.\n",
++ crtc->base.id);
++ return false;
++ }
++
+ /*
+ * Interlaced video modes got CRTC_INTERLACE_HALVE_V applied when
+ * coming from user space. We don't want this, as it screws up
diff --git a/target/linux/brcm2708/patches-4.4/0518-drm-vc4-Enable-precise-vblank-timestamping-for-inter.patch b/target/linux/brcm2708/patches-4.4/0518-drm-vc4-Enable-precise-vblank-timestamping-for-inter.patch
new file mode 100644
index 0000000000..85d57bab8c
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0518-drm-vc4-Enable-precise-vblank-timestamping-for-inter.patch
@@ -0,0 +1,61 @@
+From f2494f314f8c71e41ddd6798315685ecb6fc7814 Mon Sep 17 00:00:00 2001
+From: Mario Kleiner <mario.kleiner.de@gmail.com>
+Date: Tue, 19 Jul 2016 20:59:00 +0200
+Subject: [PATCH] drm/vc4: Enable precise vblank timestamping for interlaced
+ modes.
+
+On top of the interlaced video mode fix and with some additional
+adjustments, this now works well. It has almost the same accuracy
+as on regular progressive scan modes.
+
+Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ drivers/gpu/drm/vc4/vc4_crtc.c | 21 ++++++++-------------
+ 1 file changed, 8 insertions(+), 13 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_crtc.c
++++ b/drivers/gpu/drm/vc4/vc4_crtc.c
+@@ -154,14 +154,6 @@ int vc4_crtc_get_scanoutpos(struct drm_d
+ if (vc4->firmware_kms)
+ return 0;
+
+- /*
+- * XXX Doesn't work well in interlaced mode yet, partially due
+- * to problems in vc4 kms or drm core interlaced mode handling,
+- * so disable for now in interlaced mode.
+- */
+- if (mode->flags & DRM_MODE_FLAG_INTERLACE)
+- return ret;
+-
+ /* preempt_disable_rt() should go right here in PREEMPT_RT patchset. */
+
+ /* Get optional system timestamp before query. */
+@@ -182,10 +174,15 @@ int vc4_crtc_get_scanoutpos(struct drm_d
+
+ /* Vertical position of hvs composed scanline. */
+ *vpos = VC4_GET_FIELD(val, SCALER_DISPSTATX_LINE);
++ *hpos = 0;
++
++ if (mode->flags & DRM_MODE_FLAG_INTERLACE) {
++ *vpos /= 2;
+
+- /* No hpos info available. */
+- if (hpos)
+- *hpos = 0;
++ /* Use hpos to correct for field offset in interlaced mode. */
++ if (VC4_GET_FIELD(val, SCALER_DISPSTATX_FRAME_COUNT) % 2)
++ *hpos += mode->crtc_htotal / 2;
++ }
+
+ /* This is the offset we need for translating hvs -> pv scanout pos. */
+ fifo_lines = vc4_crtc->cob_size / mode->crtc_hdisplay;
+@@ -208,8 +205,6 @@ int vc4_crtc_get_scanoutpos(struct drm_d
+ * position of the PV.
+ */
+ *vpos -= fifo_lines + 1;
+- if (mode->flags & DRM_MODE_FLAG_INTERLACE)
+- *vpos /= 2;
+
+ ret |= DRM_SCANOUTPOS_ACCURATE;
+ return ret;
diff --git a/target/linux/brcm2708/patches-4.4/0519-drm-vc4-Enable-Disable-vblanks-properly-in-crtc-en-d.patch b/target/linux/brcm2708/patches-4.4/0519-drm-vc4-Enable-Disable-vblanks-properly-in-crtc-en-d.patch
new file mode 100644
index 0000000000..4039a369fa
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0519-drm-vc4-Enable-Disable-vblanks-properly-in-crtc-en-d.patch
@@ -0,0 +1,38 @@
+From c4bd9665b145cacfdf9cbd5f3d83ed0961080236 Mon Sep 17 00:00:00 2001
+From: Mario Kleiner <mario.kleiner.de@gmail.com>
+Date: Tue, 19 Jul 2016 20:59:01 +0200
+Subject: [PATCH] drm/vc4: Enable/Disable vblanks properly in crtc en/disable.
+
+Add missing drm_crtc_vblank_on/off() calls so vblank irq
+handling/updating/timestamping never runs with a crtc shut down
+or during its shutdown/startup, as that causes large jumps in
+vblank count and trouble for compositors.
+
+Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ drivers/gpu/drm/vc4/vc4_crtc.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/drivers/gpu/drm/vc4/vc4_crtc.c
++++ b/drivers/gpu/drm/vc4/vc4_crtc.c
+@@ -468,6 +468,9 @@ static void vc4_crtc_disable(struct drm_
+ int ret;
+ require_hvs_enabled(dev);
+
++ /* Disable vblank irq handling before crtc is disabled. */
++ drm_crtc_vblank_off(crtc);
++
+ if (VC4_DSI_USE_FIRMWARE_SETUP &&
+ (CRTC_READ(PV_V_CONTROL) & PV_VCONTROL_DSI)) {
+ /* Skip disabling the PV/HVS for the channel if it was
+@@ -531,6 +534,9 @@ static void vc4_crtc_enable(struct drm_c
+ /* Turn on the pixel valve, which will emit the vstart signal. */
+ CRTC_WRITE(PV_V_CONTROL,
+ CRTC_READ(PV_V_CONTROL) | PV_VCONTROL_VIDEN);
++
++ /* Enable vblank irq handling after crtc is started. */
++ drm_crtc_vblank_on(crtc);
+ }
+
+ static bool vc4_crtc_mode_fixup(struct drm_crtc *crtc,
diff --git a/target/linux/brcm2708/patches-4.4/0520-drm-vc4-Fix-support-for-interlaced-modes-on-HDMI.patch b/target/linux/brcm2708/patches-4.4/0520-drm-vc4-Fix-support-for-interlaced-modes-on-HDMI.patch
new file mode 100644
index 0000000000..db177433e9
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0520-drm-vc4-Fix-support-for-interlaced-modes-on-HDMI.patch
@@ -0,0 +1,211 @@
+From 6e6624aeedaa97f1b81636e0be4a7478ccb22d69 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Wed, 28 Sep 2016 17:30:25 -0700
+Subject: [PATCH] drm/vc4: Fix support for interlaced modes on HDMI.
+
+We really do need to be using the halved V fields. I had been
+confused by the code I was using as a reference because it stored
+halved vsync fields but not halved vdisplay, so it looked like I only
+needed to divide vdisplay by 2.
+
+This reverts part of Mario's timestamping fixes that prevented
+CRTC_HALVE_V from applying, and instead adjusts the timestamping code
+to not use the crtc field in that case.
+
+Fixes locking of 1920x1080x60i on my Dell 2408WFP. There are black
+bars on the top and bottom, but I suspect that might be an
+under/overscan flags problem as opposed to video timings.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ drivers/gpu/drm/vc4/vc4_crtc.c | 54 +++++++++++++++++++++++-------------------
+ drivers/gpu/drm/vc4/vc4_hdmi.c | 45 ++++++++++-------------------------
+ drivers/gpu/drm/vc4/vc4_regs.h | 3 +++
+ 3 files changed, 44 insertions(+), 58 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_crtc.c
++++ b/drivers/gpu/drm/vc4/vc4_crtc.c
+@@ -220,7 +220,7 @@ int vc4_crtc_get_scanoutpos(struct drm_d
+ * and need to make things up in a approximative but consistent way.
+ */
+ ret |= DRM_SCANOUTPOS_IN_VBLANK;
+- vblank_lines = mode->crtc_vtotal - mode->crtc_vdisplay;
++ vblank_lines = mode->vtotal - mode->vdisplay;
+
+ if (flags & DRM_CALLED_FROM_VBLIRQ) {
+ /*
+@@ -368,7 +368,6 @@ static void vc4_crtc_mode_set_nofb(struc
+ struct drm_crtc_state *state = crtc->state;
+ struct drm_display_mode *mode = &state->adjusted_mode;
+ bool interlace = mode->flags & DRM_MODE_FLAG_INTERLACE;
+- u32 vactive = (mode->vdisplay >> (interlace ? 1 : 0));
+ bool is_dsi = (vc4_encoder->type == VC4_ENCODER_TYPE_DSI0 ||
+ vc4_encoder->type == VC4_ENCODER_TYPE_DSI1);
+ u32 format = is_dsi ? PV_CONTROL_FORMAT_DSIV_24 : PV_CONTROL_FORMAT_24;
+@@ -395,34 +394,49 @@ static void vc4_crtc_mode_set_nofb(struc
+ VC4_SET_FIELD(mode->hdisplay, PV_HORZB_HACTIVE));
+
+ CRTC_WRITE(PV_VERTA,
+- VC4_SET_FIELD(mode->vtotal - mode->vsync_end,
++ VC4_SET_FIELD(mode->crtc_vtotal - mode->crtc_vsync_end,
+ PV_VERTA_VBP) |
+- VC4_SET_FIELD(mode->vsync_end - mode->vsync_start,
++ VC4_SET_FIELD(mode->crtc_vsync_end - mode->crtc_vsync_start,
+ PV_VERTA_VSYNC));
+ CRTC_WRITE(PV_VERTB,
+- VC4_SET_FIELD(mode->vsync_start - mode->vdisplay,
++ VC4_SET_FIELD(mode->crtc_vsync_start - mode->crtc_vdisplay,
+ PV_VERTB_VFP) |
+- VC4_SET_FIELD(vactive, PV_VERTB_VACTIVE));
++ VC4_SET_FIELD(mode->crtc_vdisplay, PV_VERTB_VACTIVE));
+
+ if (interlace) {
+ CRTC_WRITE(PV_VERTA_EVEN,
+- VC4_SET_FIELD(mode->vtotal - mode->vsync_end - 1,
++ VC4_SET_FIELD(mode->crtc_vtotal -
++ mode->crtc_vsync_end - 1,
+ PV_VERTA_VBP) |
+- VC4_SET_FIELD(mode->vsync_end - mode->vsync_start,
++ VC4_SET_FIELD(mode->crtc_vsync_end -
++ mode->crtc_vsync_start,
+ PV_VERTA_VSYNC));
+ CRTC_WRITE(PV_VERTB_EVEN,
+- VC4_SET_FIELD(mode->vsync_start - mode->vdisplay,
++ VC4_SET_FIELD(mode->crtc_vsync_start -
++ mode->crtc_vdisplay,
+ PV_VERTB_VFP) |
+- VC4_SET_FIELD(vactive, PV_VERTB_VACTIVE));
++ VC4_SET_FIELD(mode->crtc_vdisplay, PV_VERTB_VACTIVE));
++
++ /* We set up first field even mode for HDMI. VEC's
++ * NTSC mode would want first field odd instead, once
++ * we support it (to do so, set ODD_FIRST and put the
++ * delay in VSYNCD_EVEN instead).
++ */
++ CRTC_WRITE(PV_V_CONTROL,
++ PV_VCONTROL_CONTINUOUS |
++ (is_dsi ? PV_VCONTROL_DSI : 0) |
++ PV_VCONTROL_INTERLACE |
++ VC4_SET_FIELD(mode->htotal / 2,
++ PV_VCONTROL_ODD_DELAY));
++ CRTC_WRITE(PV_VSYNCD_EVEN, 0);
++ } else {
++ CRTC_WRITE(PV_V_CONTROL,
++ PV_VCONTROL_CONTINUOUS |
++ (is_dsi ? PV_VCONTROL_DSI : 0));
+ }
+
+ CRTC_WRITE(PV_HACT_ACT, mode->hdisplay);
+
+- CRTC_WRITE(PV_V_CONTROL,
+- PV_VCONTROL_CONTINUOUS |
+- (is_dsi ? PV_VCONTROL_DSI : 0) |
+- (interlace ? PV_VCONTROL_INTERLACE : 0));
+-
+ CRTC_WRITE(PV_CONTROL,
+ VC4_SET_FIELD(format, PV_CONTROL_FORMAT) |
+ VC4_SET_FIELD(vc4_get_fifo_full_level(format),
+@@ -550,16 +564,6 @@ static bool vc4_crtc_mode_fixup(struct d
+ return false;
+ }
+
+- /*
+- * Interlaced video modes got CRTC_INTERLACE_HALVE_V applied when
+- * coming from user space. We don't want this, as it screws up
+- * vblank timestamping, so fix it up.
+- */
+- drm_mode_set_crtcinfo(adjusted_mode, 0);
+-
+- DRM_DEBUG_KMS("[CRTC:%d] adjusted_mode :\n", crtc->base.id);
+- drm_mode_debug_printmodeline(adjusted_mode);
+-
+ return true;
+ }
+
+--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
+@@ -219,35 +219,10 @@ vc4_hdmi_connector_best_encoder(struct d
+ return hdmi_connector->encoder;
+ }
+
+-/*
+- * drm_helper_probe_single_connector_modes() applies drm_mode_set_crtcinfo to
+- * all modes with flag CRTC_INTERLACE_HALVE_V. We don't want this, as it
+- * screws up vblank timestamping for interlaced modes, so fix it up.
+- */
+-static int vc4_hdmi_connector_probe_modes(struct drm_connector *connector,
+- uint32_t maxX, uint32_t maxY)
+-{
+- struct drm_display_mode *mode;
+- int count;
+-
+- count = drm_helper_probe_single_connector_modes(connector, maxX, maxY);
+- if (count == 0)
+- return 0;
+-
+- DRM_DEBUG_KMS("[CONNECTOR:%d:%s] probed adapted modes :\n",
+- connector->base.id, connector->name);
+- list_for_each_entry(mode, &connector->modes, head) {
+- drm_mode_set_crtcinfo(mode, 0);
+- drm_mode_debug_printmodeline(mode);
+- }
+-
+- return count;
+-}
+-
+ static const struct drm_connector_funcs vc4_hdmi_connector_funcs = {
+ .dpms = drm_atomic_helper_connector_dpms,
+ .detect = vc4_hdmi_connector_detect,
+- .fill_modes = vc4_hdmi_connector_probe_modes,
++ .fill_modes = drm_helper_probe_single_connector_modes,
+ .destroy = vc4_hdmi_connector_destroy,
+ .reset = drm_atomic_helper_connector_reset,
+ .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
+@@ -316,16 +291,20 @@ static void vc4_hdmi_encoder_mode_set(st
+ bool debug_dump_regs = false;
+ bool hsync_pos = mode->flags & DRM_MODE_FLAG_PHSYNC;
+ bool vsync_pos = mode->flags & DRM_MODE_FLAG_PVSYNC;
+- u32 vactive = (mode->vdisplay >>
+- ((mode->flags & DRM_MODE_FLAG_INTERLACE) ? 1 : 0));
+- u32 verta = (VC4_SET_FIELD(mode->vsync_end - mode->vsync_start,
++ bool interlaced = mode->flags & DRM_MODE_FLAG_INTERLACE;
++ u32 verta = (VC4_SET_FIELD(mode->crtc_vsync_end - mode->crtc_vsync_start,
+ VC4_HDMI_VERTA_VSP) |
+- VC4_SET_FIELD(mode->vsync_start - mode->vdisplay,
++ VC4_SET_FIELD(mode->crtc_vsync_start - mode->crtc_vdisplay,
+ VC4_HDMI_VERTA_VFP) |
+- VC4_SET_FIELD(vactive, VC4_HDMI_VERTA_VAL));
++ VC4_SET_FIELD(mode->crtc_vdisplay, VC4_HDMI_VERTA_VAL));
+ u32 vertb = (VC4_SET_FIELD(0, VC4_HDMI_VERTB_VSPO) |
+- VC4_SET_FIELD(mode->vtotal - mode->vsync_end,
++ VC4_SET_FIELD(mode->crtc_vtotal - mode->crtc_vsync_end,
+ VC4_HDMI_VERTB_VBP));
++ u32 vertb_even = (VC4_SET_FIELD(0, VC4_HDMI_VERTB_VSPO) |
++ VC4_SET_FIELD(mode->crtc_vtotal -
++ mode->crtc_vsync_end -
++ interlaced,
++ VC4_HDMI_VERTB_VBP));
+ u32 csc_ctl;
+
+ if (debug_dump_regs) {
+@@ -358,7 +337,7 @@ static void vc4_hdmi_encoder_mode_set(st
+ HDMI_WRITE(VC4_HDMI_VERTA0, verta);
+ HDMI_WRITE(VC4_HDMI_VERTA1, verta);
+
+- HDMI_WRITE(VC4_HDMI_VERTB0, vertb);
++ HDMI_WRITE(VC4_HDMI_VERTB0, vertb_even);
+ HDMI_WRITE(VC4_HDMI_VERTB1, vertb);
+
+ HD_WRITE(VC4_HD_VID_CTL,
+--- a/drivers/gpu/drm/vc4/vc4_regs.h
++++ b/drivers/gpu/drm/vc4/vc4_regs.h
+@@ -183,6 +183,9 @@
+ # define PV_CONTROL_EN BIT(0)
+
+ #define PV_V_CONTROL 0x04
++# define PV_VCONTROL_ODD_DELAY_MASK VC4_MASK(22, 6)
++# define PV_VCONTROL_ODD_DELAY_SHIFT 6
++# define PV_VCONTROL_ODD_FIRST BIT(5)
+ # define PV_VCONTROL_INTERLACE BIT(4)
+ # define PV_VCONTROL_DSI BIT(3)
+ # define PV_VCONTROL_COMMAND BIT(2)
diff --git a/target/linux/brcm2708/patches-4.4/0521-clk-bcm2835-Clamp-the-PLL-s-requested-rate-to-the-ha.patch b/target/linux/brcm2708/patches-4.4/0521-clk-bcm2835-Clamp-the-PLL-s-requested-rate-to-the-ha.patch
new file mode 100644
index 0000000000..7017152d7d
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0521-clk-bcm2835-Clamp-the-PLL-s-requested-rate-to-the-ha.patch
@@ -0,0 +1,43 @@
+From 4d372013a839ae71582004fbc1aa1905c73d1497 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Wed, 28 Sep 2016 17:58:52 -0700
+Subject: [PATCH] clk: bcm2835: Clamp the PLL's requested rate to the hardware
+ limits.
+
+Fixes setting low-resolution video modes on HDMI. Now the PLLH_PIX
+divider adjusts itself until the PLLH is within bounds.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ drivers/clk/bcm/clk-bcm2835.c | 11 ++++-------
+ 1 file changed, 4 insertions(+), 7 deletions(-)
+
+--- a/drivers/clk/bcm/clk-bcm2835.c
++++ b/drivers/clk/bcm/clk-bcm2835.c
+@@ -523,8 +523,12 @@ static long bcm2835_pll_rate_from_diviso
+ static long bcm2835_pll_round_rate(struct clk_hw *hw, unsigned long rate,
+ unsigned long *parent_rate)
+ {
++ struct bcm2835_pll *pll = container_of(hw, struct bcm2835_pll, hw);
++ const struct bcm2835_pll_data *data = pll->data;
+ u32 ndiv, fdiv;
+
++ rate = clamp(rate, data->min_rate, data->max_rate);
++
+ bcm2835_pll_choose_ndiv_and_fdiv(rate, *parent_rate, &ndiv, &fdiv);
+
+ return bcm2835_pll_rate_from_divisors(*parent_rate, ndiv, fdiv, 1);
+@@ -629,13 +633,6 @@ static int bcm2835_pll_set_rate(struct c
+ u32 ana[4];
+ int i;
+
+- if (rate < data->min_rate || rate > data->max_rate) {
+- dev_err(cprman->dev, "%s: rate out of spec: %lu vs (%lu, %lu)\n",
+- clk_hw_get_name(hw), rate,
+- data->min_rate, data->max_rate);
+- return -EINVAL;
+- }
+-
+ if (rate > data->max_fb_rate) {
+ use_fb_prediv = true;
+ rate /= 2;
diff --git a/target/linux/brcm2708/patches-4.4/0522-drm-vc4-Set-up-the-AVI-and-SPD-infoframes.patch b/target/linux/brcm2708/patches-4.4/0522-drm-vc4-Set-up-the-AVI-and-SPD-infoframes.patch
new file mode 100644
index 0000000000..0858b97096
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0522-drm-vc4-Set-up-the-AVI-and-SPD-infoframes.patch
@@ -0,0 +1,223 @@
+From 76359522fa9c449fb715d1933523c153cc1871f3 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Thu, 29 Sep 2016 10:34:21 -0700
+Subject: [PATCH] drm/vc4: Set up the AVI and SPD infoframes.
+
+Fixes a purple bar on the left side of the screen with my Dell
+2408WFP. It will also be required for supporting the double-clocked
+video modes.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ drivers/gpu/drm/vc4/vc4_hdmi.c | 136 +++++++++++++++++++++++++++++++++++++++--
+ drivers/gpu/drm/vc4/vc4_regs.h | 5 ++
+ 2 files changed, 136 insertions(+), 5 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
+@@ -62,6 +62,8 @@ struct vc4_hdmi {
+ struct vc4_hdmi_encoder {
+ struct vc4_encoder base;
+ bool hdmi_monitor;
++ bool limited_rgb_range;
++ bool rgb_range_selectable;
+ };
+
+ static inline struct vc4_hdmi_encoder *
+@@ -205,6 +207,12 @@ static int vc4_hdmi_connector_get_modes(
+ return -ENODEV;
+
+ vc4_encoder->hdmi_monitor = drm_detect_hdmi_monitor(edid);
++
++ if (edid && edid->input & DRM_EDID_INPUT_DIGITAL) {
++ vc4_encoder->rgb_range_selectable =
++ drm_rgb_quant_range_selectable(edid);
++ }
++
+ drm_mode_connector_update_edid_property(connector, edid);
+ ret = drm_add_edid_modes(connector, edid);
+
+@@ -281,6 +289,117 @@ static const struct drm_encoder_funcs vc
+ .destroy = vc4_hdmi_encoder_destroy,
+ };
+
++static int vc4_hdmi_stop_packet(struct drm_encoder *encoder,
++ enum hdmi_infoframe_type type)
++{
++ struct drm_device *dev = encoder->dev;
++ struct vc4_dev *vc4 = to_vc4_dev(dev);
++ u32 packet_id = type - 0x80;
++
++ HDMI_WRITE(VC4_HDMI_RAM_PACKET_CONFIG,
++ HDMI_READ(VC4_HDMI_RAM_PACKET_CONFIG) & ~BIT(packet_id));
++
++ return wait_for(!(HDMI_READ(VC4_HDMI_RAM_PACKET_STATUS) &
++ BIT(packet_id)), 100);
++}
++
++static void vc4_hdmi_write_infoframe(struct drm_encoder *encoder,
++ union hdmi_infoframe *frame)
++{
++ struct drm_device *dev = encoder->dev;
++ struct vc4_dev *vc4 = to_vc4_dev(dev);
++ u32 packet_id = frame->any.type - 0x80;
++ u32 packet_reg = VC4_HDMI_GCP_0 + VC4_HDMI_PACKET_STRIDE * packet_id;
++ uint8_t buffer[VC4_HDMI_PACKET_STRIDE];
++ ssize_t len, i;
++ int ret;
++
++ WARN_ONCE(!(HDMI_READ(VC4_HDMI_RAM_PACKET_CONFIG) &
++ VC4_HDMI_RAM_PACKET_ENABLE),
++ "Packet RAM has to be on to store the packet.");
++
++ len = hdmi_infoframe_pack(frame, buffer, sizeof(buffer));
++ if (len < 0)
++ return;
++
++ ret = vc4_hdmi_stop_packet(encoder, frame->any.type);
++ if (ret) {
++ DRM_ERROR("Failed to wait for infoframe to go idle: %d\n", ret);
++ return;
++ }
++
++ for (i = 0; i < len; i += 7) {
++ HDMI_WRITE(packet_reg,
++ buffer[i + 0] << 0 |
++ buffer[i + 1] << 8 |
++ buffer[i + 2] << 16);
++ packet_reg += 4;
++
++ HDMI_WRITE(packet_reg,
++ buffer[i + 3] << 0 |
++ buffer[i + 4] << 8 |
++ buffer[i + 5] << 16 |
++ buffer[i + 6] << 24);
++ packet_reg += 4;
++ }
++
++ HDMI_WRITE(VC4_HDMI_RAM_PACKET_CONFIG,
++ HDMI_READ(VC4_HDMI_RAM_PACKET_CONFIG) | BIT(packet_id));
++ ret = wait_for((HDMI_READ(VC4_HDMI_RAM_PACKET_STATUS) &
++ BIT(packet_id)), 100);
++ if (ret)
++ DRM_ERROR("Failed to wait for infoframe to start: %d\n", ret);
++}
++
++static void vc4_hdmi_set_avi_infoframe(struct drm_encoder *encoder)
++{
++ struct vc4_hdmi_encoder *vc4_encoder = to_vc4_hdmi_encoder(encoder);
++ struct drm_crtc *crtc = encoder->crtc;
++ const struct drm_display_mode *mode = &crtc->state->adjusted_mode;
++ union hdmi_infoframe frame;
++ int ret;
++
++ ret = drm_hdmi_avi_infoframe_from_display_mode(&frame.avi, mode);
++ if (ret < 0) {
++ DRM_ERROR("couldn't fill AVI infoframe\n");
++ return;
++ }
++
++ if (vc4_encoder->rgb_range_selectable) {
++ if (vc4_encoder->limited_rgb_range) {
++ frame.avi.quantization_range =
++ HDMI_QUANTIZATION_RANGE_LIMITED;
++ } else {
++ frame.avi.quantization_range =
++ HDMI_QUANTIZATION_RANGE_FULL;
++ }
++ }
++
++ vc4_hdmi_write_infoframe(encoder, &frame);
++}
++
++static void vc4_hdmi_set_spd_infoframe(struct drm_encoder *encoder)
++{
++ union hdmi_infoframe frame;
++ int ret;
++
++ ret = hdmi_spd_infoframe_init(&frame.spd, "Broadcom", "Videocore");
++ if (ret < 0) {
++ DRM_ERROR("couldn't fill SPD infoframe\n");
++ return;
++ }
++
++ frame.spd.sdi = HDMI_SPD_SDI_PC;
++
++ vc4_hdmi_write_infoframe(encoder, &frame);
++}
++
++static void vc4_hdmi_set_infoframes(struct drm_encoder *encoder)
++{
++ vc4_hdmi_set_avi_infoframe(encoder);
++ vc4_hdmi_set_spd_infoframe(encoder);
++}
++
+ static void vc4_hdmi_encoder_mode_set(struct drm_encoder *encoder,
+ struct drm_display_mode *unadjusted_mode,
+ struct drm_display_mode *mode)
+@@ -349,8 +468,9 @@ static void vc4_hdmi_encoder_mode_set(st
+
+ if (vc4_encoder->hdmi_monitor && drm_match_cea_mode(mode) > 1) {
+ /* CEA VICs other than #1 requre limited range RGB
+- * output. Apply a colorspace conversion to squash
+- * 0-255 down to 16-235. The matrix here is:
++ * output unless overridden by an AVI infoframe.
++ * Apply a colorspace conversion to squash 0-255 down
++ * to 16-235. The matrix here is:
+ *
+ * [ 0 0 0.8594 16]
+ * [ 0 0.8594 0 16]
+@@ -368,6 +488,9 @@ static void vc4_hdmi_encoder_mode_set(st
+ HD_WRITE(VC4_HD_CSC_24_23, (0x100 << 16) | 0x000);
+ HD_WRITE(VC4_HD_CSC_32_31, (0x000 << 16) | 0x6e0);
+ HD_WRITE(VC4_HD_CSC_34_33, (0x100 << 16) | 0x000);
++ vc4_encoder->limited_rgb_range = true;
++ } else {
++ vc4_encoder->limited_rgb_range = false;
+ }
+
+ /* The RGB order applies even when CSC is disabled. */
+@@ -386,6 +509,8 @@ static void vc4_hdmi_encoder_disable(str
+ struct drm_device *dev = encoder->dev;
+ struct vc4_dev *vc4 = to_vc4_dev(dev);
+
++ HDMI_WRITE(VC4_HDMI_RAM_PACKET_CONFIG, 0);
++
+ HDMI_WRITE(VC4_HDMI_TX_PHY_RESET_CTL, 0xf << 16);
+ HD_WRITE(VC4_HD_VID_CTL,
+ HD_READ(VC4_HD_VID_CTL) & ~VC4_HD_VID_CTL_ENABLE);
+@@ -438,9 +563,10 @@ static void vc4_hdmi_encoder_enable(stru
+ HDMI_READ(VC4_HDMI_SCHEDULER_CONTROL) |
+ VC4_HDMI_SCHEDULER_CONTROL_VERT_ALWAYS_KEEPOUT);
+
+- /* XXX: Set HDMI_RAM_PACKET_CONFIG (1 << 16) and set
+- * up the infoframe.
+- */
++ HDMI_WRITE(VC4_HDMI_RAM_PACKET_CONFIG,
++ VC4_HDMI_RAM_PACKET_ENABLE);
++
++ vc4_hdmi_set_infoframes(encoder);
+
+ drift = HDMI_READ(VC4_HDMI_FIFO_CTL);
+ drift &= VC4_HDMI_FIFO_VALID_WRITE_MASK;
+--- a/drivers/gpu/drm/vc4/vc4_regs.h
++++ b/drivers/gpu/drm/vc4/vc4_regs.h
+@@ -443,6 +443,8 @@
+ #define VC4_HDMI_RAM_PACKET_CONFIG 0x0a0
+ # define VC4_HDMI_RAM_PACKET_ENABLE BIT(16)
+
++#define VC4_HDMI_RAM_PACKET_STATUS 0x0a4
++
+ #define VC4_HDMI_HORZA 0x0c4
+ # define VC4_HDMI_HORZA_VPOS BIT(14)
+ # define VC4_HDMI_HORZA_HPOS BIT(13)
+@@ -504,6 +506,9 @@
+
+ #define VC4_HDMI_TX_PHY_RESET_CTL 0x2c0
+
++#define VC4_HDMI_GCP_0 0x400
++#define VC4_HDMI_PACKET_STRIDE 0x24
++
+ #define VC4_HD_M_CTL 0x00c
+ # define VC4_HD_M_REGISTER_FILE_STANDBY (3 << 6)
+ # define VC4_HD_M_RAM_STANDBY (3 << 4)
diff --git a/target/linux/brcm2708/patches-4.4/0523-drm-vc4-Add-support-for-double-clocked-modes.patch b/target/linux/brcm2708/patches-4.4/0523-drm-vc4-Add-support-for-double-clocked-modes.patch
new file mode 100644
index 0000000000..db505876a1
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0523-drm-vc4-Add-support-for-double-clocked-modes.patch
@@ -0,0 +1,127 @@
+From 184580ac95b7fa05eaf5ee16393ddd6103493d0a Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Wed, 28 Sep 2016 19:01:48 -0700
+Subject: [PATCH] drm/vc4: Add support for double-clocked modes.
+
+Now that we have infoframes to report the pixel repeat flag, we can
+start using it. Fixes locking the 720x480i and 720x576i modes on my
+Dell 2408WFP. Like the 1920x1080i case, they don't fit properly on
+the screen, though.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ drivers/gpu/drm/vc4/vc4_crtc.c | 17 +++++++++++------
+ drivers/gpu/drm/vc4/vc4_hdmi.c | 16 +++++++++++-----
+ drivers/gpu/drm/vc4/vc4_regs.h | 2 ++
+ 3 files changed, 24 insertions(+), 11 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_crtc.c
++++ b/drivers/gpu/drm/vc4/vc4_crtc.c
+@@ -371,6 +371,7 @@ static void vc4_crtc_mode_set_nofb(struc
+ bool is_dsi = (vc4_encoder->type == VC4_ENCODER_TYPE_DSI0 ||
+ vc4_encoder->type == VC4_ENCODER_TYPE_DSI1);
+ u32 format = is_dsi ? PV_CONTROL_FORMAT_DSIV_24 : PV_CONTROL_FORMAT_24;
++ u32 pixel_rep = (mode->flags & DRM_MODE_FLAG_DBLCLK) ? 2 : 1;
+ bool debug_dump_regs = false;
+
+ if (debug_dump_regs) {
+@@ -384,14 +385,17 @@ static void vc4_crtc_mode_set_nofb(struc
+ CRTC_WRITE(PV_CONTROL, 0);
+
+ CRTC_WRITE(PV_HORZA,
+- VC4_SET_FIELD(mode->htotal - mode->hsync_end,
++ VC4_SET_FIELD((mode->htotal -
++ mode->hsync_end) * pixel_rep,
+ PV_HORZA_HBP) |
+- VC4_SET_FIELD(mode->hsync_end - mode->hsync_start,
++ VC4_SET_FIELD((mode->hsync_end -
++ mode->hsync_start) * pixel_rep,
+ PV_HORZA_HSYNC));
+ CRTC_WRITE(PV_HORZB,
+- VC4_SET_FIELD(mode->hsync_start - mode->hdisplay,
++ VC4_SET_FIELD((mode->hsync_start -
++ mode->hdisplay) * pixel_rep,
+ PV_HORZB_HFP) |
+- VC4_SET_FIELD(mode->hdisplay, PV_HORZB_HACTIVE));
++ VC4_SET_FIELD(mode->hdisplay * pixel_rep, PV_HORZB_HACTIVE));
+
+ CRTC_WRITE(PV_VERTA,
+ VC4_SET_FIELD(mode->crtc_vtotal - mode->crtc_vsync_end,
+@@ -426,7 +430,7 @@ static void vc4_crtc_mode_set_nofb(struc
+ PV_VCONTROL_CONTINUOUS |
+ (is_dsi ? PV_VCONTROL_DSI : 0) |
+ PV_VCONTROL_INTERLACE |
+- VC4_SET_FIELD(mode->htotal / 2,
++ VC4_SET_FIELD(mode->htotal * pixel_rep / 2,
+ PV_VCONTROL_ODD_DELAY));
+ CRTC_WRITE(PV_VSYNCD_EVEN, 0);
+ } else {
+@@ -435,12 +439,13 @@ static void vc4_crtc_mode_set_nofb(struc
+ (is_dsi ? PV_VCONTROL_DSI : 0));
+ }
+
+- CRTC_WRITE(PV_HACT_ACT, mode->hdisplay);
++ CRTC_WRITE(PV_HACT_ACT, mode->hdisplay * pixel_rep);
+
+ CRTC_WRITE(PV_CONTROL,
+ VC4_SET_FIELD(format, PV_CONTROL_FORMAT) |
+ VC4_SET_FIELD(vc4_get_fifo_full_level(format),
+ PV_CONTROL_FIFO_LEVEL) |
++ VC4_SET_FIELD(pixel_rep - 1, PV_CONTROL_PIXEL_REP) |
+ PV_CONTROL_CLR_AT_START |
+ PV_CONTROL_TRIGGER_UNDERFLOW |
+ PV_CONTROL_WAIT_HSTART |
+--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
+@@ -411,6 +411,7 @@ static void vc4_hdmi_encoder_mode_set(st
+ bool hsync_pos = mode->flags & DRM_MODE_FLAG_PHSYNC;
+ bool vsync_pos = mode->flags & DRM_MODE_FLAG_PVSYNC;
+ bool interlaced = mode->flags & DRM_MODE_FLAG_INTERLACE;
++ u32 pixel_rep = (mode->flags & DRM_MODE_FLAG_DBLCLK) ? 2 : 1;
+ u32 verta = (VC4_SET_FIELD(mode->crtc_vsync_end - mode->crtc_vsync_start,
+ VC4_HDMI_VERTA_VSP) |
+ VC4_SET_FIELD(mode->crtc_vsync_start - mode->crtc_vdisplay,
+@@ -433,7 +434,8 @@ static void vc4_hdmi_encoder_mode_set(st
+
+ HD_WRITE(VC4_HD_VID_CTL, 0);
+
+- clk_set_rate(vc4->hdmi->pixel_clock, mode->clock * 1000);
++ clk_set_rate(vc4->hdmi->pixel_clock, mode->clock * 1000 *
++ ((mode->flags & DRM_MODE_FLAG_DBLCLK) ? 2 : 1));
+
+ HDMI_WRITE(VC4_HDMI_SCHEDULER_CONTROL,
+ HDMI_READ(VC4_HDMI_SCHEDULER_CONTROL) |
+@@ -443,14 +445,18 @@ static void vc4_hdmi_encoder_mode_set(st
+ HDMI_WRITE(VC4_HDMI_HORZA,
+ (vsync_pos ? VC4_HDMI_HORZA_VPOS : 0) |
+ (hsync_pos ? VC4_HDMI_HORZA_HPOS : 0) |
+- VC4_SET_FIELD(mode->hdisplay, VC4_HDMI_HORZA_HAP));
++ VC4_SET_FIELD(mode->hdisplay * pixel_rep,
++ VC4_HDMI_HORZA_HAP));
+
+ HDMI_WRITE(VC4_HDMI_HORZB,
+- VC4_SET_FIELD(mode->htotal - mode->hsync_end,
++ VC4_SET_FIELD((mode->htotal -
++ mode->hsync_end) * pixel_rep,
+ VC4_HDMI_HORZB_HBP) |
+- VC4_SET_FIELD(mode->hsync_end - mode->hsync_start,
++ VC4_SET_FIELD((mode->hsync_end -
++ mode->hsync_start) * pixel_rep,
+ VC4_HDMI_HORZB_HSP) |
+- VC4_SET_FIELD(mode->hsync_start - mode->hdisplay,
++ VC4_SET_FIELD((mode->hsync_start -
++ mode->hdisplay) * pixel_rep,
+ VC4_HDMI_HORZB_HFP));
+
+ HDMI_WRITE(VC4_HDMI_VERTA0, verta);
+--- a/drivers/gpu/drm/vc4/vc4_regs.h
++++ b/drivers/gpu/drm/vc4/vc4_regs.h
+@@ -175,6 +175,8 @@
+ # define PV_CONTROL_CLR_AT_START BIT(14)
+ # define PV_CONTROL_TRIGGER_UNDERFLOW BIT(13)
+ # define PV_CONTROL_WAIT_HSTART BIT(12)
++# define PV_CONTROL_PIXEL_REP_MASK VC4_MASK(5, 4)
++# define PV_CONTROL_PIXEL_REP_SHIFT 4
+ # define PV_CONTROL_CLK_SELECT_DSI_VEC 0
+ # define PV_CONTROL_CLK_SELECT_DPI_SMI_HDMI 1
+ # define PV_CONTROL_CLK_SELECT_MASK VC4_MASK(3, 2)
diff --git a/target/linux/brcm2708/patches-4.4/0524-BCM270X_DT-Update-CM3-to-use-sdhost-interface.patch b/target/linux/brcm2708/patches-4.4/0524-BCM270X_DT-Update-CM3-to-use-sdhost-interface.patch
new file mode 100644
index 0000000000..6d3ca4a450
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0524-BCM270X_DT-Update-CM3-to-use-sdhost-interface.patch
@@ -0,0 +1,36 @@
+From 9e4059062b23b8f220d3f5d2c317d7a96697d355 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Mon, 10 Oct 2016 15:06:20 +0100
+Subject: [PATCH] BCM270X_DT: Update CM3 to use sdhost interface
+
+---
+ arch/arm/boot/dts/bcm2710-rpi-cm3.dts | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm2710-rpi-cm3.dts
++++ b/arch/arm/boot/dts/bcm2710-rpi-cm3.dts
+@@ -8,10 +8,9 @@
+ };
+
+ &gpio {
+-
+- mmc_pins: mmc_pins {
++ sdhost_pins: sdhost_pins {
+ brcm,pins = <48 49 50 51 52 53>;
+- brcm,function = <7>; /* alt3 */
++ brcm,function = <4>; /* alt0 */
+ brcm,pull = <0 2 2 2 2 2>;
+ };
+
+@@ -46,9 +45,9 @@
+ };
+ };
+
+-&mmc {
++&sdhost {
+ pinctrl-names = "default";
+- pinctrl-0 = <&mmc_pins>;
++ pinctrl-0 = <&sdhost_pins>;
+ non-removable;
+ bus-width = <4>;
+ status = "okay";
diff --git a/target/linux/brcm2708/patches-4.4/0525-drm-vc4-Fix-memory-leak-of-the-CRTC-state.patch b/target/linux/brcm2708/patches-4.4/0525-drm-vc4-Fix-memory-leak-of-the-CRTC-state.patch
new file mode 100644
index 0000000000..3106dae98d
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0525-drm-vc4-Fix-memory-leak-of-the-CRTC-state.patch
@@ -0,0 +1,26 @@
+From c0b690ea72068de3cc9e48e99efa1d2cc72a9d0c Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Mon, 10 Oct 2016 09:44:06 -0700
+Subject: [PATCH] drm/vc4: Fix memory leak of the CRTC state.
+
+The underscores variant frees the pointers inside, while the
+no-underscores variant calls underscores and then frees the struct.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+Fixes: d8dbf44f13b9 ("drm/vc4: Make the CRTCs cooperate on allocating display lists.")
+Cc: stable@vger.kernel.org
+---
+ drivers/gpu/drm/vc4/vc4_crtc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_crtc.c
++++ b/drivers/gpu/drm/vc4/vc4_crtc.c
+@@ -862,7 +862,7 @@ static void vc4_crtc_destroy_state(struc
+
+ }
+
+- __drm_atomic_helper_crtc_destroy_state(crtc, state);
++ drm_atomic_helper_crtc_destroy_state(crtc, state);
+ }
+
+ static const struct drm_crtc_funcs vc4_crtc_funcs = {
diff --git a/target/linux/brcm2708/patches-4.4/0526-x86-boot-Fix-kdump-cleanup-aborted-E820_PRAM-max_pfn.patch b/target/linux/brcm2708/patches-4.4/0526-x86-boot-Fix-kdump-cleanup-aborted-E820_PRAM-max_pfn.patch
new file mode 100644
index 0000000000..ce125d4b2f
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0526-x86-boot-Fix-kdump-cleanup-aborted-E820_PRAM-max_pfn.patch
@@ -0,0 +1,60 @@
+From be7d40bc3716ddaaff3cc085f0bdd90b26b72aeb Mon Sep 17 00:00:00 2001
+From: Dan Williams <dan.j.williams@intel.com>
+Date: Wed, 21 Sep 2016 12:50:45 -0700
+Subject: [PATCH] x86/boot: Fix kdump, cleanup aborted E820_PRAM max_pfn
+ manipulation
+
+commit 917db484dc6a69969d317b3e57add4208a8d9d42 upstream.
+
+In commit:
+
+ ec776ef6bbe1 ("x86/mm: Add support for the non-standard protected e820 type")
+
+Christoph references the original patch I wrote implementing pmem support.
+The intent of the 'max_pfn' changes in that commit were to enable persistent
+memory ranges to be covered by the struct page memmap by default.
+
+However, that approach was abandoned when Christoph ported the patches [1], and
+that functionality has since been replaced by devm_memremap_pages().
+
+In the meantime, this max_pfn manipulation is confusing kdump [2] that
+assumes that everything covered by the max_pfn is "System RAM". This
+results in kdump hanging or crashing.
+
+ [1]: https://lists.01.org/pipermail/linux-nvdimm/2015-March/000348.html
+ [2]: https://bugzilla.redhat.com/show_bug.cgi?id=1351098
+
+So fix it.
+
+Reported-by: Zhang Yi <yizhan@redhat.com>
+Reported-by: Jeff Moyer <jmoyer@redhat.com>
+Tested-by: Zhang Yi <yizhan@redhat.com>
+Signed-off-by: Dan Williams <dan.j.williams@intel.com>
+Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
+Cc: Andrew Morton <akpm@linux-foundation.org>
+Cc: Boaz Harrosh <boaz@plexistor.com>
+Cc: Christoph Hellwig <hch@lst.de>
+Cc: Linus Torvalds <torvalds@linux-foundation.org>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
+Cc: Thomas Gleixner <tglx@linutronix.de>
+Cc: linux-nvdimm@lists.01.org
+Fixes: ec776ef6bbe1 ("x86/mm: Add support for the non-standard protected e820 type")
+Link: http://lkml.kernel.org/r/147448744538.34910.11287693517367139607.stgit@dwillia2-desk3.amr.corp.intel.com
+Signed-off-by: Ingo Molnar <mingo@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/x86/kernel/e820.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/x86/kernel/e820.c
++++ b/arch/x86/kernel/e820.c
+@@ -347,7 +347,7 @@ int __init sanitize_e820_map(struct e820
+ * continue building up new bios map based on this
+ * information
+ */
+- if (current_type != last_type || current_type == E820_PRAM) {
++ if (current_type != last_type) {
+ if (last_type != 0) {
+ new_bios[new_bios_entry].size =
+ change_point[chgidx]->addr - last_addr;
diff --git a/target/linux/brcm2708/patches-4.4/0527-Support-for-Blokas-Labs-pisound-board.patch b/target/linux/brcm2708/patches-4.4/0527-Support-for-Blokas-Labs-pisound-board.patch
new file mode 100644
index 0000000000..44335f1fd2
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0527-Support-for-Blokas-Labs-pisound-board.patch
@@ -0,0 +1,1208 @@
+From 1c20ff1871ce0edc2d4c71a1eb4591cb4e8912e9 Mon Sep 17 00:00:00 2001
+From: gtrainavicius <gtrainavicius@users.noreply.github.com>
+Date: Sun, 23 Oct 2016 12:06:53 +0300
+Subject: [PATCH] Support for Blokas Labs pisound board
+
+---
+ .../devicetree/bindings/vendor-prefixes.txt | 1 +
+ arch/arm/boot/dts/overlays/Makefile | 1 +
+ arch/arm/boot/dts/overlays/README | 6 +
+ arch/arm/boot/dts/overlays/pisound-overlay.dts | 114 +++
+ arch/arm/configs/bcm2709_defconfig | 1 +
+ arch/arm/configs/bcmrpi_defconfig | 1 +
+ sound/soc/bcm/Kconfig | 6 +
+ sound/soc/bcm/Makefile | 2 +
+ sound/soc/bcm/pisound.c | 987 +++++++++++++++++++++
+ 9 files changed, 1119 insertions(+)
+ create mode 100644 arch/arm/boot/dts/overlays/pisound-overlay.dts
+ create mode 100644 sound/soc/bcm/pisound.c
+
+--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
++++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
+@@ -33,6 +33,7 @@ auo AU Optronics Corporation
+ avago Avago Technologies
+ avic Shanghai AVIC Optoelectronics Co., Ltd.
+ axis Axis Communications AB
++blokaslabs Vilniaus Blokas UAB
+ bosch Bosch Sensortec GmbH
+ boundary Boundary Devices Inc.
+ brcm Broadcom Corporation
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -62,6 +62,7 @@ dtbo-$(RPI_DT_OVERLAYS) += pi3-disable-b
+ dtbo-$(RPI_DT_OVERLAYS) += pi3-miniuart-bt.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += piscreen.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += piscreen2r.dtbo
++dtbo-$(RPI_DT_OVERLAYS) += pisound.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += pitft22.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += pitft28-capacitive.dtbo
+ dtbo-$(RPI_DT_OVERLAYS) += pitft28-resistive.dtbo
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -808,6 +808,12 @@ Params: speed Display
+ xohms Touchpanel sensitivity (X-plate resistance)
+
+
++Name: pisound
++Info: Configures the Blokas Labs pisound card
++Load: dtoverlay=pisound
++Params: <None>
++
++
+ Name: pitft22
+ Info: Adafruit PiTFT 2.2" screen
+ Load: dtoverlay=pitft22,<param>=<val>
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/pisound-overlay.dts
+@@ -0,0 +1,114 @@
++/*
++ * pisound Linux kernel module.
++ * Copyright (C) 2016 Vilniaus Blokas UAB, http://blokas.io/pisound
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; version 2 of the
++ * License.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++ */
++
++/dts-v1/;
++/plugin/;
++
++#include <dt-bindings/gpio/gpio.h>
++
++/ {
++ compatible = "brcm,bcm2708";
++
++ fragment@0 {
++ target = <&sound>;
++ __overlay__ {
++ compatible = "blokaslabs,pisound";
++ i2s-controller = <&i2s>;
++ status = "okay";
++
++ pinctrl-0 = <&pisound_button_pins>;
++
++ osr-gpios =
++ <&gpio 13 GPIO_ACTIVE_HIGH>,
++ <&gpio 26 GPIO_ACTIVE_HIGH>,
++ <&gpio 16 GPIO_ACTIVE_HIGH>;
++
++ reset-gpios =
++ <&gpio 12 GPIO_ACTIVE_HIGH>,
++ <&gpio 24 GPIO_ACTIVE_HIGH>;
++
++ data_available-gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
++
++ button-gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
++ };
++ };
++
++ fragment@1 {
++ target = <&gpio>;
++ __overlay__ {
++ pinctrl-names = "default";
++ pinctrl-0 = <&pisound_button_pins>;
++
++ pisound_button_pins: pisound_button_pins {
++ brcm,pins = <17>;
++ brcm,function = <0>; // Input
++ brcm,pull = <2>; // Pull-Up
++ };
++ };
++ };
++
++ fragment@2 {
++ target = <&i2s>;
++ __overlay__ {
++ status = "okay";
++ };
++ };
++
++ fragment@3 {
++ target-path = "/";
++ __overlay__ {
++ pcm5102a-codec {
++ #sound-dai-cells = <0>;
++ compatible = "ti,pcm5102a";
++ status = "okay";
++ };
++ };
++ };
++
++ fragment@4 {
++ target = <&spi0>;
++ __overlay__ {
++ status = "okay";
++
++ spidev@0{
++ status = "disabled";
++ };
++
++ spidev@1{
++ status = "okay";
++ };
++ };
++ };
++
++ fragment@5 {
++ target = <&spi0>;
++ __overlay__ {
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ pisound_spi: pisound_spi@0{
++ compatible = "blokaslabs,pisound-spi";
++ reg = <0>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&spi0_pins>;
++ spi-max-frequency = <1000000>;
++ };
++ };
++ };
++};
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -880,6 +880,7 @@ CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD=m
+ CONFIG_SND_DIGIDAC1_SOUNDCARD=m
+ CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m
+ CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC=m
++CONFIG_SND_PISOUND=m
+ CONFIG_SND_SOC_ADAU1701=m
+ CONFIG_SND_SOC_WM8804_I2C=m
+ CONFIG_SND_SIMPLE_CARD=m
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -872,6 +872,7 @@ CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD=m
+ CONFIG_SND_DIGIDAC1_SOUNDCARD=m
+ CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m
+ CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC=m
++CONFIG_SND_PISOUND=m
+ CONFIG_SND_SOC_ADAU1701=m
+ CONFIG_SND_SOC_WM8804_I2C=m
+ CONFIG_SND_SIMPLE_CARD=m
+--- a/sound/soc/bcm/Kconfig
++++ b/sound/soc/bcm/Kconfig
+@@ -121,3 +121,9 @@ config SND_BCM2708_SOC_ALLO_PIANO_DAC
+ select SND_SOC_PCM512x_I2C
+ help
+ Say Y or M if you want to add support for Allo Piano DAC.
++
++config SND_PISOUND
++ tristate "Support for Blokas Labs pisound"
++ depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
++ help
++ Say Y or M if you want to add support for Blokas Labs pisound.
+--- a/sound/soc/bcm/Makefile
++++ b/sound/soc/bcm/Makefile
+@@ -20,6 +20,7 @@ snd-soc-audioinjector-pi-soundcard-objs
+ snd-soc-digidac1-soundcard-objs := digidac1-soundcard.o
+ snd-soc-dionaudio-loco-objs := dionaudio_loco.o
+ snd-soc-allo-piano-dac-objs := allo-piano-dac.o
++snd-soc-pisound-objs := pisound.o
+
+ obj-$(CONFIG_SND_BCM2708_SOC_ADAU1977_ADC) += snd-soc-adau1977-adc.o
+ obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-dac.o
+@@ -37,3 +38,4 @@ obj-$(CONFIG_SND_AUDIOINJECTOR_PI_SOUNDC
+ obj-$(CONFIG_SND_DIGIDAC1_SOUNDCARD) += snd-soc-digidac1-soundcard.o
+ obj-$(CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO) += snd-soc-dionaudio-loco.o
+ obj-$(CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC) += snd-soc-allo-piano-dac.o
++obj-$(CONFIG_SND_PISOUND) += snd-soc-pisound.o
+--- /dev/null
++++ b/sound/soc/bcm/pisound.c
+@@ -0,0 +1,987 @@
++/*
++ * pisound Linux kernel module.
++ * Copyright (C) 2016 Vilniaus Blokas UAB, http://blokas.io/pisound
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; version 2 of the
++ * License.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
++ * MA 02110-1301, USA.
++ */
++
++#include <linux/init.h>
++#include <linux/module.h>
++#include <linux/platform_device.h>
++#include <linux/gpio.h>
++#include <linux/kobject.h>
++#include <linux/sysfs.h>
++#include <linux/delay.h>
++#include <linux/spi/spi.h>
++#include <linux/interrupt.h>
++#include <linux/kfifo.h>
++
++#include <sound/core.h>
++#include <sound/pcm.h>
++#include <sound/pcm_params.h>
++#include <sound/soc.h>
++#include <sound/jack.h>
++#include <sound/rawmidi.h>
++#include <sound/asequencer.h>
++
++static int pisnd_spi_init(struct device *dev);
++static void pisnd_spi_uninit(void);
++
++static void pisnd_spi_send(uint8_t val);
++static uint8_t pisnd_spi_recv(uint8_t *buffer, uint8_t length);
++
++typedef void (*pisnd_spi_recv_cb)(void *data);
++static void pisnd_spi_set_callback(pisnd_spi_recv_cb cb, void *data);
++
++static const char *pisnd_spi_get_serial(void);
++static const char *pisnd_spi_get_id(void);
++static const char *pisnd_spi_get_version(void);
++
++static int pisnd_midi_init(struct snd_card *card);
++static void pisnd_midi_uninit(void);
++
++#define PISOUND_LOG_PREFIX "pisound: "
++
++#ifdef DEBUG
++# define printd(...) pr_alert(PISOUND_LOG_PREFIX __VA_ARGS__)
++#else
++# define printd(...) do {} while (0)
++#endif
++
++#define printe(...) pr_err(PISOUND_LOG_PREFIX __VA_ARGS__)
++#define printi(...) pr_info(PISOUND_LOG_PREFIX __VA_ARGS__)
++
++static int pisnd_output_open(struct snd_rawmidi_substream *substream)
++{
++ return 0;
++}
++
++static int pisnd_output_close(struct snd_rawmidi_substream *substream)
++{
++ return 0;
++}
++
++static void pisnd_output_trigger(
++ struct snd_rawmidi_substream *substream,
++ int up
++ )
++{
++ uint8_t data;
++
++ if (!up)
++ return;
++
++ while (snd_rawmidi_transmit_peek(substream, &data, 1)) {
++ pisnd_spi_send(data);
++ snd_rawmidi_transmit_ack(substream, 1);
++ }
++}
++
++static void pisnd_output_drain(struct snd_rawmidi_substream *substream)
++{
++ uint8_t data;
++
++ while (snd_rawmidi_transmit_peek(substream, &data, 1)) {
++ pisnd_spi_send(data);
++
++ snd_rawmidi_transmit_ack(substream, 1);
++ }
++}
++
++static int pisnd_input_open(struct snd_rawmidi_substream *substream)
++{
++ return 0;
++}
++
++static int pisnd_input_close(struct snd_rawmidi_substream *substream)
++{
++ return 0;
++}
++
++static void pisnd_midi_recv_callback(void *substream)
++{
++ uint8_t data[128];
++ uint8_t n = 0;
++
++ while ((n = pisnd_spi_recv(data, sizeof(data)))) {
++ int res = snd_rawmidi_receive(substream, data, n);
++ (void)res;
++ printd("midi recv 0x%02x, res = %d\n", data, res);
++ }
++}
++
++static void pisnd_input_trigger(struct snd_rawmidi_substream *substream, int up)
++{
++ if (up) {
++ pisnd_spi_set_callback(pisnd_midi_recv_callback, substream);
++ pisnd_midi_recv_callback(substream);
++ } else {
++ pisnd_spi_set_callback(NULL, NULL);
++ }
++}
++
++static struct snd_rawmidi *g_rmidi;
++
++static struct snd_rawmidi_ops pisnd_output_ops = {
++ .open = pisnd_output_open,
++ .close = pisnd_output_close,
++ .trigger = pisnd_output_trigger,
++ .drain = pisnd_output_drain,
++};
++
++static struct snd_rawmidi_ops pisnd_input_ops = {
++ .open = pisnd_input_open,
++ .close = pisnd_input_close,
++ .trigger = pisnd_input_trigger,
++};
++
++static void pisnd_get_port_info(
++ struct snd_rawmidi *rmidi,
++ int number,
++ struct snd_seq_port_info *seq_port_info
++ )
++{
++ seq_port_info->type =
++ SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC |
++ SNDRV_SEQ_PORT_TYPE_HARDWARE |
++ SNDRV_SEQ_PORT_TYPE_PORT;
++ seq_port_info->midi_voices = 0;
++}
++
++static struct snd_rawmidi_global_ops pisnd_global_ops = {
++ .get_port_info = pisnd_get_port_info,
++};
++
++static int pisnd_midi_init(struct snd_card *card)
++{
++ int err = snd_rawmidi_new(card, "pisound MIDI", 0, 1, 1, &g_rmidi);
++
++ if (err < 0) {
++ printe("snd_rawmidi_new failed: %d\n", err);
++ return err;
++ }
++
++ strcpy(g_rmidi->name, "pisound MIDI ");
++ strcat(g_rmidi->name, pisnd_spi_get_serial());
++
++ g_rmidi->info_flags =
++ SNDRV_RAWMIDI_INFO_OUTPUT |
++ SNDRV_RAWMIDI_INFO_INPUT |
++ SNDRV_RAWMIDI_INFO_DUPLEX;
++
++ g_rmidi->ops = &pisnd_global_ops;
++
++ g_rmidi->private_data = (void *)0;
++
++ snd_rawmidi_set_ops(
++ g_rmidi,
++ SNDRV_RAWMIDI_STREAM_OUTPUT,
++ &pisnd_output_ops
++ );
++
++ snd_rawmidi_set_ops(
++ g_rmidi,
++ SNDRV_RAWMIDI_STREAM_INPUT,
++ &pisnd_input_ops
++ );
++
++ return 0;
++}
++
++static void pisnd_midi_uninit(void)
++{
++}
++
++static void *g_recvData;
++static pisnd_spi_recv_cb g_recvCallback;
++
++#define FIFO_SIZE 512
++
++static char g_serial_num[11];
++static char g_id[25];
++static char g_version[5];
++
++DEFINE_KFIFO(spi_fifo_in, uint8_t, FIFO_SIZE);
++DEFINE_KFIFO(spi_fifo_out, uint8_t, FIFO_SIZE);
++
++static struct gpio_desc *data_available;
++static struct gpio_desc *spi_reset;
++
++static struct spi_device *pisnd_spi_device;
++
++static struct workqueue_struct *pisnd_workqueue;
++static struct work_struct pisnd_work_process;
++
++static void pisnd_work_handler(struct work_struct *work);
++
++static uint16_t spi_transfer16(uint16_t val);
++
++static int pisnd_init_workqueues(void)
++{
++ pisnd_workqueue = create_singlethread_workqueue("pisnd_workqueue");
++ INIT_WORK(&pisnd_work_process, pisnd_work_handler);
++
++ return 0;
++}
++
++static void pisnd_uninit_workqueues(void)
++{
++ flush_workqueue(pisnd_workqueue);
++ destroy_workqueue(pisnd_workqueue);
++
++ pisnd_workqueue = NULL;
++}
++
++static bool pisnd_spi_has_more(void)
++{
++ return gpiod_get_value(data_available);
++}
++
++enum task_e {
++ TASK_PROCESS = 0,
++};
++
++static void pisnd_schedule_process(enum task_e task)
++{
++ if (pisnd_spi_device != NULL &&
++ pisnd_workqueue != NULL &&
++ !work_pending(&pisnd_work_process)
++ ) {
++ printd("schedule: has more = %d\n", pisnd_spi_has_more());
++ if (task == TASK_PROCESS)
++ queue_work(pisnd_workqueue, &pisnd_work_process);
++ }
++}
++
++static irqreturn_t data_available_interrupt_handler(int irq, void *dev_id)
++{
++ if (irq == gpiod_to_irq(data_available) && pisnd_spi_has_more()) {
++ printd("schedule from irq\n");
++ pisnd_schedule_process(TASK_PROCESS);
++ }
++
++ return IRQ_HANDLED;
++}
++
++static DEFINE_SPINLOCK(spilock);
++static unsigned long spilockflags;
++
++static uint16_t spi_transfer16(uint16_t val)
++{
++ int err;
++ struct spi_transfer transfer;
++ struct spi_message msg;
++ uint8_t txbuf[2];
++ uint8_t rxbuf[2];
++
++ if (!pisnd_spi_device) {
++ printe("pisnd_spi_device null, returning\n");
++ return 0;
++ }
++
++ spi_message_init(&msg);
++
++ memset(&transfer, 0, sizeof(transfer));
++ memset(&rxbuf, 0, sizeof(rxbuf));
++
++ txbuf[0] = val >> 8;
++ txbuf[1] = val & 0xff;
++
++ transfer.tx_buf = &txbuf;
++ transfer.rx_buf = &rxbuf;
++ transfer.len = sizeof(txbuf);
++ transfer.speed_hz = 125000;
++ transfer.delay_usecs = 100;
++ spi_message_add_tail(&transfer, &msg);
++
++ spin_lock_irqsave(&spilock, spilockflags);
++ err = spi_sync(pisnd_spi_device, &msg);
++ spin_unlock_irqrestore(&spilock, spilockflags);
++
++ if (err < 0) {
++ printe("spi_sync error %d\n", err);
++ return 0;
++ }
++
++ printd("received: %02x%02x\n", rxbuf[0], rxbuf[1]);
++ printd("hasMore %d\n", pisnd_spi_has_more());
++
++ return (rxbuf[0] << 8) | rxbuf[1];
++}
++
++static int spi_read_bytes(char *dst, size_t length, uint8_t *bytesRead)
++{
++ uint16_t rx;
++ uint8_t size;
++ uint8_t i;
++
++ memset(dst, 0, length);
++ *bytesRead = 0;
++
++ rx = spi_transfer16(0);
++ if (!(rx >> 8))
++ return -EINVAL;
++
++ size = rx & 0xff;
++
++ if (size > length)
++ return -EINVAL;
++
++ for (i = 0; i < size; ++i) {
++ rx = spi_transfer16(0);
++ if (!(rx >> 8))
++ return -EINVAL;
++
++ dst[i] = rx & 0xff;
++ }
++
++ *bytesRead = i;
++
++ return 0;
++}
++
++static int spi_device_match(struct device *dev, void *data)
++{
++ struct spi_device *spi = container_of(dev, struct spi_device, dev);
++
++ printd(" %s %s %dkHz %d bits mode=0x%02X\n",
++ spi->modalias, dev_name(dev), spi->max_speed_hz/1000,
++ spi->bits_per_word, spi->mode);
++
++ if (strcmp("pisound-spi", spi->modalias) == 0) {
++ printi("\tFound!\n");
++ return 1;
++ }
++
++ printe("\tNot found!\n");
++ return 0;
++}
++
++static struct spi_device *pisnd_spi_find_device(void)
++{
++ struct device *dev;
++
++ printi("Searching for spi device...\n");
++ dev = bus_find_device(&spi_bus_type, NULL, NULL, spi_device_match);
++ if (dev != NULL)
++ return container_of(dev, struct spi_device, dev);
++ else
++ return NULL;
++}
++
++static void pisnd_work_handler(struct work_struct *work)
++{
++ uint16_t rx;
++ uint16_t tx;
++ uint8_t val;
++
++ if (work == &pisnd_work_process) {
++ if (pisnd_spi_device == NULL)
++ return;
++
++ do {
++ val = 0;
++ tx = 0;
++
++ if (kfifo_get(&spi_fifo_out, &val))
++ tx = 0x0f00 | val;
++
++ rx = spi_transfer16(tx);
++
++ if (rx & 0xff00) {
++ kfifo_put(&spi_fifo_in, rx & 0xff);
++ if (kfifo_len(&spi_fifo_in) > 16
++ && g_recvCallback)
++ g_recvCallback(g_recvData);
++ }
++ } while (rx != 0
++ || !kfifo_is_empty(&spi_fifo_out)
++ || pisnd_spi_has_more()
++ );
++
++ if (!kfifo_is_empty(&spi_fifo_in) && g_recvCallback)
++ g_recvCallback(g_recvData);
++ }
++}
++
++static int pisnd_spi_gpio_init(struct device *dev)
++{
++ spi_reset = gpiod_get_index(dev, "reset", 1, GPIOD_ASIS);
++ data_available = gpiod_get_index(dev, "data_available", 0, GPIOD_ASIS);
++
++ gpiod_direction_output(spi_reset, 1);
++ gpiod_direction_input(data_available);
++
++ /* Reset the slave. */
++ gpiod_set_value(spi_reset, false);
++ mdelay(1);
++ gpiod_set_value(spi_reset, true);
++
++ /* Give time for spi slave to start. */
++ mdelay(64);
++
++ return 0;
++}
++
++static void pisnd_spi_gpio_uninit(void)
++{
++ gpiod_set_value(spi_reset, false);
++ gpiod_put(spi_reset);
++ spi_reset = NULL;
++
++ gpiod_put(data_available);
++ data_available = NULL;
++}
++
++static int pisnd_spi_gpio_irq_init(struct device *dev)
++{
++ return request_irq(
++ gpiod_to_irq(data_available),
++ data_available_interrupt_handler,
++ IRQF_TIMER | IRQF_TRIGGER_RISING,
++ "data_available_int",
++ NULL
++ );
++}
++
++static void pisnd_spi_gpio_irq_uninit(void)
++{
++ free_irq(gpiod_to_irq(data_available), NULL);
++}
++
++static int spi_read_info(void)
++{
++ uint16_t tmp;
++ uint8_t count;
++ uint8_t n;
++ uint8_t i;
++ uint8_t j;
++ char buffer[257];
++ int ret;
++ char *p;
++
++ memset(g_serial_num, 0, sizeof(g_serial_num));
++ memset(g_version, 0, sizeof(g_version));
++ memset(g_id, 0, sizeof(g_id));
++
++ tmp = spi_transfer16(0);
++
++ if (!(tmp >> 8))
++ return -EINVAL;
++
++ count = tmp & 0xff;
++
++ for (i = 0; i < count; ++i) {
++ memset(buffer, 0, sizeof(buffer));
++ ret = spi_read_bytes(buffer, sizeof(buffer)-1, &n);
++
++ if (ret < 0)
++ return ret;
++
++ switch (i) {
++ case 0:
++ if (n != 2)
++ return -EINVAL;
++
++ snprintf(
++ g_version,
++ sizeof(g_version),
++ "%x.%02x",
++ buffer[0],
++ buffer[1]
++ );
++ break;
++ case 1:
++ if (n >= sizeof(g_serial_num))
++ return -EINVAL;
++
++ memcpy(g_serial_num, buffer, sizeof(g_serial_num));
++ break;
++ case 2:
++ {
++ if (n >= sizeof(g_id))
++ return -EINVAL;
++
++ p = g_id;
++ for (j = 0; j < n; ++j)
++ p += sprintf(p, "%02x", buffer[j]);
++ }
++ break;
++ default:
++ break;
++ }
++ }
++
++ return 0;
++}
++
++static int pisnd_spi_init(struct device *dev)
++{
++ int ret;
++ struct spi_device *spi;
++
++ memset(g_serial_num, 0, sizeof(g_serial_num));
++ memset(g_id, 0, sizeof(g_id));
++ memset(g_version, 0, sizeof(g_version));
++
++ spi = pisnd_spi_find_device();
++
++ if (spi != NULL) {
++ printd("initializing spi!\n");
++ pisnd_spi_device = spi;
++ ret = spi_setup(pisnd_spi_device);
++ } else {
++ printe("SPI device not found, deferring!\n");
++ return -EPROBE_DEFER;
++ }
++
++ ret = pisnd_spi_gpio_init(dev);
++
++ if (ret < 0) {
++ printe("SPI GPIO init failed: %d\n", ret);
++ spi_dev_put(pisnd_spi_device);
++ pisnd_spi_device = NULL;
++ pisnd_spi_gpio_uninit();
++ return ret;
++ }
++
++ ret = spi_read_info();
++
++ if (ret < 0) {
++ printe("Reading card info failed: %d\n", ret);
++ spi_dev_put(pisnd_spi_device);
++ pisnd_spi_device = NULL;
++ pisnd_spi_gpio_uninit();
++ return ret;
++ }
++
++ /* Flash the LEDs. */
++ spi_transfer16(0xf000);
++
++ ret = pisnd_spi_gpio_irq_init(dev);
++ if (ret < 0) {
++ printe("SPI irq request failed: %d\n", ret);
++ spi_dev_put(pisnd_spi_device);
++ pisnd_spi_device = NULL;
++ pisnd_spi_gpio_irq_uninit();
++ pisnd_spi_gpio_uninit();
++ }
++
++ ret = pisnd_init_workqueues();
++ if (ret != 0) {
++ printe("Workqueue initialization failed: %d\n", ret);
++ spi_dev_put(pisnd_spi_device);
++ pisnd_spi_device = NULL;
++ pisnd_spi_gpio_irq_uninit();
++ pisnd_spi_gpio_uninit();
++ pisnd_uninit_workqueues();
++ return ret;
++ }
++
++ if (pisnd_spi_has_more()) {
++ printd("data is available, scheduling from init\n");
++ pisnd_schedule_process(TASK_PROCESS);
++ }
++
++ return 0;
++}
++
++static void pisnd_spi_uninit(void)
++{
++ pisnd_uninit_workqueues();
++
++ spi_dev_put(pisnd_spi_device);
++ pisnd_spi_device = NULL;
++
++ pisnd_spi_gpio_irq_uninit();
++ pisnd_spi_gpio_uninit();
++}
++
++static void pisnd_spi_send(uint8_t val)
++{
++ kfifo_put(&spi_fifo_out, val);
++ printd("schedule from spi_send\n");
++ pisnd_schedule_process(TASK_PROCESS);
++}
++
++static uint8_t pisnd_spi_recv(uint8_t *buffer, uint8_t length)
++{
++ return kfifo_out(&spi_fifo_in, buffer, length);
++}
++
++static void pisnd_spi_set_callback(pisnd_spi_recv_cb cb, void *data)
++{
++ g_recvData = data;
++ g_recvCallback = cb;
++}
++
++static const char *pisnd_spi_get_serial(void)
++{
++ if (strlen(g_serial_num))
++ return g_serial_num;
++
++ return "";
++}
++
++static const char *pisnd_spi_get_id(void)
++{
++ if (strlen(g_id))
++ return g_id;
++
++ return "";
++}
++
++static const char *pisnd_spi_get_version(void)
++{
++ if (strlen(g_version))
++ return g_version;
++
++ return "";
++}
++
++static const struct of_device_id pisound_of_match[] = {
++ { .compatible = "blokaslabs,pisound", },
++ { .compatible = "blokaslabs,pisound-spi", },
++ {},
++};
++
++static struct gpio_desc *osr0, *osr1, *osr2;
++static struct gpio_desc *reset;
++static struct gpio_desc *button;
++
++static int pisnd_hw_params(
++ struct snd_pcm_substream *substream,
++ struct snd_pcm_hw_params *params
++ )
++{
++ printd("rate = %d\n", params_rate(params));
++ printd("ch = %d\n", params_channels(params));
++ printd("bits = %u\n",
++ snd_pcm_format_physical_width(params_format(params)));
++ printd("format = %d\n", params_format(params));
++
++ gpiod_set_value(reset, false);
++
++ switch (params_rate(params)) {
++ case 48000:
++ gpiod_set_value(osr0, true);
++ gpiod_set_value(osr1, false);
++ gpiod_set_value(osr2, false);
++ break;
++ case 96000:
++ gpiod_set_value(osr0, true);
++ gpiod_set_value(osr1, true);
++ gpiod_set_value(osr2, false);
++ break;
++ case 192000:
++ gpiod_set_value(osr0, true);
++ gpiod_set_value(osr1, true);
++ gpiod_set_value(osr2, true);
++ break;
++ default:
++ printe("Unsupported rate %u!\n", params_rate(params));
++ return -EINVAL;
++ }
++
++ gpiod_set_value(reset, true);
++
++ return 0;
++}
++
++static unsigned int rates[3] = {
++ 48000, 96000, 192000
++};
++
++static struct snd_pcm_hw_constraint_list constraints_rates = {
++ .count = ARRAY_SIZE(rates),
++ .list = rates,
++ .mask = 0,
++};
++
++static unsigned int sample_bits[] = {
++ 24, 32
++};
++
++static struct snd_pcm_hw_constraint_list constraints_sample_bits = {
++ .count = ARRAY_SIZE(sample_bits),
++ .list = sample_bits,
++ .mask = 0,
++};
++
++static int pisnd_startup(struct snd_pcm_substream *substream)
++{
++ int err = snd_pcm_hw_constraint_list(
++ substream->runtime,
++ 0,
++ SNDRV_PCM_HW_PARAM_RATE,
++ &constraints_rates
++ );
++
++ if (err < 0)
++ return err;
++
++ err = snd_pcm_hw_constraint_list(
++ substream->runtime,
++ 0,
++ SNDRV_PCM_HW_PARAM_SAMPLE_BITS,
++ &constraints_sample_bits
++ );
++
++ if (err < 0)
++ return err;
++
++ return 0;
++}
++
++static struct snd_soc_ops pisnd_ops = {
++ .startup = pisnd_startup,
++ .hw_params = pisnd_hw_params,
++};
++
++static struct snd_soc_dai_link pisnd_dai[] = {
++ {
++ .name = "pisound",
++ .stream_name = "pisound",
++ .cpu_dai_name = "bcm2708-i2s.0",
++ .codec_dai_name = "snd-soc-dummy-dai",
++ .platform_name = "bcm2708-i2s.0",
++ .codec_name = "snd-soc-dummy",
++ .dai_fmt =
++ SND_SOC_DAIFMT_I2S |
++ SND_SOC_DAIFMT_NB_NF |
++ SND_SOC_DAIFMT_CBM_CFM,
++ .ops = &pisnd_ops,
++ },
++};
++
++static int pisnd_card_probe(struct snd_soc_card *card)
++{
++ int err = pisnd_midi_init(card->snd_card);
++
++ if (err < 0)
++ printe("pisnd_midi_init failed: %d\n", err);
++
++ return err;
++}
++
++static int pisnd_card_remove(struct snd_soc_card *card)
++{
++ pisnd_midi_uninit();
++ return 0;
++}
++
++static struct snd_soc_card pisnd_card = {
++ .name = "pisound",
++ .owner = THIS_MODULE,
++ .dai_link = pisnd_dai,
++ .num_links = ARRAY_SIZE(pisnd_dai),
++ .probe = pisnd_card_probe,
++ .remove = pisnd_card_remove,
++};
++
++static int pisnd_init_gpio(struct device *dev)
++{
++ osr0 = gpiod_get_index(dev, "osr", 0, GPIOD_ASIS);
++ osr1 = gpiod_get_index(dev, "osr", 1, GPIOD_ASIS);
++ osr2 = gpiod_get_index(dev, "osr", 2, GPIOD_ASIS);
++
++ reset = gpiod_get_index(dev, "reset", 0, GPIOD_ASIS);
++
++ button = gpiod_get_index(dev, "button", 0, GPIOD_ASIS);
++
++ gpiod_direction_output(osr0, 1);
++ gpiod_direction_output(osr1, 1);
++ gpiod_direction_output(osr2, 1);
++ gpiod_direction_output(reset, 1);
++
++ gpiod_set_value(reset, false);
++ gpiod_set_value(osr0, true);
++ gpiod_set_value(osr1, false);
++ gpiod_set_value(osr2, false);
++ gpiod_set_value(reset, true);
++
++ gpiod_export(button, false);
++
++ return 0;
++}
++
++static int pisnd_uninit_gpio(void)
++{
++ int i;
++
++ struct gpio_desc **gpios[] = {
++ &osr0, &osr1, &osr2, &reset, &button,
++ };
++
++ gpiod_unexport(button);
++
++ for (i = 0; i < ARRAY_SIZE(gpios); ++i) {
++ if (*gpios[i] == NULL) {
++ printd("weird, GPIO[%d] is NULL already\n", i);
++ continue;
++ }
++
++ gpiod_put(*gpios[i]);
++ *gpios[i] = NULL;
++ }
++
++ return 0;
++}
++
++static struct kobject *pisnd_kobj;
++
++static ssize_t pisnd_serial_show(
++ struct kobject *kobj,
++ struct kobj_attribute *attr,
++ char *buf
++ )
++{
++ return sprintf(buf, "%s\n", pisnd_spi_get_serial());
++}
++
++static ssize_t pisnd_id_show(
++ struct kobject *kobj,
++ struct kobj_attribute *attr,
++ char *buf
++ )
++{
++ return sprintf(buf, "%s\n", pisnd_spi_get_id());
++}
++
++static ssize_t pisnd_version_show(
++ struct kobject *kobj,
++ struct kobj_attribute *attr,
++ char *buf
++ )
++{
++ return sprintf(buf, "%s\n", pisnd_spi_get_version());
++}
++
++static struct kobj_attribute pisnd_serial_attribute =
++ __ATTR(serial, 0644, pisnd_serial_show, NULL);
++static struct kobj_attribute pisnd_id_attribute =
++ __ATTR(id, 0644, pisnd_id_show, NULL);
++static struct kobj_attribute pisnd_version_attribute =
++ __ATTR(version, 0644, pisnd_version_show, NULL);
++
++static struct attribute *attrs[] = {
++ &pisnd_serial_attribute.attr,
++ &pisnd_id_attribute.attr,
++ &pisnd_version_attribute.attr,
++ NULL
++};
++
++static struct attribute_group attr_group = { .attrs = attrs };
++
++static int pisnd_probe(struct platform_device *pdev)
++{
++ int ret = 0;
++ int i;
++
++ ret = pisnd_spi_init(&pdev->dev);
++ if (ret < 0) {
++ printe("pisnd_spi_init failed: %d\n", ret);
++ return ret;
++ }
++
++ printi("Detected pisound card:\n");
++ printi("\tSerial: %s\n", pisnd_spi_get_serial());
++ printi("\tVersion: %s\n", pisnd_spi_get_version());
++ printi("\tId: %s\n", pisnd_spi_get_id());
++
++ pisnd_kobj = kobject_create_and_add("pisound", kernel_kobj);
++ if (!pisnd_kobj) {
++ pisnd_spi_uninit();
++ return -ENOMEM;
++ }
++
++ ret = sysfs_create_group(pisnd_kobj, &attr_group);
++ if (ret < 0) {
++ pisnd_spi_uninit();
++ kobject_put(pisnd_kobj);
++ return -ENOMEM;
++ }
++
++ pisnd_init_gpio(&pdev->dev);
++ pisnd_card.dev = &pdev->dev;
++
++ if (pdev->dev.of_node) {
++ struct device_node *i2s_node;
++
++ i2s_node = of_parse_phandle(
++ pdev->dev.of_node,
++ "i2s-controller",
++ 0
++ );
++
++ for (i = 0; i < pisnd_card.num_links; ++i) {
++ struct snd_soc_dai_link *dai = &pisnd_dai[i];
++
++ if (i2s_node) {
++ dai->cpu_dai_name = NULL;
++ dai->cpu_of_node = i2s_node;
++ dai->platform_name = NULL;
++ dai->platform_of_node = i2s_node;
++ dai->stream_name = pisnd_spi_get_serial();
++ }
++ }
++ }
++
++ ret = snd_soc_register_card(&pisnd_card);
++
++ if (ret < 0) {
++ printe("snd_soc_register_card() failed: %d\n", ret);
++ pisnd_uninit_gpio();
++ kobject_put(pisnd_kobj);
++ pisnd_spi_uninit();
++ }
++
++ return ret;
++}
++
++static int pisnd_remove(struct platform_device *pdev)
++{
++ if (pisnd_kobj) {
++ kobject_put(pisnd_kobj);
++ pisnd_kobj = NULL;
++ }
++
++ pisnd_spi_uninit();
++
++ /* Turn off */
++ gpiod_set_value(reset, false);
++ pisnd_uninit_gpio();
++
++ return snd_soc_unregister_card(&pisnd_card);
++}
++
++MODULE_DEVICE_TABLE(of, pisound_of_match);
++
++static struct platform_driver pisnd_driver = {
++ .driver = {
++ .name = "snd-rpi-pisound",
++ .owner = THIS_MODULE,
++ .of_match_table = pisound_of_match,
++ },
++ .probe = pisnd_probe,
++ .remove = pisnd_remove,
++};
++
++module_platform_driver(pisnd_driver);
++
++MODULE_AUTHOR("Giedrius Trainavicius <giedrius@blokas.io>");
++MODULE_DESCRIPTION("ASoC Driver for pisound, http://blokas.io/pisound");
++MODULE_LICENSE("GPL v2");
diff --git a/target/linux/brcm2708/patches-4.4/0528-pisound-Fix-a-warning-in-DEBUG-builds.patch b/target/linux/brcm2708/patches-4.4/0528-pisound-Fix-a-warning-in-DEBUG-builds.patch
new file mode 100644
index 0000000000..09e818e1d9
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0528-pisound-Fix-a-warning-in-DEBUG-builds.patch
@@ -0,0 +1,31 @@
+From 84835c07b7cdf960db7cb9e8cf13363e2d8c99b0 Mon Sep 17 00:00:00 2001
+From: Giedrius Trainavicius <giedrius@blokas.io>
+Date: Tue, 25 Oct 2016 01:47:20 +0300
+Subject: [PATCH] pisound: Fix a warning in DEBUG builds
+
+Also change a macro that enables debug level printing from DEBUG to
+PISOUND_DEBUG.
+---
+ sound/soc/bcm/pisound.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/sound/soc/bcm/pisound.c
++++ b/sound/soc/bcm/pisound.c
+@@ -55,7 +55,7 @@ static void pisnd_midi_uninit(void);
+
+ #define PISOUND_LOG_PREFIX "pisound: "
+
+-#ifdef DEBUG
++#ifdef PISOUND_DEBUG
+ # define printd(...) pr_alert(PISOUND_LOG_PREFIX __VA_ARGS__)
+ #else
+ # define printd(...) do {} while (0)
+@@ -119,7 +119,7 @@ static void pisnd_midi_recv_callback(voi
+ while ((n = pisnd_spi_recv(data, sizeof(data)))) {
+ int res = snd_rawmidi_receive(substream, data, n);
+ (void)res;
+- printd("midi recv 0x%02x, res = %d\n", data, res);
++ printd("midi recv %u bytes, res = %d\n", n, res);
+ }
+ }
+
diff --git a/target/linux/brcm2708/patches-4.4/0529-config-Add-CONFIG_HTU21-module.patch b/target/linux/brcm2708/patches-4.4/0529-config-Add-CONFIG_HTU21-module.patch
new file mode 100644
index 0000000000..c89857c168
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0529-config-Add-CONFIG_HTU21-module.patch
@@ -0,0 +1,30 @@
+From 0444a6ca389812c715a59bb4c3ec4def409340ef Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Tue, 1 Nov 2016 13:10:05 +0000
+Subject: [PATCH] config: Add CONFIG_HTU21 module
+
+---
+ arch/arm/configs/bcm2709_defconfig | 1 +
+ arch/arm/configs/bcmrpi_defconfig | 1 +
+ 2 files changed, 2 insertions(+)
+
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -1154,6 +1154,7 @@ CONFIG_IIO_KFIFO_BUF=m
+ CONFIG_MCP320X=m
+ CONFIG_MCP3422=m
+ CONFIG_DHT11=m
++CONFIG_HTU21=m
+ CONFIG_PWM_BCM2835=m
+ CONFIG_PWM_PCA9685=m
+ CONFIG_RASPBERRYPI_FIRMWARE=y
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -1161,6 +1161,7 @@ CONFIG_IIO_KFIFO_BUF=m
+ CONFIG_MCP320X=m
+ CONFIG_MCP3422=m
+ CONFIG_DHT11=m
++CONFIG_HTU21=m
+ CONFIG_PWM_BCM2835=m
+ CONFIG_PWM_PCA9685=m
+ CONFIG_RASPBERRYPI_FIRMWARE=y
diff --git a/target/linux/brcm2708/patches-4.4/0530-spi-bcm2835-Remove-unused-code.patch b/target/linux/brcm2708/patches-4.4/0530-spi-bcm2835-Remove-unused-code.patch
new file mode 100644
index 0000000000..46466c8e27
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0530-spi-bcm2835-Remove-unused-code.patch
@@ -0,0 +1,93 @@
+From c78b3b917d305e617ad11d147c9668b1df338208 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Tue, 8 Nov 2016 21:35:38 +0000
+Subject: [PATCH] spi-bcm2835: Remove unused code
+
+---
+ drivers/spi/spi-bcm2835.c | 66 -----------------------------------------------
+ 1 file changed, 66 deletions(-)
+
+--- a/drivers/spi/spi-bcm2835.c
++++ b/drivers/spi/spi-bcm2835.c
+@@ -679,17 +679,8 @@ static void bcm2835_spi_set_cs(struct sp
+ bcm2835_wr(bs, BCM2835_SPI_CS, cs);
+ }
+
+-static int chip_match_name(struct gpio_chip *chip, void *data)
+-{
+- return !strcmp(chip->label, data);
+-}
+-
+ static int bcm2835_spi_setup(struct spi_device *spi)
+ {
+- int err;
+- struct gpio_chip *chip;
+- struct device_node *pins;
+- u32 pingroup_index;
+ /*
+ * sanity checking the native-chipselects
+ */
+@@ -707,63 +698,6 @@ static int bcm2835_spi_setup(struct spi_
+ return -EINVAL;
+ }
+
+-#if 0
+- /* now translate native cs to GPIO */
+- /* first look for chip select pins in the devices pin groups */
+- for (pingroup_index = 0;
+- (pins = of_parse_phandle(spi->master->dev.of_node,
+- "pinctrl-0",
+- pingroup_index)) != 0;
+- pingroup_index++) {
+- u32 pin;
+- u32 pin_index;
+- for (pin_index = 0;
+- of_property_read_u32_index(pins,
+- "brcm,pins",
+- pin_index,
+- &pin) == 0;
+- pin_index++) {
+- if (((spi->chip_select == 0) &&
+- ((pin == 8) || (pin == 36) || (pin == 46))) ||
+- ((spi->chip_select == 1) &&
+- ((pin == 7) || (pin == 35)))) {
+- spi->cs_gpio = pin;
+- break;
+- }
+- }
+- of_node_put(pins);
+- }
+- /* if that fails, assume GPIOs 7-11 are used */
+- if (!gpio_is_valid(spi->cs_gpio) ) {
+- /* get the gpio chip for the base */
+- chip = gpiochip_find("pinctrl-bcm2835", chip_match_name);
+- if (!chip)
+- return 0;
+-
+- /* and calculate the real CS */
+- spi->cs_gpio = chip->base + 8 - spi->chip_select;
+- }
+-
+- /* and set up the "mode" and level */
+- dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n",
+- spi->chip_select, spi->cs_gpio);
+-
+- /* set up GPIO as output and pull to the correct level */
+- err = gpio_direction_output(spi->cs_gpio,
+- (spi->mode & SPI_CS_HIGH) ? 0 : 1);
+- if (err) {
+- dev_err(&spi->dev,
+- "could not set CS%i gpio %i as output: %i",
+- spi->chip_select, spi->cs_gpio, err);
+- return err;
+- }
+- /* the implementation of pinctrl-bcm2835 currently does not
+- * set the GPIO value when using gpio_direction_output
+- * so we are setting it here explicitly
+- */
+- gpio_set_value(spi->cs_gpio, (spi->mode & SPI_CS_HIGH) ? 0 : 1);
+-#endif
+-
+ return 0;
+ }
+
diff --git a/target/linux/brcm2708/patches-4.4/0531-bcm2708_fb-Add-ioctl-for-reading-gpu-memory-through-.patch b/target/linux/brcm2708/patches-4.4/0531-bcm2708_fb-Add-ioctl-for-reading-gpu-memory-through-.patch
new file mode 100644
index 0000000000..0b3539e336
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0531-bcm2708_fb-Add-ioctl-for-reading-gpu-memory-through-.patch
@@ -0,0 +1,167 @@
+From 26a7e2d3d11c23acc6f87414da736c07a3b9cc52 Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Sat, 5 Nov 2016 14:14:43 +0000
+Subject: [PATCH] bcm2708_fb: Add ioctl for reading gpu memory through dma
+
+---
+ drivers/video/fbdev/bcm2708_fb.c | 109 +++++++++++++++++++++++++++++++++++++++
+ include/uapi/linux/fb.h | 7 +++
+ 2 files changed, 116 insertions(+)
+
+--- a/drivers/video/fbdev/bcm2708_fb.c
++++ b/drivers/video/fbdev/bcm2708_fb.c
+@@ -31,8 +31,10 @@
+ #include <linux/console.h>
+ #include <linux/debugfs.h>
+ #include <asm/sizes.h>
++#include <asm/uaccess.h>
+ #include <linux/io.h>
+ #include <linux/dma-mapping.h>
++#include <linux/cred.h>
+ #include <soc/bcm2835/raspberrypi-firmware.h>
+
+ //#define BCM2708_FB_DEBUG
+@@ -429,6 +431,110 @@ static int bcm2708_fb_pan_display(struct
+ return result;
+ }
+
++static void dma_memcpy(struct bcm2708_fb *fb, dma_addr_t dst, dma_addr_t src, int size)
++{
++ int burst_size = (fb->dma_chan == 0) ? 8 : 2;
++ struct bcm2708_dma_cb *cb = fb->cb_base;
++
++ cb->info = BCM2708_DMA_BURST(burst_size) | BCM2708_DMA_S_WIDTH |
++ BCM2708_DMA_S_INC | BCM2708_DMA_D_WIDTH |
++ BCM2708_DMA_D_INC | BCM2708_DMA_TDMODE;
++ cb->dst = dst;
++ cb->src = src;
++ cb->length = size;
++ cb->stride = 0;
++ cb->pad[0] = 0;
++ cb->pad[1] = 0;
++ cb->next = 0;
++
++ if (size < dma_busy_wait_threshold) {
++ bcm_dma_start(fb->dma_chan_base, fb->cb_handle);
++ bcm_dma_wait_idle(fb->dma_chan_base);
++ } else {
++ void __iomem *dma_chan = fb->dma_chan_base;
++ cb->info |= BCM2708_DMA_INT_EN;
++ bcm_dma_start(fb->dma_chan_base, fb->cb_handle);
++ while (bcm_dma_is_busy(dma_chan)) {
++ wait_event_interruptible(
++ fb->dma_waitq,
++ !bcm_dma_is_busy(dma_chan));
++ }
++ fb->stats.dma_irqs++;
++ }
++ fb->stats.dma_copies++;
++}
++
++#define INTALIAS_NORMAL(x) ((x)&~0xc0000000) // address with no aliases
++#define INTALIAS_L1L2_NONALLOCATING(x) (((x)&~0xc0000000)|0x80000000) // cache coherent but non-allocating in L1 and L2
++
++static long vc_mem_copy(struct bcm2708_fb *fb, unsigned long arg)
++{
++ struct fb_dmacopy ioparam;
++ size_t size = PAGE_SIZE;
++ u32 *buf = NULL;
++ dma_addr_t bus_addr;
++ long rc = 0;
++ size_t offset;
++ struct { u32 base, length; } gpu = {};
++
++ /* restrict this to root user */
++ if (!uid_eq(current_euid(), GLOBAL_ROOT_UID))
++ {
++ rc = -EFAULT;
++ goto out;
++ }
++
++ /* Get the parameter data.
++ */
++ if (copy_from_user
++ (&ioparam, (void *)arg, sizeof(ioparam)) != 0) {
++ pr_err("[%s]: failed to copy-from-user\n",
++ __func__);
++ rc = -EFAULT;
++ goto out;
++ }
++
++ rc = rpi_firmware_property(fb->fw,
++ RPI_FIRMWARE_GET_VC_MEMORY,
++ &gpu, sizeof(gpu));
++ if (rc != 0 || gpu.base == 0 || gpu.length == 0) {
++ pr_err("[%s]: Unable to determine gpu memory %ld,%x,%x)\n", __func__, rc, gpu.base, gpu.length);
++ return -EFAULT;
++ }
++
++ if (INTALIAS_NORMAL(ioparam.src) < gpu.base || INTALIAS_NORMAL(ioparam.src) >= gpu.base + gpu.length) {
++ pr_err("[%s]: Invalid memory access %x (%x-%x)", __func__, INTALIAS_NORMAL(ioparam.src), gpu.base, gpu.base + gpu.length);
++ return -EFAULT;
++ }
++
++ buf = dma_alloc_coherent(NULL, PAGE_ALIGN(size), &bus_addr,
++ GFP_ATOMIC);
++ if (!buf) {
++ pr_err("[%s]: failed to dma_alloc_coherent(%d)\n",
++ __func__, size);
++ rc = -ENOMEM;
++ goto out;
++ }
++
++ for (offset = 0; offset < ioparam.length; offset += size) {
++ size_t remaining = ioparam.length - offset;
++ size_t s = min(size, remaining);
++ unsigned char *p = (unsigned char *)ioparam.src + offset;
++ unsigned char *q = (unsigned char *)ioparam.dst + offset;
++ dma_memcpy(fb, (dma_addr_t)buf, INTALIAS_L1L2_NONALLOCATING((dma_addr_t)p), size);
++ if (copy_to_user(q, buf, s) != 0) {
++ pr_err("[%s]: failed to copy-to-user\n",
++ __func__);
++ rc = -EFAULT;
++ goto out;
++ }
++ }
++out:
++ if (buf)
++ dma_free_coherent(NULL, PAGE_ALIGN(size), buf, bus_addr);
++ return rc;
++}
++
+ static int bcm2708_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg)
+ {
+ struct bcm2708_fb *fb = to_bcm2708(info);
+@@ -441,6 +547,9 @@ static int bcm2708_ioctl(struct fb_info
+ RPI_FIRMWARE_FRAMEBUFFER_SET_VSYNC,
+ &dummy, sizeof(dummy));
+ break;
++ case FBIODMACOPY:
++ ret = vc_mem_copy(fb, arg);
++ break;
+ default:
+ dev_dbg(info->device, "Unknown ioctl 0x%x\n", cmd);
+ return -ENOTTY;
+--- a/include/uapi/linux/fb.h
++++ b/include/uapi/linux/fb.h
+@@ -39,6 +39,7 @@
+ * be concurrently added to the mainline kernel
+ */
+ #define FBIOCOPYAREA _IOW('z', 0x21, struct fb_copyarea)
++#define FBIODMACOPY _IOW('z', 0x22, struct fb_dmacopy)
+
+ #define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */
+ #define FB_TYPE_PLANES 1 /* Non interleaved planes */
+@@ -351,6 +352,12 @@ struct fb_copyarea {
+ __u32 sy;
+ };
+
++struct fb_dmacopy {
++ dma_addr_t dst;
++ dma_addr_t src;
++ __u32 length;
++};
++
+ struct fb_fillrect {
+ __u32 dx; /* screen-relative */
+ __u32 dy;
diff --git a/target/linux/brcm2708/patches-4.4/0532-rpi-ft5406-Create-coherent-buffer-and-push-to-firmwa.patch b/target/linux/brcm2708/patches-4.4/0532-rpi-ft5406-Create-coherent-buffer-and-push-to-firmwa.patch
new file mode 100644
index 0000000000..a2e8768782
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0532-rpi-ft5406-Create-coherent-buffer-and-push-to-firmwa.patch
@@ -0,0 +1,244 @@
+From bfc9d5f243f9202b699a2716b528be866039d6a4 Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Fri, 11 Nov 2016 19:32:54 +0000
+Subject: [PATCH] rpi-ft5406: Create coherent buffer and push to firmware
+
+---
+ drivers/input/touchscreen/rpi-ft5406.c | 152 +++++++++++++++++++----------
+ include/soc/bcm2835/raspberrypi-firmware.h | 1 +
+ 2 files changed, 101 insertions(+), 52 deletions(-)
+
+--- a/drivers/input/touchscreen/rpi-ft5406.c
++++ b/drivers/input/touchscreen/rpi-ft5406.c
+@@ -21,6 +21,7 @@
+ #include <linux/kthread.h>
+ #include <linux/platform_device.h>
+ #include <asm/io.h>
++#include <linux/dma-mapping.h>
+ #include <soc/bcm2835/raspberrypi-firmware.h>
+
+ #define MAXIMUM_SUPPORTED_POINTS 10
+@@ -45,6 +46,7 @@ struct ft5406 {
+ struct platform_device * pdev;
+ struct input_dev * input_dev;
+ void __iomem * ts_base;
++ dma_addr_t bus_addr;
+ struct ft5406_regs * regs;
+ struct task_struct * thread;
+ };
+@@ -117,18 +119,19 @@ static int ft5406_thread(void *arg)
+
+ static int ft5406_probe(struct platform_device *pdev)
+ {
+- int ret;
+- struct input_dev * input_dev = input_allocate_device();
++ int err = 0;
++ struct device *dev = &pdev->dev;
++ struct device_node *np = dev->of_node;
+ struct ft5406 * ts;
+ struct device_node *fw_node;
+ struct rpi_firmware *fw;
+ u32 touchbuf;
+
+- dev_info(&pdev->dev, "Probing device\n");
++ dev_info(dev, "Probing device\n");
+
+- fw_node = of_parse_phandle(pdev->dev.of_node, "firmware", 0);
++ fw_node = of_parse_phandle(np, "firmware", 0);
+ if (!fw_node) {
+- dev_err(&pdev->dev, "Missing firmware node\n");
++ dev_err(dev, "Missing firmware node\n");
+ return -ENOENT;
+ }
+
+@@ -136,62 +139,88 @@ static int ft5406_probe(struct platform_
+ if (!fw)
+ return -EPROBE_DEFER;
+
+- ret = rpi_firmware_property(fw, RPI_FIRMWARE_FRAMEBUFFER_GET_TOUCHBUF,
+- &touchbuf, sizeof(touchbuf));
+- if (ret) {
+- dev_err(&pdev->dev, "Failed to get touch buffer\n");
+- return ret;
++ ts = devm_kzalloc(dev, sizeof(struct ft5406), GFP_KERNEL);
++ if (!ts) {
++ dev_err(dev, "Failed to allocate memory\n");
++ return -ENOMEM;
+ }
+
+- if (!touchbuf) {
+- dev_err(&pdev->dev, "Touchscreen not detected\n");
+- return -ENODEV;
++ ts->input_dev = input_allocate_device();
++ if (!ts->input_dev) {
++ dev_err(dev, "Failed to allocate input device\n");
++ return -ENOMEM;
+ }
+
+- dev_dbg(&pdev->dev, "Got TS buffer 0x%x\n", touchbuf);
++ ts->ts_base = dma_zalloc_coherent(NULL, PAGE_SIZE, &ts->bus_addr, GFP_KERNEL);
++ if (!ts->ts_base) {
++ pr_err("[%s]: failed to dma_alloc_coherent(%ld)\n",
++ __func__, PAGE_SIZE);
++ err = -ENOMEM;
++ goto out;
++ }
+
+- ts = kzalloc(sizeof(struct ft5406), GFP_KERNEL);
++ touchbuf = (u32)ts->bus_addr;
++ err = rpi_firmware_property(fw, RPI_FIRMWARE_FRAMEBUFFER_SET_TOUCHBUF,
++ &touchbuf, sizeof(touchbuf));
+
+- if (!ts || !input_dev) {
+- ret = -ENOMEM;
+- dev_err(&pdev->dev, "Failed to allocate memory\n");
+- return ret;
++ if (err || touchbuf != 0) {
++ dev_warn(dev, "Failed to set touchbuf, trying to get err:%x\n", err);
++ dma_free_coherent(NULL, PAGE_SIZE, ts->ts_base, ts->bus_addr);
++ ts->ts_base = 0;
++ ts->bus_addr = 0;
++ }
++
++ if (!ts->ts_base) {
++ dev_warn(dev, "set failed, trying get (err:%d touchbuf:%x virt:%p bus:%x)\n", err, touchbuf, ts->ts_base, ts->bus_addr);
++
++ err = rpi_firmware_property(fw, RPI_FIRMWARE_FRAMEBUFFER_GET_TOUCHBUF,
++ &touchbuf, sizeof(touchbuf));
++ if (err) {
++ dev_err(dev, "Failed to get touch buffer\n");
++ goto out;
++ }
++
++ if (!touchbuf) {
++ dev_err(dev, "Touchscreen not detected\n");
++ err = -ENODEV;
++ goto out;
++ }
++
++ dev_dbg(dev, "Got TS buffer 0x%x\n", touchbuf);
++
++ // mmap the physical memory
++ touchbuf &= ~0xc0000000;
++ ts->ts_base = ioremap(touchbuf, sizeof(*ts->regs));
++ if (ts->ts_base == NULL)
++ {
++ dev_err(dev, "Failed to map physical address\n");
++ err = -ENOMEM;
++ goto out;
++ }
+ }
+- ts->input_dev = input_dev;
+ platform_set_drvdata(pdev, ts);
+ ts->pdev = pdev;
+
+- input_dev->name = "FT5406 memory based driver";
++ ts->input_dev->name = "FT5406 memory based driver";
+
+- __set_bit(EV_KEY, input_dev->evbit);
+- __set_bit(EV_SYN, input_dev->evbit);
+- __set_bit(EV_ABS, input_dev->evbit);
++ __set_bit(EV_KEY, ts->input_dev->evbit);
++ __set_bit(EV_SYN, ts->input_dev->evbit);
++ __set_bit(EV_ABS, ts->input_dev->evbit);
+
+- input_set_abs_params(input_dev, ABS_MT_POSITION_X, 0,
++ input_set_abs_params(ts->input_dev, ABS_MT_POSITION_X, 0,
+ SCREEN_WIDTH, 0, 0);
+- input_set_abs_params(input_dev, ABS_MT_POSITION_Y, 0,
++ input_set_abs_params(ts->input_dev, ABS_MT_POSITION_Y, 0,
+ SCREEN_HEIGHT, 0, 0);
+
+- input_mt_init_slots(input_dev, MAXIMUM_SUPPORTED_POINTS, INPUT_MT_DIRECT);
++ input_mt_init_slots(ts->input_dev, MAXIMUM_SUPPORTED_POINTS, INPUT_MT_DIRECT);
+
+- input_set_drvdata(input_dev, ts);
++ input_set_drvdata(ts->input_dev, ts);
+
+- ret = input_register_device(input_dev);
+- if (ret) {
+- dev_err(&pdev->dev, "could not register input device, %d\n",
+- ret);
+- return ret;
+- }
+-
+- // mmap the physical memory
+- touchbuf &= ~0xc0000000;
+- ts->ts_base = ioremap(touchbuf, sizeof(*ts->regs));
+- if(ts->ts_base == NULL)
+- {
+- dev_err(&pdev->dev, "Failed to map physical address\n");
+- input_unregister_device(input_dev);
+- kzfree(ts);
+- return -ENOMEM;
++ err = input_register_device(ts->input_dev);
++ if (err) {
++ dev_err(dev, "could not register input device, %d\n",
++ err);
++ goto out;
+ }
+
+ ts->regs = (struct ft5406_regs *) ts->ts_base;
+@@ -200,25 +229,44 @@ static int ft5406_probe(struct platform_
+ ts->thread = kthread_run(ft5406_thread, ts, "ft5406");
+ if(ts->thread == NULL)
+ {
+- dev_err(&pdev->dev, "Failed to create kernel thread");
+- iounmap(ts->ts_base);
+- input_unregister_device(input_dev);
+- kzfree(ts);
++ dev_err(dev, "Failed to create kernel thread");
++ err = -ENOMEM;
++ goto out;
+ }
+
+ return 0;
++
++out:
++ if (ts->bus_addr) {
++ dma_free_coherent(NULL, PAGE_SIZE, ts->ts_base, ts->bus_addr);
++ ts->bus_addr = 0;
++ ts->ts_base = NULL;
++ } else if (ts->ts_base) {
++ iounmap(ts->ts_base);
++ ts->ts_base = NULL;
++ }
++ if (ts->input_dev) {
++ input_unregister_device(ts->input_dev);
++ ts->input_dev = NULL;
++ }
++ return err;
+ }
+
+ static int ft5406_remove(struct platform_device *pdev)
+ {
++ struct device *dev = &pdev->dev;
+ struct ft5406 *ts = (struct ft5406 *) platform_get_drvdata(pdev);
+
+- dev_info(&pdev->dev, "Removing rpi-ft5406\n");
++ dev_info(dev, "Removing rpi-ft5406\n");
+
+ kthread_stop(ts->thread);
+- iounmap(ts->ts_base);
+- input_unregister_device(ts->input_dev);
+- kzfree(ts);
++
++ if (ts->bus_addr)
++ dma_free_coherent(dev, PAGE_SIZE, ts->ts_base, ts->bus_addr);
++ else if (ts->ts_base)
++ iounmap(ts->ts_base);
++ if (ts->input_dev)
++ input_unregister_device(ts->input_dev);
+
+ return 0;
+ }
+--- a/include/soc/bcm2835/raspberrypi-firmware.h
++++ b/include/soc/bcm2835/raspberrypi-firmware.h
+@@ -117,6 +117,7 @@ enum rpi_firmware_property_tag {
+ RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET = 0x00048009,
+ RPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN = 0x0004800a,
+ RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE = 0x0004800b,
++ RPI_FIRMWARE_FRAMEBUFFER_SET_TOUCHBUF = 0x0004801f,
+ RPI_FIRMWARE_FRAMEBUFFER_SET_VSYNC = 0x0004800e,
+ RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f,
+
diff --git a/target/linux/brcm2708/patches-4.4/0533-brcmvirt_gpio-Create-coherent-buffer-and-push-to-fir.patch b/target/linux/brcm2708/patches-4.4/0533-brcmvirt_gpio-Create-coherent-buffer-and-push-to-fir.patch
new file mode 100644
index 0000000000..ede0abea34
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0533-brcmvirt_gpio-Create-coherent-buffer-and-push-to-fir.patch
@@ -0,0 +1,169 @@
+From 07afae52a73991a3ea948aab5d0303a5a9805b41 Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Wed, 9 Nov 2016 22:42:39 +0000
+Subject: [PATCH] brcmvirt_gpio: Create coherent buffer and push to firmware
+
+---
+ drivers/gpio/gpio-bcm-virt.c | 88 +++++++++++++++++++++---------
+ include/soc/bcm2835/raspberrypi-firmware.h | 1 +
+ 2 files changed, 62 insertions(+), 27 deletions(-)
+
+--- a/drivers/gpio/gpio-bcm-virt.c
++++ b/drivers/gpio/gpio-bcm-virt.c
+@@ -15,6 +15,7 @@
+ #include <linux/module.h>
+ #include <linux/basic_mmio_gpio.h>
+ #include <linux/platform_device.h>
++#include <linux/dma-mapping.h>
+ #include <soc/bcm2835/raspberrypi-firmware.h>
+
+ #define MODULE_NAME "brcmvirt-gpio"
+@@ -26,6 +27,7 @@ struct brcmvirt_gpio {
+ /* two packed 16-bit counts of enabled and disables
+ Allows host to detect a brief enable that was missed */
+ u32 enables_disables[NUM_GPIO];
++ dma_addr_t bus_addr;
+ };
+
+ static int brcmvirt_gpio_dir_in(struct gpio_chip *gc, unsigned off)
+@@ -76,13 +78,13 @@ static void brcmvirt_gpio_set(struct gpi
+
+ static int brcmvirt_gpio_probe(struct platform_device *pdev)
+ {
++ int err = 0;
+ struct device *dev = &pdev->dev;
+ struct device_node *np = dev->of_node;
+ struct device_node *fw_node;
+ struct rpi_firmware *fw;
+ struct brcmvirt_gpio *ucb;
+ u32 gpiovirtbuf;
+- int err = 0;
+
+ fw_node = of_parse_phandle(np, "firmware", 0);
+ if (!fw_node) {
+@@ -94,35 +96,56 @@ static int brcmvirt_gpio_probe(struct pl
+ if (!fw)
+ return -EPROBE_DEFER;
+
+- err = rpi_firmware_property(fw, RPI_FIRMWARE_FRAMEBUFFER_GET_GPIOVIRTBUF,
+- &gpiovirtbuf, sizeof(gpiovirtbuf));
+-
+- if (err) {
+- dev_err(dev, "Failed to get gpiovirtbuf\n");
+- goto err;
+- }
+-
+- if (!gpiovirtbuf) {
+- dev_err(dev, "No virtgpio buffer\n");
+- err = -ENOENT;
+- goto err;
+- }
+-
+ ucb = devm_kzalloc(dev, sizeof *ucb, GFP_KERNEL);
+ if (!ucb) {
+ err = -EINVAL;
+- goto err;
++ goto out;
+ }
+
+- // mmap the physical memory
+- gpiovirtbuf &= ~0xc0000000;
+- ucb->ts_base = ioremap(gpiovirtbuf, 4096);
+- if (ucb->ts_base == NULL) {
+- dev_err(dev, "Failed to map physical address\n");
+- err = -ENOENT;
+- goto err;
++ ucb->ts_base = dma_zalloc_coherent(NULL, PAGE_SIZE, &ucb->bus_addr, GFP_KERNEL);
++ if (!ucb->ts_base) {
++ pr_err("[%s]: failed to dma_alloc_coherent(%ld)\n",
++ __func__, PAGE_SIZE);
++ err = -ENOMEM;
++ goto out;
+ }
+
++ gpiovirtbuf = (u32)ucb->bus_addr;
++ err = rpi_firmware_property(fw, RPI_FIRMWARE_FRAMEBUFFER_SET_GPIOVIRTBUF,
++ &gpiovirtbuf, sizeof(gpiovirtbuf));
++
++ if (err || gpiovirtbuf != 0) {
++ dev_warn(dev, "Failed to set gpiovirtbuf, trying to get err:%x\n", err);
++ dma_free_coherent(NULL, PAGE_SIZE, ucb->ts_base, ucb->bus_addr);
++ ucb->ts_base = 0;
++ ucb->bus_addr = 0;
++ }
++
++ if (!ucb->ts_base) {
++ err = rpi_firmware_property(fw, RPI_FIRMWARE_FRAMEBUFFER_GET_GPIOVIRTBUF,
++ &gpiovirtbuf, sizeof(gpiovirtbuf));
++
++ if (err) {
++ dev_err(dev, "Failed to get gpiovirtbuf\n");
++ goto out;
++ }
++
++ if (!gpiovirtbuf) {
++ dev_err(dev, "No virtgpio buffer\n");
++ err = -ENOENT;
++ goto out;
++ }
++
++ // mmap the physical memory
++ gpiovirtbuf &= ~0xc0000000;
++ ucb->ts_base = ioremap(gpiovirtbuf, 4096);
++ if (ucb->ts_base == NULL) {
++ dev_err(dev, "Failed to map physical address\n");
++ err = -ENOENT;
++ goto out;
++ }
++ ucb->bus_addr = 0;
++ }
+ ucb->gc.label = MODULE_NAME;
+ ucb->gc.owner = THIS_MODULE;
+ ucb->gc.dev = dev;
+@@ -138,13 +161,21 @@ static int brcmvirt_gpio_probe(struct pl
+
+ err = gpiochip_add(&ucb->gc);
+ if (err)
+- goto err;
++ goto out;
+
+ platform_set_drvdata(pdev, ucb);
+
+-err:
++ return 0;
++out:
++ if (ucb->bus_addr) {
++ dma_free_coherent(NULL, PAGE_SIZE, ucb->ts_base, ucb->bus_addr);
++ ucb->bus_addr = 0;
++ ucb->ts_base = NULL;
++ } else if (ucb->ts_base) {
++ iounmap(ucb->ts_base);
++ ucb->ts_base = NULL;
++ }
+ return err;
+-
+ }
+
+ static int brcmvirt_gpio_remove(struct platform_device *pdev)
+@@ -153,7 +184,10 @@ static int brcmvirt_gpio_remove(struct p
+ struct brcmvirt_gpio *ucb = platform_get_drvdata(pdev);
+
+ gpiochip_remove(&ucb->gc);
+- iounmap(ucb->ts_base);
++ if (ucb->bus_addr)
++ dma_free_coherent(NULL, PAGE_SIZE, ucb->ts_base, ucb->bus_addr);
++ else if (ucb->ts_base)
++ iounmap(ucb->ts_base);
+ return err;
+ }
+
+--- a/include/soc/bcm2835/raspberrypi-firmware.h
++++ b/include/soc/bcm2835/raspberrypi-firmware.h
+@@ -118,6 +118,7 @@ enum rpi_firmware_property_tag {
+ RPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN = 0x0004800a,
+ RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE = 0x0004800b,
+ RPI_FIRMWARE_FRAMEBUFFER_SET_TOUCHBUF = 0x0004801f,
++ RPI_FIRMWARE_FRAMEBUFFER_SET_GPIOVIRTBUF = 0x00048020,
+ RPI_FIRMWARE_FRAMEBUFFER_SET_VSYNC = 0x0004800e,
+ RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f,
+
diff --git a/target/linux/brcm2708/patches-4.4/0534-brcmvirt_gpio-Pass-device-structure-into-dma_zalloc_.patch b/target/linux/brcm2708/patches-4.4/0534-brcmvirt_gpio-Pass-device-structure-into-dma_zalloc_.patch
new file mode 100644
index 0000000000..ff70e34f06
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0534-brcmvirt_gpio-Pass-device-structure-into-dma_zalloc_.patch
@@ -0,0 +1,53 @@
+From 4b40f23d8afba2fe227e515d0c793e95530350b2 Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Mon, 14 Nov 2016 17:46:54 +0000
+Subject: [PATCH] brcmvirt_gpio: Pass device structure into dma_zalloc_coherent
+
+---
+ drivers/gpio/gpio-bcm-virt.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+--- a/drivers/gpio/gpio-bcm-virt.c
++++ b/drivers/gpio/gpio-bcm-virt.c
+@@ -102,7 +102,7 @@ static int brcmvirt_gpio_probe(struct pl
+ goto out;
+ }
+
+- ucb->ts_base = dma_zalloc_coherent(NULL, PAGE_SIZE, &ucb->bus_addr, GFP_KERNEL);
++ ucb->ts_base = dma_zalloc_coherent(dev, PAGE_SIZE, &ucb->bus_addr, GFP_KERNEL);
+ if (!ucb->ts_base) {
+ pr_err("[%s]: failed to dma_alloc_coherent(%ld)\n",
+ __func__, PAGE_SIZE);
+@@ -116,7 +116,7 @@ static int brcmvirt_gpio_probe(struct pl
+
+ if (err || gpiovirtbuf != 0) {
+ dev_warn(dev, "Failed to set gpiovirtbuf, trying to get err:%x\n", err);
+- dma_free_coherent(NULL, PAGE_SIZE, ucb->ts_base, ucb->bus_addr);
++ dma_free_coherent(dev, PAGE_SIZE, ucb->ts_base, ucb->bus_addr);
+ ucb->ts_base = 0;
+ ucb->bus_addr = 0;
+ }
+@@ -168,7 +168,7 @@ static int brcmvirt_gpio_probe(struct pl
+ return 0;
+ out:
+ if (ucb->bus_addr) {
+- dma_free_coherent(NULL, PAGE_SIZE, ucb->ts_base, ucb->bus_addr);
++ dma_free_coherent(dev, PAGE_SIZE, ucb->ts_base, ucb->bus_addr);
+ ucb->bus_addr = 0;
+ ucb->ts_base = NULL;
+ } else if (ucb->ts_base) {
+@@ -180,12 +180,13 @@ out:
+
+ static int brcmvirt_gpio_remove(struct platform_device *pdev)
+ {
++ struct device *dev = &pdev->dev;
+ int err = 0;
+ struct brcmvirt_gpio *ucb = platform_get_drvdata(pdev);
+
+ gpiochip_remove(&ucb->gc);
+ if (ucb->bus_addr)
+- dma_free_coherent(NULL, PAGE_SIZE, ucb->ts_base, ucb->bus_addr);
++ dma_free_coherent(dev, PAGE_SIZE, ucb->ts_base, ucb->bus_addr);
+ else if (ucb->ts_base)
+ iounmap(ucb->ts_base);
+ return err;
diff --git a/target/linux/brcm2708/patches-4.4/0535-rpi-ft5406-Pass-device-structure-into-dma_zalloc_coh.patch b/target/linux/brcm2708/patches-4.4/0535-rpi-ft5406-Pass-device-structure-into-dma_zalloc_coh.patch
new file mode 100644
index 0000000000..283135c97d
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0535-rpi-ft5406-Pass-device-structure-into-dma_zalloc_coh.patch
@@ -0,0 +1,38 @@
+From caae57f942bb200e8bf32db60e124e7a2ce798e0 Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Mon, 14 Nov 2016 20:14:21 +0000
+Subject: [PATCH] rpi-ft5406: Pass device structure into dma_zalloc_coherent
+
+---
+ drivers/input/touchscreen/rpi-ft5406.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/input/touchscreen/rpi-ft5406.c
++++ b/drivers/input/touchscreen/rpi-ft5406.c
+@@ -151,7 +151,7 @@ static int ft5406_probe(struct platform_
+ return -ENOMEM;
+ }
+
+- ts->ts_base = dma_zalloc_coherent(NULL, PAGE_SIZE, &ts->bus_addr, GFP_KERNEL);
++ ts->ts_base = dma_zalloc_coherent(dev, PAGE_SIZE, &ts->bus_addr, GFP_KERNEL);
+ if (!ts->ts_base) {
+ pr_err("[%s]: failed to dma_alloc_coherent(%ld)\n",
+ __func__, PAGE_SIZE);
+@@ -165,7 +165,7 @@ static int ft5406_probe(struct platform_
+
+ if (err || touchbuf != 0) {
+ dev_warn(dev, "Failed to set touchbuf, trying to get err:%x\n", err);
+- dma_free_coherent(NULL, PAGE_SIZE, ts->ts_base, ts->bus_addr);
++ dma_free_coherent(dev, PAGE_SIZE, ts->ts_base, ts->bus_addr);
+ ts->ts_base = 0;
+ ts->bus_addr = 0;
+ }
+@@ -238,7 +238,7 @@ static int ft5406_probe(struct platform_
+
+ out:
+ if (ts->bus_addr) {
+- dma_free_coherent(NULL, PAGE_SIZE, ts->ts_base, ts->bus_addr);
++ dma_free_coherent(dev, PAGE_SIZE, ts->ts_base, ts->bus_addr);
+ ts->bus_addr = 0;
+ ts->ts_base = NULL;
+ } else if (ts->ts_base) {
diff --git a/target/linux/brcm2708/patches-4.4/0536-drm-vc4-Fix-a-couple-error-codes-in-vc4_cl_lookup_bo.patch b/target/linux/brcm2708/patches-4.4/0536-drm-vc4-Fix-a-couple-error-codes-in-vc4_cl_lookup_bo.patch
new file mode 100644
index 0000000000..8f09d5c6ce
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0536-drm-vc4-Fix-a-couple-error-codes-in-vc4_cl_lookup_bo.patch
@@ -0,0 +1,39 @@
+From 4c41f90e1f84c4a5c080eca03b07a0116297593b Mon Sep 17 00:00:00 2001
+From: Dan Carpenter <dan.carpenter@oracle.com>
+Date: Thu, 13 Oct 2016 11:54:31 +0300
+Subject: [PATCH] drm/vc4: Fix a couple error codes in vc4_cl_lookup_bos()
+
+If the allocation fails the current code returns success. If
+copy_from_user() fails it returns the number of bytes remaining instead
+of -EFAULT.
+
+Fixes: d5b1a78a772f ("drm/vc4: Add support for drawing 3D frames.")
+Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
+Reviewed-by: Eric Anholt <eric@anholt.net>
+(cherry picked from commit b2cdeb19f16ad984eb5bb9193f793d05a8101511)
+---
+ drivers/gpu/drm/vc4/vc4_gem.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_gem.c
++++ b/drivers/gpu/drm/vc4/vc4_gem.c
+@@ -560,14 +560,15 @@ vc4_cl_lookup_bos(struct drm_device *dev
+
+ handles = drm_malloc_ab(exec->bo_count, sizeof(uint32_t));
+ if (!handles) {
++ ret = -ENOMEM;
+ DRM_ERROR("Failed to allocate incoming GEM handles\n");
+ goto fail;
+ }
+
+- ret = copy_from_user(handles,
+- (void __user *)(uintptr_t)args->bo_handles,
+- exec->bo_count * sizeof(uint32_t));
+- if (ret) {
++ if (copy_from_user(handles,
++ (void __user *)(uintptr_t)args->bo_handles,
++ exec->bo_count * sizeof(uint32_t))) {
++ ret = -EFAULT;
+ DRM_ERROR("Failed to copy in GEM handles\n");
+ goto fail;
+ }
diff --git a/target/linux/brcm2708/patches-4.4/0537-drm-vc4-Fix-termination-of-the-initial-scan-for-bran.patch b/target/linux/brcm2708/patches-4.4/0537-drm-vc4-Fix-termination-of-the-initial-scan-for-bran.patch
new file mode 100644
index 0000000000..c31307278b
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0537-drm-vc4-Fix-termination-of-the-initial-scan-for-bran.patch
@@ -0,0 +1,68 @@
+From 1f42fbc79dea3529dd919249ee6e58f157704aaf Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Thu, 20 Oct 2016 16:48:12 -0700
+Subject: [PATCH] drm/vc4: Fix termination of the initial scan for branch
+ targets.
+
+The loop is scanning until the original max_ip (size of the BO), but
+we want to not examine any code after the PROG_END's delay slots.
+There was a block trying to do that, except that we had some early
+continue statements if the signal wasn't a PROG_END or a BRANCH.
+
+The failure mode would be that a valid shader is rejected because some
+undefined memory after the PROG_END slots is parsed as a branch and
+the rest of its setup is illegal. I haven't seen this in the wild,
+but valgrind was complaining when about this up in the userland
+simulator mode.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+(cherry picked from commit 457e67a728696c4f8e6423c64e93def50530db9a)
+---
+ drivers/gpu/drm/vc4/vc4_validate_shaders.c | 19 ++++++++-----------
+ 1 file changed, 8 insertions(+), 11 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_validate_shaders.c
++++ b/drivers/gpu/drm/vc4/vc4_validate_shaders.c
+@@ -608,9 +608,7 @@ static bool
+ vc4_validate_branches(struct vc4_shader_validation_state *validation_state)
+ {
+ uint32_t max_branch_target = 0;
+- bool found_shader_end = false;
+ int ip;
+- int shader_end_ip = 0;
+ int last_branch = -2;
+
+ for (ip = 0; ip < validation_state->max_ip; ip++) {
+@@ -621,8 +619,13 @@ vc4_validate_branches(struct vc4_shader_
+ uint32_t branch_target_ip;
+
+ if (sig == QPU_SIG_PROG_END) {
+- shader_end_ip = ip;
+- found_shader_end = true;
++ /* There are two delay slots after program end is
++ * signaled that are still executed, then we're
++ * finished. validation_state->max_ip is the
++ * instruction after the last valid instruction in the
++ * program.
++ */
++ validation_state->max_ip = ip + 3;
+ continue;
+ }
+
+@@ -676,15 +679,9 @@ vc4_validate_branches(struct vc4_shader_
+ }
+ set_bit(after_delay_ip, validation_state->branch_targets);
+ max_branch_target = max(max_branch_target, after_delay_ip);
+-
+- /* There are two delay slots after program end is signaled
+- * that are still executed, then we're finished.
+- */
+- if (found_shader_end && ip == shader_end_ip + 2)
+- break;
+ }
+
+- if (max_branch_target > shader_end_ip) {
++ if (max_branch_target > validation_state->max_ip - 3) {
+ DRM_ERROR("Branch landed after QPU_SIG_PROG_END");
+ return false;
+ }
diff --git a/target/linux/brcm2708/patches-4.4/0538-drm-vc4-Add-support-for-rendering-with-ETC1-textures.patch b/target/linux/brcm2708/patches-4.4/0538-drm-vc4-Add-support-for-rendering-with-ETC1-textures.patch
new file mode 100644
index 0000000000..f9be55a6ba
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0538-drm-vc4-Add-support-for-rendering-with-ETC1-textures.patch
@@ -0,0 +1,55 @@
+From 466102927ee6a21eb58d0f5f98b85155e7ee8e5b Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Thu, 3 Nov 2016 18:53:10 -0700
+Subject: [PATCH] drm/vc4: Add support for rendering with ETC1 textures.
+
+The validation for it ends up being quite simple, but I hadn't got
+around to it before merging the driver. For backwards compatibility,
+we also need to add a flag so that the userspace GL driver can easily
+tell if the kernel will allow ETC1 textures (on an old kernel, it will
+continue to convert to RGBA8)
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+(cherry picked from commit 7154d76fedf549607afbc0d13db9aaf02da5cebf)
+---
+ drivers/gpu/drm/vc4/vc4_drv.c | 1 +
+ drivers/gpu/drm/vc4/vc4_validate.c | 7 +++++++
+ include/uapi/drm/vc4_drm.h | 1 +
+ 3 files changed, 9 insertions(+)
+
+--- a/drivers/gpu/drm/vc4/vc4_drv.c
++++ b/drivers/gpu/drm/vc4/vc4_drv.c
+@@ -103,6 +103,7 @@ static int vc4_get_param_ioctl(struct dr
+ pm_runtime_put(&vc4->v3d->pdev->dev);
+ break;
+ case DRM_VC4_PARAM_SUPPORTS_BRANCHES:
++ case DRM_VC4_PARAM_SUPPORTS_ETC1:
+ args->value = true;
+ break;
+ default:
+--- a/drivers/gpu/drm/vc4/vc4_validate.c
++++ b/drivers/gpu/drm/vc4/vc4_validate.c
+@@ -644,6 +644,13 @@ reloc_tex(struct vc4_exec_info *exec,
+ cpp = 1;
+ break;
+ case VC4_TEXTURE_TYPE_ETC1:
++ /* ETC1 is arranged as 64-bit blocks, where each block is 4x4
++ * pixels.
++ */
++ cpp = 8;
++ width = (width + 3) >> 2;
++ height = (height + 3) >> 2;
++ break;
+ case VC4_TEXTURE_TYPE_BW1:
+ case VC4_TEXTURE_TYPE_A4:
+ case VC4_TEXTURE_TYPE_A1:
+--- a/include/uapi/drm/vc4_drm.h
++++ b/include/uapi/drm/vc4_drm.h
+@@ -286,6 +286,7 @@ struct drm_vc4_get_hang_state {
+ #define DRM_VC4_PARAM_V3D_IDENT1 1
+ #define DRM_VC4_PARAM_V3D_IDENT2 2
+ #define DRM_VC4_PARAM_SUPPORTS_BRANCHES 3
++#define DRM_VC4_PARAM_SUPPORTS_ETC1 4
+
+ struct drm_vc4_get_param {
+ __u32 param;
diff --git a/target/linux/brcm2708/patches-4.4/0539-drm-vc4-Use-runtime-autosuspend-to-avoid-thrashing-V.patch b/target/linux/brcm2708/patches-4.4/0539-drm-vc4-Use-runtime-autosuspend-to-avoid-thrashing-V.patch
new file mode 100644
index 0000000000..ca9c2e8d4d
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0539-drm-vc4-Use-runtime-autosuspend-to-avoid-thrashing-V.patch
@@ -0,0 +1,78 @@
+From 5163dcd743642b47a6f82ced6dd110a669984359 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Fri, 4 Nov 2016 15:58:38 -0700
+Subject: [PATCH] drm/vc4: Use runtime autosuspend to avoid thrashing V3D power
+ state.
+
+The pm_runtime_put() we were using immediately released power on the
+device, which meant that we were generally turning the device off and
+on once per frame. In many profiles I've looked at, that added up to
+about 1% of CPU time, but this could get worse in the case of frequent
+rendering and readback (as may happen in X rendering). By keeping the
+device on until we've been idle for a couple of frames, we drop the
+overhead of runtime PM down to sub-.1%.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+(cherry picked from commit 3a62234680d86efa0239665ed8a0e908f1aef147)
+---
+ drivers/gpu/drm/vc4/vc4_drv.c | 9 ++++++---
+ drivers/gpu/drm/vc4/vc4_gem.c | 6 ++++--
+ drivers/gpu/drm/vc4/vc4_v3d.c | 2 ++
+ 3 files changed, 12 insertions(+), 5 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_drv.c
++++ b/drivers/gpu/drm/vc4/vc4_drv.c
+@@ -86,21 +86,24 @@ static int vc4_get_param_ioctl(struct dr
+ if (ret < 0)
+ return ret;
+ args->value = V3D_READ(V3D_IDENT0);
+- pm_runtime_put(&vc4->v3d->pdev->dev);
++ pm_runtime_mark_last_busy(&vc4->v3d->pdev->dev);
++ pm_runtime_put_autosuspend(&vc4->v3d->pdev->dev);
+ break;
+ case DRM_VC4_PARAM_V3D_IDENT1:
+ ret = pm_runtime_get_sync(&vc4->v3d->pdev->dev);
+ if (ret < 0)
+ return ret;
+ args->value = V3D_READ(V3D_IDENT1);
+- pm_runtime_put(&vc4->v3d->pdev->dev);
++ pm_runtime_mark_last_busy(&vc4->v3d->pdev->dev);
++ pm_runtime_put_autosuspend(&vc4->v3d->pdev->dev);
+ break;
+ case DRM_VC4_PARAM_V3D_IDENT2:
+ ret = pm_runtime_get_sync(&vc4->v3d->pdev->dev);
+ if (ret < 0)
+ return ret;
+ args->value = V3D_READ(V3D_IDENT2);
+- pm_runtime_put(&vc4->v3d->pdev->dev);
++ pm_runtime_mark_last_busy(&vc4->v3d->pdev->dev);
++ pm_runtime_put_autosuspend(&vc4->v3d->pdev->dev);
+ break;
+ case DRM_VC4_PARAM_SUPPORTS_BRANCHES:
+ case DRM_VC4_PARAM_SUPPORTS_ETC1:
+--- a/drivers/gpu/drm/vc4/vc4_gem.c
++++ b/drivers/gpu/drm/vc4/vc4_gem.c
+@@ -728,8 +728,10 @@ vc4_complete_exec(struct drm_device *dev
+ mutex_unlock(&dev->struct_mutex);
+
+ mutex_lock(&vc4->power_lock);
+- if (--vc4->power_refcount == 0)
+- pm_runtime_put(&vc4->v3d->pdev->dev);
++ if (--vc4->power_refcount == 0) {
++ pm_runtime_mark_last_busy(&vc4->v3d->pdev->dev);
++ pm_runtime_put_autosuspend(&vc4->v3d->pdev->dev);
++ }
+ mutex_unlock(&vc4->power_lock);
+
+ kfree(exec);
+--- a/drivers/gpu/drm/vc4/vc4_v3d.c
++++ b/drivers/gpu/drm/vc4/vc4_v3d.c
+@@ -222,6 +222,8 @@ static int vc4_v3d_bind(struct device *d
+ return ret;
+ }
+
++ pm_runtime_use_autosuspend(dev);
++ pm_runtime_set_autosuspend_delay(dev, 40); /* a little over 2 frames. */
+ pm_runtime_enable(dev);
+
+ return 0;
diff --git a/target/linux/brcm2708/patches-4.4/0540-drm-vc4-Use-drm_gem_object_unreference_unlocked.patch b/target/linux/brcm2708/patches-4.4/0540-drm-vc4-Use-drm_gem_object_unreference_unlocked.patch
new file mode 100644
index 0000000000..97afbed204
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0540-drm-vc4-Use-drm_gem_object_unreference_unlocked.patch
@@ -0,0 +1,76 @@
+From 180aed47cc2cc41b8669e9e6c61f79bf1b018fed Mon Sep 17 00:00:00 2001
+From: Daniel Vetter <daniel.vetter@ffwll.ch>
+Date: Mon, 30 May 2016 19:53:06 +0200
+Subject: [PATCH] drm/vc4: Use drm_gem_object_unreference_unlocked
+
+Since my last struct_mutex crusade someone escaped!
+
+This already has the advantage that for the common case when someone
+else holds a ref the unref won't even acquire dev->struct_mutex. And
+I'm working on code to allow drivers to completely opt-out of any and
+all dev->struct_mutex usage, but that only works if they use the
+_unlocked variants everywhere.
+
+v2: Drop comment too.
+
+v3: Drop the other comment too.
+
+Cc: Eric Anholt <eric@anholt.net>
+Reviewed-by: Eric Anholt <eric@anholt.net>
+Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
+Link: http://patchwork.freedesktop.org/patch/msgid/1464630800-30786-15-git-send-email-daniel.vetter@ffwll.ch
+(cherry picked from commit db3697295cf4da1356e3ec86761d464d6d013b48)
+---
+ drivers/gpu/drm/vc4/vc4_bo.c | 2 --
+ drivers/gpu/drm/vc4/vc4_gem.c | 11 +++--------
+ 2 files changed, 3 insertions(+), 10 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_bo.c
++++ b/drivers/gpu/drm/vc4/vc4_bo.c
+@@ -311,8 +311,6 @@ static void vc4_bo_cache_free_old(struct
+
+ /* Called on the last userspace/kernel unreference of the BO. Returns
+ * it to the BO cache if possible, otherwise frees it.
+- *
+- * Note that this is called with the struct_mutex held.
+ */
+ void vc4_free_object(struct drm_gem_object *gem_bo)
+ {
+--- a/drivers/gpu/drm/vc4/vc4_gem.c
++++ b/drivers/gpu/drm/vc4/vc4_gem.c
+@@ -67,10 +67,8 @@ vc4_free_hang_state(struct drm_device *d
+ {
+ unsigned int i;
+
+- mutex_lock(&dev->struct_mutex);
+ for (i = 0; i < state->user_state.bo_count; i++)
+- drm_gem_object_unreference(state->bo[i]);
+- mutex_unlock(&dev->struct_mutex);
++ drm_gem_object_unreference_unlocked(state->bo[i]);
+
+ kfree(state);
+ }
+@@ -711,11 +709,9 @@ vc4_complete_exec(struct drm_device *dev
+ struct vc4_dev *vc4 = to_vc4_dev(dev);
+ unsigned i;
+
+- /* Need the struct lock for drm_gem_object_unreference(). */
+- mutex_lock(&dev->struct_mutex);
+ if (exec->bo) {
+ for (i = 0; i < exec->bo_count; i++)
+- drm_gem_object_unreference(&exec->bo[i]->base);
++ drm_gem_object_unreference_unlocked(&exec->bo[i]->base);
+ kfree(exec->bo);
+ }
+
+@@ -723,9 +719,8 @@ vc4_complete_exec(struct drm_device *dev
+ struct vc4_bo *bo = list_first_entry(&exec->unref_list,
+ struct vc4_bo, unref_head);
+ list_del(&bo->unref_head);
+- drm_gem_object_unreference(&bo->base.base);
++ drm_gem_object_unreference_unlocked(&bo->base.base);
+ }
+- mutex_unlock(&dev->struct_mutex);
+
+ mutex_lock(&vc4->power_lock);
+ if (--vc4->power_refcount == 0) {
diff --git a/target/linux/brcm2708/patches-4.4/0541-drm-vc4-Use-drm_malloc_ab-to-fix-large-rendering-job.patch b/target/linux/brcm2708/patches-4.4/0541-drm-vc4-Use-drm_malloc_ab-to-fix-large-rendering-job.patch
new file mode 100644
index 0000000000..ea3dcd77a5
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0541-drm-vc4-Use-drm_malloc_ab-to-fix-large-rendering-job.patch
@@ -0,0 +1,57 @@
+From ed5a62d83a6a9bd2b318f0ed9bf9b3d28376f8f7 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Tue, 19 Jul 2016 11:32:44 -0700
+Subject: [PATCH] drm/vc4: Use drm_malloc_ab to fix large rendering jobs.
+
+If you exceeded the size that kmalloc would return, you'd get a dmesg
+warning and a return from the job submit. We can handle much
+allocations with vmalloc, and drm_malloc_ab makes that decision.
+
+Fixes failure in piglit's scissor-many.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+(cherry picked from commit ece7267dccf0e9e08cb6e8dc6b7ad2be9c4eb444)
+---
+ drivers/gpu/drm/vc4/vc4_gem.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_gem.c
++++ b/drivers/gpu/drm/vc4/vc4_gem.c
+@@ -549,8 +549,8 @@ vc4_cl_lookup_bos(struct drm_device *dev
+ return -EINVAL;
+ }
+
+- exec->bo = kcalloc(exec->bo_count, sizeof(struct drm_gem_cma_object *),
+- GFP_KERNEL);
++ exec->bo = drm_calloc_large(exec->bo_count,
++ sizeof(struct drm_gem_cma_object *));
+ if (!exec->bo) {
+ DRM_ERROR("Failed to allocate validated BO pointers\n");
+ return -ENOMEM;
+@@ -624,7 +624,7 @@ vc4_get_bcl(struct drm_device *dev, stru
+ * read the contents back for validation, and I think the
+ * bo->vaddr is uncached access.
+ */
+- temp = kmalloc(temp_size, GFP_KERNEL);
++ temp = drm_malloc_ab(temp_size, 1);
+ if (!temp) {
+ DRM_ERROR("Failed to allocate storage for copying "
+ "in bin/render CLs.\n");
+@@ -699,7 +699,7 @@ vc4_get_bcl(struct drm_device *dev, stru
+ ret = vc4_wait_for_seqno(dev, exec->bin_dep_seqno, ~0ull, true);
+
+ fail:
+- kfree(temp);
++ drm_free_large(temp);
+ return ret;
+ }
+
+@@ -712,7 +712,7 @@ vc4_complete_exec(struct drm_device *dev
+ if (exec->bo) {
+ for (i = 0; i < exec->bo_count; i++)
+ drm_gem_object_unreference_unlocked(&exec->bo[i]->base);
+- kfree(exec->bo);
++ drm_free_large(exec->bo);
+ }
+
+ while (!list_empty(&exec->unref_list)) {
diff --git a/target/linux/brcm2708/patches-4.4/0542-drm-vc4-Free-hang-state-before-destroying-BO-cache.patch b/target/linux/brcm2708/patches-4.4/0542-drm-vc4-Free-hang-state-before-destroying-BO-cache.patch
new file mode 100644
index 0000000000..1aaedde4fc
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0542-drm-vc4-Free-hang-state-before-destroying-BO-cache.patch
@@ -0,0 +1,29 @@
+From 12588d06f8dca8bfdffae3d7e9c181160c2fbf6e Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Tue, 26 Jul 2016 13:47:13 -0700
+Subject: [PATCH] drm/vc4: Free hang state before destroying BO cache.
+
+The BO cache will complain if BOs are still allocated when we try to
+destroy it (since freeing those BOs would try to hit the cache). You
+could hit this if you were to unload the module after a GPU hang.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+Fixes: 214613656b51 ("drm/vc4: Add an interface for capturing the GPU state after a hang.")
+(cherry picked from commit def96527707e1978a0c88e75d13b082f51460d5c)
+---
+ drivers/gpu/drm/vc4/vc4_gem.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_gem.c
++++ b/drivers/gpu/drm/vc4/vc4_gem.c
+@@ -968,8 +968,8 @@ vc4_gem_destroy(struct drm_device *dev)
+ vc4->overflow_mem = NULL;
+ }
+
+- vc4_bo_cache_destroy(dev);
+-
+ if (vc4->hang_state)
+ vc4_free_hang_state(dev, vc4->hang_state);
++
++ vc4_bo_cache_destroy(dev);
+ }
diff --git a/target/linux/brcm2708/patches-4.4/0543-fixup-fb-Use-basic-types-for-dma-addresses-as-these-.patch b/target/linux/brcm2708/patches-4.4/0543-fixup-fb-Use-basic-types-for-dma-addresses-as-these-.patch
new file mode 100644
index 0000000000..348f28d8f3
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0543-fixup-fb-Use-basic-types-for-dma-addresses-as-these-.patch
@@ -0,0 +1,23 @@
+From ab3d72ab3a895ece2820f6de879472eafb157c39 Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Mon, 14 Nov 2016 22:05:30 +0000
+Subject: [PATCH] fixup: fb: Use basic types for dma addresses as these are
+ also included from user code
+
+---
+ include/uapi/linux/fb.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/include/uapi/linux/fb.h
++++ b/include/uapi/linux/fb.h
+@@ -353,8 +353,8 @@ struct fb_copyarea {
+ };
+
+ struct fb_dmacopy {
+- dma_addr_t dst;
+- dma_addr_t src;
++ void *dst;
++ __u32 src;
+ __u32 length;
+ };
+
diff --git a/target/linux/brcm2708/patches-4.4/0544-fb-Use-correct-bus-address-for-dest-of-dma-memcpy.patch b/target/linux/brcm2708/patches-4.4/0544-fb-Use-correct-bus-address-for-dest-of-dma-memcpy.patch
new file mode 100644
index 0000000000..90bce7ec78
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0544-fb-Use-correct-bus-address-for-dest-of-dma-memcpy.patch
@@ -0,0 +1,29 @@
+From 02baa554c7768e20668a466b35e479e8454d2d61 Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Wed, 16 Nov 2016 21:17:27 +0000
+Subject: [PATCH] fb: Use correct bus address for dest of dma memcpy
+
+---
+ drivers/video/fbdev/bcm2708_fb.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/video/fbdev/bcm2708_fb.c
++++ b/drivers/video/fbdev/bcm2708_fb.c
+@@ -438,7 +438,7 @@ static void dma_memcpy(struct bcm2708_fb
+
+ cb->info = BCM2708_DMA_BURST(burst_size) | BCM2708_DMA_S_WIDTH |
+ BCM2708_DMA_S_INC | BCM2708_DMA_D_WIDTH |
+- BCM2708_DMA_D_INC | BCM2708_DMA_TDMODE;
++ BCM2708_DMA_D_INC;
+ cb->dst = dst;
+ cb->src = src;
+ cb->length = size;
+@@ -521,7 +521,7 @@ static long vc_mem_copy(struct bcm2708_f
+ size_t s = min(size, remaining);
+ unsigned char *p = (unsigned char *)ioparam.src + offset;
+ unsigned char *q = (unsigned char *)ioparam.dst + offset;
+- dma_memcpy(fb, (dma_addr_t)buf, INTALIAS_L1L2_NONALLOCATING((dma_addr_t)p), size);
++ dma_memcpy(fb, bus_addr, INTALIAS_L1L2_NONALLOCATING((dma_addr_t)p), size);
+ if (copy_to_user(q, buf, s) != 0) {
+ pr_err("[%s]: failed to copy-to-user\n",
+ __func__);
diff --git a/target/linux/brcm2708/patches-4.4/0545-drm-vc4-Add-fragment-shader-threading-support.patch b/target/linux/brcm2708/patches-4.4/0545-drm-vc4-Add-fragment-shader-threading-support.patch
new file mode 100644
index 0000000000..9c5e5e2a3d
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0545-drm-vc4-Add-fragment-shader-threading-support.patch
@@ -0,0 +1,228 @@
+From 9bb867075fc4b0b7efc1640dc4cdd5b70b482ff1 Mon Sep 17 00:00:00 2001
+From: Jonas Pfeil <pfeiljonas@gmx.de>
+Date: Tue, 8 Nov 2016 00:18:39 +0100
+Subject: [PATCH] drm/vc4: Add fragment shader threading support
+
+FS threading brings performance improvements of 0-20% in glmark2.
+
+The validation code checks for thread switch signals and ensures that
+the registers of the other thread are not touched, and that our clamps
+are not live across thread switches. It also checks that the
+threading and branching instructions do not interfere.
+
+(Original patch by Jonas, changes by anholt for style cleanup,
+removing validation the kernel doesn't need to do, and adding the flag
+for userspace).
+
+v2: Minor style fixes from checkpatch.
+
+Signed-off-by: Jonas Pfeil <pfeiljonas@gmx.de>
+Signed-off-by: Eric Anholt <eric@anholt.net>
+(cherry picked from commit c778cc5df944291dcdb1ca7a6bb781fbc22550c5)
+---
+ drivers/gpu/drm/vc4/vc4_drv.c | 1 +
+ drivers/gpu/drm/vc4/vc4_drv.h | 2 +
+ drivers/gpu/drm/vc4/vc4_validate.c | 17 +++++---
+ drivers/gpu/drm/vc4/vc4_validate_shaders.c | 63 ++++++++++++++++++++++++++++++
+ include/uapi/drm/vc4_drm.h | 1 +
+ 5 files changed, 79 insertions(+), 5 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_drv.c
++++ b/drivers/gpu/drm/vc4/vc4_drv.c
+@@ -107,6 +107,7 @@ static int vc4_get_param_ioctl(struct dr
+ break;
+ case DRM_VC4_PARAM_SUPPORTS_BRANCHES:
+ case DRM_VC4_PARAM_SUPPORTS_ETC1:
++ case DRM_VC4_PARAM_SUPPORTS_THREADED_FS:
+ args->value = true;
+ break;
+ default:
+--- a/drivers/gpu/drm/vc4/vc4_drv.h
++++ b/drivers/gpu/drm/vc4/vc4_drv.h
+@@ -395,6 +395,8 @@ struct vc4_validated_shader_info {
+
+ uint32_t num_uniform_addr_offsets;
+ uint32_t *uniform_addr_offsets;
++
++ bool is_threaded;
+ };
+
+ /**
+--- a/drivers/gpu/drm/vc4/vc4_validate.c
++++ b/drivers/gpu/drm/vc4/vc4_validate.c
+@@ -789,11 +789,6 @@ validate_gl_shader_rec(struct drm_device
+ exec->shader_rec_v += roundup(packet_size, 16);
+ exec->shader_rec_size -= packet_size;
+
+- if (!(*(uint16_t *)pkt_u & VC4_SHADER_FLAG_FS_SINGLE_THREAD)) {
+- DRM_ERROR("Multi-threaded fragment shaders not supported.\n");
+- return -EINVAL;
+- }
+-
+ for (i = 0; i < shader_reloc_count; i++) {
+ if (src_handles[i] > exec->bo_count) {
+ DRM_ERROR("Shader handle %d too big\n", src_handles[i]);
+@@ -810,6 +805,18 @@ validate_gl_shader_rec(struct drm_device
+ return -EINVAL;
+ }
+
++ if (((*(uint16_t *)pkt_u & VC4_SHADER_FLAG_FS_SINGLE_THREAD) == 0) !=
++ to_vc4_bo(&bo[0]->base)->validated_shader->is_threaded) {
++ DRM_ERROR("Thread mode of CL and FS do not match\n");
++ return -EINVAL;
++ }
++
++ if (to_vc4_bo(&bo[1]->base)->validated_shader->is_threaded ||
++ to_vc4_bo(&bo[2]->base)->validated_shader->is_threaded) {
++ DRM_ERROR("cs and vs cannot be threaded\n");
++ return -EINVAL;
++ }
++
+ for (i = 0; i < shader_reloc_count; i++) {
+ struct vc4_validated_shader_info *validated_shader;
+ uint32_t o = shader_reloc_offsets[i];
+--- a/drivers/gpu/drm/vc4/vc4_validate_shaders.c
++++ b/drivers/gpu/drm/vc4/vc4_validate_shaders.c
+@@ -83,6 +83,13 @@ struct vc4_shader_validation_state {
+ * basic blocks.
+ */
+ bool needs_uniform_address_for_loop;
++
++ /* Set when we find an instruction writing the top half of the
++ * register files. If we allowed writing the unusable regs in
++ * a threaded shader, then the other shader running on our
++ * QPU's clamp validation would be invalid.
++ */
++ bool all_registers_used;
+ };
+
+ static uint32_t
+@@ -119,6 +126,13 @@ raddr_add_a_to_live_reg_index(uint64_t i
+ }
+
+ static bool
++live_reg_is_upper_half(uint32_t lri)
++{
++ return (lri >= 16 && lri < 32) ||
++ (lri >= 32 + 16 && lri < 32 + 32);
++}
++
++static bool
+ is_tmu_submit(uint32_t waddr)
+ {
+ return (waddr == QPU_W_TMU0_S ||
+@@ -390,6 +404,9 @@ check_reg_write(struct vc4_validated_sha
+ } else {
+ validation_state->live_immediates[lri] = ~0;
+ }
++
++ if (live_reg_is_upper_half(lri))
++ validation_state->all_registers_used = true;
+ }
+
+ switch (waddr) {
+@@ -598,6 +615,11 @@ check_instruction_reads(struct vc4_valid
+ }
+ }
+
++ if ((raddr_a >= 16 && raddr_a < 32) ||
++ (raddr_b >= 16 && raddr_b < 32 && sig != QPU_SIG_SMALL_IMM)) {
++ validation_state->all_registers_used = true;
++ }
++
+ return true;
+ }
+
+@@ -753,6 +775,7 @@ vc4_validate_shader(struct drm_gem_cma_o
+ {
+ bool found_shader_end = false;
+ int shader_end_ip = 0;
++ uint32_t last_thread_switch_ip = -3;
+ uint32_t ip;
+ struct vc4_validated_shader_info *validated_shader = NULL;
+ struct vc4_shader_validation_state validation_state;
+@@ -785,6 +808,17 @@ vc4_validate_shader(struct drm_gem_cma_o
+ if (!vc4_handle_branch_target(&validation_state))
+ goto fail;
+
++ if (ip == last_thread_switch_ip + 3) {
++ /* Reset r0-r3 live clamp data */
++ int i;
++
++ for (i = 64; i < LIVE_REG_COUNT; i++) {
++ validation_state.live_min_clamp_offsets[i] = ~0;
++ validation_state.live_max_clamp_regs[i] = false;
++ validation_state.live_immediates[i] = ~0;
++ }
++ }
++
+ switch (sig) {
+ case QPU_SIG_NONE:
+ case QPU_SIG_WAIT_FOR_SCOREBOARD:
+@@ -794,6 +828,8 @@ vc4_validate_shader(struct drm_gem_cma_o
+ case QPU_SIG_LOAD_TMU1:
+ case QPU_SIG_PROG_END:
+ case QPU_SIG_SMALL_IMM:
++ case QPU_SIG_THREAD_SWITCH:
++ case QPU_SIG_LAST_THREAD_SWITCH:
+ if (!check_instruction_writes(validated_shader,
+ &validation_state)) {
+ DRM_ERROR("Bad write at ip %d\n", ip);
+@@ -809,6 +845,18 @@ vc4_validate_shader(struct drm_gem_cma_o
+ shader_end_ip = ip;
+ }
+
++ if (sig == QPU_SIG_THREAD_SWITCH ||
++ sig == QPU_SIG_LAST_THREAD_SWITCH) {
++ validated_shader->is_threaded = true;
++
++ if (ip < last_thread_switch_ip + 3) {
++ DRM_ERROR("Thread switch too soon after "
++ "last switch at ip %d\n", ip);
++ goto fail;
++ }
++ last_thread_switch_ip = ip;
++ }
++
+ break;
+
+ case QPU_SIG_LOAD_IMM:
+@@ -823,6 +871,13 @@ vc4_validate_shader(struct drm_gem_cma_o
+ if (!check_branch(inst, validated_shader,
+ &validation_state, ip))
+ goto fail;
++
++ if (ip < last_thread_switch_ip + 3) {
++ DRM_ERROR("Branch in thread switch at ip %d",
++ ip);
++ goto fail;
++ }
++
+ break;
+ default:
+ DRM_ERROR("Unsupported QPU signal %d at "
+@@ -844,6 +899,14 @@ vc4_validate_shader(struct drm_gem_cma_o
+ goto fail;
+ }
+
++ /* Might corrupt other thread */
++ if (validated_shader->is_threaded &&
++ validation_state.all_registers_used) {
++ DRM_ERROR("Shader uses threading, but uses the upper "
++ "half of the registers, too\n");
++ goto fail;
++ }
++
+ /* If we did a backwards branch and we haven't emitted a uniforms
+ * reset since then, we still need the uniforms stream to have the
+ * uniforms address available so that the backwards branch can do its
+--- a/include/uapi/drm/vc4_drm.h
++++ b/include/uapi/drm/vc4_drm.h
+@@ -287,6 +287,7 @@ struct drm_vc4_get_hang_state {
+ #define DRM_VC4_PARAM_V3D_IDENT2 2
+ #define DRM_VC4_PARAM_SUPPORTS_BRANCHES 3
+ #define DRM_VC4_PARAM_SUPPORTS_ETC1 4
++#define DRM_VC4_PARAM_SUPPORTS_THREADED_FS 5
+
+ struct drm_vc4_get_param {
+ __u32 param;
diff --git a/target/linux/brcm2708/patches-4.4/0546-fb-Use-struct-device-for-dma_alloc_coherent.patch b/target/linux/brcm2708/patches-4.4/0546-fb-Use-struct-device-for-dma_alloc_coherent.patch
new file mode 100644
index 0000000000..e853e2aa2b
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0546-fb-Use-struct-device-for-dma_alloc_coherent.patch
@@ -0,0 +1,29 @@
+From aeef7a1c42f363b30a5a4c48f12301a5b46d8427 Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Thu, 17 Nov 2016 16:49:33 +0000
+Subject: [PATCH] fb: Use struct device for dma_alloc_coherent
+
+---
+ drivers/video/fbdev/bcm2708_fb.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/video/fbdev/bcm2708_fb.c
++++ b/drivers/video/fbdev/bcm2708_fb.c
+@@ -507,7 +507,7 @@ static long vc_mem_copy(struct bcm2708_f
+ return -EFAULT;
+ }
+
+- buf = dma_alloc_coherent(NULL, PAGE_ALIGN(size), &bus_addr,
++ buf = dma_alloc_coherent(fb->fb.device, PAGE_ALIGN(size), &bus_addr,
+ GFP_ATOMIC);
+ if (!buf) {
+ pr_err("[%s]: failed to dma_alloc_coherent(%d)\n",
+@@ -531,7 +531,7 @@ static long vc_mem_copy(struct bcm2708_f
+ }
+ out:
+ if (buf)
+- dma_free_coherent(NULL, PAGE_ALIGN(size), buf, bus_addr);
++ dma_free_coherent(fb->fb.device, PAGE_ALIGN(size), buf, bus_addr);
+ return rc;
+ }
+
diff --git a/target/linux/brcm2708/patches-4.4/0547-ARM-dts-Visit-overlays-subdir-unconditionally.patch b/target/linux/brcm2708/patches-4.4/0547-ARM-dts-Visit-overlays-subdir-unconditionally.patch
new file mode 100644
index 0000000000..0d9369cf81
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0547-ARM-dts-Visit-overlays-subdir-unconditionally.patch
@@ -0,0 +1,34 @@
+From 2e743a4c2f496667937b899770b4329788f0a0a0 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Fri, 18 Nov 2016 10:52:49 +0000
+Subject: [PATCH] ARM: dts: Visit overlays subdir unconditionally
+
+make clean processing occurs without loading the configuration, so the
+overlays subdir must be added unconditionally.
+
+See: https://github.com/raspberrypi/linux/issues/1723
+---
+ arch/arm/boot/dts/Makefile | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -18,9 +18,6 @@ endif
+ ifeq ($(CONFIG_ARCH_BCM2835),y)
+ RPI_DT_OVERLAYS=y
+ endif
+-ifeq ($(RPI_DT_OVERLAYS),y)
+- dts-dirs += overlays
+-endif
+
+ dtb-$(CONFIG_ARCH_ALPINE) += \
+ alpine-db.dtb
+@@ -809,7 +806,7 @@ dtstree := $(srctree)/$(src)
+ dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
+
+ always := $(dtb-y)
+-subdir-y := $(dts-dirs)
++subdir-y := $(dts-dirs) overlays
+ clean-files := *.dtb
+
+ # Enable fixups to support overlays on BCM2708 platforms
diff --git a/target/linux/brcm2708/patches-4.4/0548-Audioinjector-Fix-bit-offsets-for-equal-volume-and-a.patch b/target/linux/brcm2708/patches-4.4/0548-Audioinjector-Fix-bit-offsets-for-equal-volume-and-a.patch
new file mode 100644
index 0000000000..ed2a5d6619
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0548-Audioinjector-Fix-bit-offsets-for-equal-volume-and-a.patch
@@ -0,0 +1,55 @@
+From 80531f433182a0db5da749045a6e3f48bf4277db Mon Sep 17 00:00:00 2001
+From: Matt Flax <flatmax@flatmax.org>
+Date: Sun, 20 Nov 2016 19:15:24 +1100
+Subject: [PATCH] [Audioinjector] Fix bit offsets for equal volume and add 8
+ kHz operation (#1727)
+
+Applying to the audioinjector sound card only. This patch offsets channel
+2 correctly from the LR clock. This ensures that channel 2 doesn't loose
+any bits during capture. It also results in both channels 1 and 2 having
+the same volume. This commit also adds 8 kHz operation.
+
+Signed-off-by: Matt Flax <flatmax@flatmax.org>
+---
+ sound/soc/bcm/audioinjector-pi-soundcard.c | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+--- a/sound/soc/bcm/audioinjector-pi-soundcard.c
++++ b/sound/soc/bcm/audioinjector-pi-soundcard.c
+@@ -30,7 +30,7 @@
+ #include "../codecs/wm8731.h"
+
+ static const unsigned int bcm2835_rates_12000000[] = {
+- 32000, 44100, 48000, 96000, 88200,
++ 8000, 16000, 32000, 44100, 48000, 96000, 88200,
+ };
+
+ static struct snd_pcm_hw_constraint_list bcm2835_constraints_12000000 = {
+@@ -55,19 +55,21 @@ static int snd_audioinjector_pi_soundcar
+
+ switch (params_rate(params)){
+ case 8000:
+- return snd_soc_dai_set_bclk_ratio(cpu_dai, 1508);
++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 1);
++ case 16000:
++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 750);
+ case 32000:
+- return snd_soc_dai_set_bclk_ratio(cpu_dai, 378);
++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 375);
+ case 44100:
+- return snd_soc_dai_set_bclk_ratio(cpu_dai, 274);
++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 272);
+ case 48000:
+- return snd_soc_dai_set_bclk_ratio(cpu_dai, 252);
++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 250);
+ case 88200:
+ return snd_soc_dai_set_bclk_ratio(cpu_dai, 136);
+ case 96000:
+- return snd_soc_dai_set_bclk_ratio(cpu_dai, 126);
++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 125);
+ default:
+- return snd_soc_dai_set_bclk_ratio(cpu_dai, 126);
++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 125);
+ }
+ }
+
diff --git a/target/linux/brcm2708/patches-4.4/0549-config-Add-ABX80X-RTC-driver-and-overlay.patch b/target/linux/brcm2708/patches-4.4/0549-config-Add-ABX80X-RTC-driver-and-overlay.patch
new file mode 100644
index 0000000000..7844b37f66
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0549-config-Add-ABX80X-RTC-driver-and-overlay.patch
@@ -0,0 +1,96 @@
+From da62b2064a19346529bf827e8d7fbbd76e5e7ead Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Wed, 23 Nov 2016 14:19:40 +0000
+Subject: [PATCH] config: Add ABX80X RTC driver and overlay
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ arch/arm/boot/dts/overlays/README | 12 ++++++++++--
+ arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts | 12 +++++++++++-
+ arch/arm/configs/bcm2709_defconfig | 1 +
+ arch/arm/configs/bcmrpi_defconfig | 1 +
+ 4 files changed, 23 insertions(+), 3 deletions(-)
+
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -498,7 +498,11 @@ Params: addr I2C addr
+ Name: i2c-rtc
+ Info: Adds support for a number of I2C Real Time Clock devices
+ Load: dtoverlay=i2c-rtc,<param>=<val>
+-Params: ds1307 Select the DS1307 device
++Params: abx80x Select one of the ABx80x family:
++ AB0801, AB0803, AB0804, AB0805,
++ AB1801, AB1803, AB1804, AB1805
++
++ ds1307 Select the DS1307 device
+
+ ds1339 Select the DS1339 device
+
+@@ -514,7 +518,11 @@ Params: ds1307 Select t
+
+ pcf8563 Select the PCF8563 device
+
+- trickle-resistor-ohms Resistor value for trickle charge (DS1339-only)
++ trickle-diode-type Diode type for trickle charge - "standard" or
++ "schottky" (ABx80x only)
++
++ trickle-resistor-ohms Resistor value for trickle charge (DS1339,
++ ABx80x)
+
+ wakeup-source Specify that the RTC can be used as a wakeup
+ source
+--- a/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts
++++ b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts
+@@ -12,6 +12,13 @@
+ #size-cells = <0>;
+ status = "okay";
+
++ abx80x: abx80x@69 {
++ compatible = "abracon,abx80x";
++ reg = <0x69>;
++ abracon,tc-diode = "standard";
++ abracon,tc-resistor = <0>;
++ status = "disable";
++ };
+ ds1307: ds1307@68 {
+ compatible = "maxim,ds1307";
+ reg = <0x68>;
+@@ -56,6 +63,7 @@
+ };
+ };
+ __overrides__ {
++ abx80x = <&abx80x>,"status";
+ ds1307 = <&ds1307>,"status";
+ ds1339 = <&ds1339>,"status";
+ ds3231 = <&ds3231>,"status";
+@@ -64,7 +72,9 @@
+ pcf2127 = <&pcf2127>,"status";
+ pcf8523 = <&pcf8523>,"status";
+ pcf8563 = <&pcf8563>,"status";
+- trickle-resistor-ohms = <&ds1339>,"trickle-resistor-ohms:0";
++ trickle-diode-type = <&abx80x>,"abracon,tc-diode";
++ trickle-resistor-ohms = <&ds1339>,"trickle-resistor-ohms:0",
++ <&abx80x>,"abracon,tc-resistor";
+ wakeup-source = <&ds1339>,"wakeup-source?",
+ <&ds3231>,"wakeup-source?",
+ <&mcp7940x>,"wakeup-source?",
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -1060,6 +1060,7 @@ CONFIG_LEDS_TRIGGER_CAMERA=m
+ CONFIG_LEDS_TRIGGER_INPUT=y
+ CONFIG_RTC_CLASS=y
+ # CONFIG_RTC_HCTOSYS is not set
++CONFIG_RTC_DRV_ABX80X=m
+ CONFIG_RTC_DRV_DS1307=m
+ CONFIG_RTC_DRV_DS1374=m
+ CONFIG_RTC_DRV_DS1672=m
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -1067,6 +1067,7 @@ CONFIG_LEDS_TRIGGER_CAMERA=m
+ CONFIG_LEDS_TRIGGER_INPUT=y
+ CONFIG_RTC_CLASS=y
+ # CONFIG_RTC_HCTOSYS is not set
++CONFIG_RTC_DRV_ABX80X=m
+ CONFIG_RTC_DRV_DS1307=m
+ CONFIG_RTC_DRV_DS1374=m
+ CONFIG_RTC_DRV_DS1672=m
diff --git a/target/linux/brcm2708/patches-4.4/0550-config-Add-AK4554-audio-codec-driver.patch b/target/linux/brcm2708/patches-4.4/0550-config-Add-AK4554-audio-codec-driver.patch
new file mode 100644
index 0000000000..e3b9fa0753
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0550-config-Add-AK4554-audio-codec-driver.patch
@@ -0,0 +1,33 @@
+From a7f724223d487c66b25627519d2cf344e95460ff Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Fri, 25 Nov 2016 15:01:15 +0000
+Subject: [PATCH] config: Add AK4554 audio codec driver
+
+See: https://github.com/raspberrypi/linux/issues/1730
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ arch/arm/configs/bcm2709_defconfig | 1 +
+ arch/arm/configs/bcmrpi_defconfig | 1 +
+ 2 files changed, 2 insertions(+)
+
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -882,6 +882,7 @@ CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m
+ CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC=m
+ CONFIG_SND_PISOUND=m
+ CONFIG_SND_SOC_ADAU1701=m
++CONFIG_SND_SOC_AK4554=m
+ CONFIG_SND_SOC_WM8804_I2C=m
+ CONFIG_SND_SIMPLE_CARD=m
+ CONFIG_SOUND_PRIME=m
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -874,6 +874,7 @@ CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m
+ CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC=m
+ CONFIG_SND_PISOUND=m
+ CONFIG_SND_SOC_ADAU1701=m
++CONFIG_SND_SOC_AK4554=m
+ CONFIG_SND_SOC_WM8804_I2C=m
+ CONFIG_SND_SIMPLE_CARD=m
+ CONFIG_SOUND_PRIME=m
diff --git a/target/linux/brcm2708/patches-4.4/0551-ARM-dts-Restore-dtbs_install-functionality.patch b/target/linux/brcm2708/patches-4.4/0551-ARM-dts-Restore-dtbs_install-functionality.patch
new file mode 100644
index 0000000000..5224e26123
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0551-ARM-dts-Restore-dtbs_install-functionality.patch
@@ -0,0 +1,25 @@
+From 49b92b33aa6681e75f579b7369f34a53e9376e6c Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Sat, 26 Nov 2016 14:01:52 +0000
+Subject: [PATCH] ARM: dts: Restore dtbs_install functionality
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ arch/arm/boot/dts/Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -806,10 +806,11 @@ dtstree := $(srctree)/$(src)
+ dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
+
+ always := $(dtb-y)
+-subdir-y := $(dts-dirs) overlays
++subdir-y := overlays
+ clean-files := *.dtb
+
+ # Enable fixups to support overlays on BCM2708 platforms
+ ifeq ($(RPI_DT_OVERLAYS),y)
+ DTC_FLAGS ?= -@ -H epapr
++ dts-dirs += overlays
+ endif
diff --git a/target/linux/brcm2708/patches-4.4/0552-BCM270X_DT-Update-UART0-clock-frequency.patch b/target/linux/brcm2708/patches-4.4/0552-BCM270X_DT-Update-UART0-clock-frequency.patch
new file mode 100644
index 0000000000..2fc6396791
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0552-BCM270X_DT-Update-UART0-clock-frequency.patch
@@ -0,0 +1,29 @@
+From 1efce478669516e7a0fad7fa9943c889fcc21d2e Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Sun, 27 Nov 2016 21:45:55 +0000
+Subject: [PATCH] BCM270X_DT: Update UART0 clock-frequency
+
+The Raspberry Pi firmware now sets the UART0 clock frequency to
+48MHz (was 3MHz), to allow for baudrates up to 3MHz. This value
+is overwritten by the firmware, but alternative loaders such
+as U-Boot ignore the firmware-provided DTB. And besides, the
+default ought to be correct.
+
+See: https://github.com/raspberrypi/linux/issues/1732
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ arch/arm/boot/dts/bcm2708_common.dtsi | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/bcm2708_common.dtsi
++++ b/arch/arm/boot/dts/bcm2708_common.dtsi
+@@ -456,7 +456,7 @@
+ reg = <2>;
+ #clock-cells = <0>;
+ clock-output-names = "uart0_pclk";
+- clock-frequency = <3000000>;
++ clock-frequency = <48000000>;
+ };
+
+ clk_apb_p: clock@3 {
diff --git a/target/linux/brcm2708/patches-4.4/0553-BCM2835-v4l2-Fix-a-conformance-test-failure.patch b/target/linux/brcm2708/patches-4.4/0553-BCM2835-v4l2-Fix-a-conformance-test-failure.patch
new file mode 100644
index 0000000000..2ed182a470
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.4/0553-BCM2835-v4l2-Fix-a-conformance-test-failure.patch
@@ -0,0 +1,25 @@
+From 05b2785cb7e1f40900dad84579c6f7fd4ad8aeda Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <6by9@users.noreply.github.com>
+Date: Wed, 30 Nov 2016 20:17:14 +0000
+Subject: [PATCH] BCM2835-v4l2: Fix a conformance test failure
+
+Format ioctls:
+ test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
+ warn: v4l2-test-formats.cpp(1195): S_PARM is supported but
+ doesn't report V4L2_CAP_TIMEPERFRAME.
+ fail: v4l2-test-formats.cpp(1118): node->has_frmintervals
+ && !cap->capability
+---
+ drivers/media/platform/bcm2835/bcm2835-camera.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/media/platform/bcm2835/bcm2835-camera.c
++++ b/drivers/media/platform/bcm2835/bcm2835-camera.c
+@@ -1397,6 +1397,7 @@ static int vidioc_s_parm(struct file *fi
+ dev->capture.timeperframe = tpf;
+ parm->parm.capture.timeperframe = tpf;
+ parm->parm.capture.readbuffers = 1;
++ parm->parm.capture.capability = V4L2_CAP_TIMEPERFRAME;
+
+ fps_param.num = 0; /* Select variable fps, and then use
+ * FPS_RANGE to select the actual limits.