brcm2708: update linux 4.4 patches to latest version
authorÁlvaro Fernández Rojas <noltari@gmail.com>
Sun, 24 Apr 2016 11:03:39 +0000 (13:03 +0200)
committerÁlvaro Fernández Rojas <noltari@gmail.com>
Sun, 24 Apr 2016 11:03:39 +0000 (13:03 +0200)
As usual these patches were extracted 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>
387 files changed:
target/linux/brcm2708/bcm2708/config-4.4
target/linux/brcm2708/bcm2709/config-4.4
target/linux/brcm2708/bcm2710/config-4.4
target/linux/brcm2708/modules.mk
target/linux/brcm2708/patches-4.4/0001-smsx95xx-fix-crimes-against-truesize.patch
target/linux/brcm2708/patches-4.4/0002-smsc95xx-Disable-turbo-mode-by-default.patch
target/linux/brcm2708/patches-4.4/0003-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch
target/linux/brcm2708/patches-4.4/0004-BCM2835_DT-Fix-I2S-register-map.patch
target/linux/brcm2708/patches-4.4/0005-irq-bcm2836-Prevent-spurious-interrupts-and-trap-the.patch
target/linux/brcm2708/patches-4.4/0006-irqchip-bcm2835-Add-FIQ-support.patch
target/linux/brcm2708/patches-4.4/0007-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch
target/linux/brcm2708/patches-4.4/0008-serial-8250-Don-t-crash-when-nr_uarts-is-0.patch
target/linux/brcm2708/patches-4.4/0009-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch
target/linux/brcm2708/patches-4.4/0010-pinctrl-bcm2835-Fix-interrupt-handling-for-GPIOs-28-.patch
target/linux/brcm2708/patches-4.4/0011-pinctrl-bcm2835-Only-request-the-interrupts-listed-i.patch
target/linux/brcm2708/patches-4.4/0012-spi-bcm2835-Support-pin-groups-other-than-7-11.patch
target/linux/brcm2708/patches-4.4/0013-ARM-bcm2835-Set-Serial-number-and-Revision.patch
target/linux/brcm2708/patches-4.4/0014-bcm2835-i2s-get-base-address-for-DMA-from-devicetree.patch
target/linux/brcm2708/patches-4.4/0015-bcm2835-i2s-add-24bit-support-update-bclk_ratio-to-m.patch
target/linux/brcm2708/patches-4.4/0016-bcm2835-i2s-setup-clock-only-if-CPU-is-clock-master.patch
target/linux/brcm2708/patches-4.4/0017-bcm2835-i2s-Eliminate-debugfs-directory-error.patch
target/linux/brcm2708/patches-4.4/0018-bcm2835-i2s-Register-PCM-device.patch
target/linux/brcm2708/patches-4.4/0019-bcm2835-i2s-Enable-MMAP-support-via-a-DT-property.patch
target/linux/brcm2708/patches-4.4/0020-dmaengine-bcm2835-Add-slave-dma-support.patch
target/linux/brcm2708/patches-4.4/0021-dmaengine-bcm2835-set-residue_granularity-field.patch
target/linux/brcm2708/patches-4.4/0022-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch
target/linux/brcm2708/patches-4.4/0023-bcm2835-dma-Fix-dreq-not-set-for-slave-transfers.patch
target/linux/brcm2708/patches-4.4/0024-bcm2835-dma-Limit-cyclic-transfers-on-lite-channels-.patch
target/linux/brcm2708/patches-4.4/0025-bcm2835-Add-support-for-uart1.patch
target/linux/brcm2708/patches-4.4/0026-firmware-bcm2835-Add-missing-property-tags.patch
target/linux/brcm2708/patches-4.4/0027-Main-bcm2708-bcm2709-linux-port.patch
target/linux/brcm2708/patches-4.4/0028-squash-include-ARCH_BCM2708-ARCH_BCM2709.patch
target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch
target/linux/brcm2708/patches-4.4/0030-bcm2708-framebuffer-driver.patch
target/linux/brcm2708/patches-4.4/0031-dmaengine-Add-support-for-BCM2708.patch
target/linux/brcm2708/patches-4.4/0032-MMC-added-alternative-MMC-driver.patch
target/linux/brcm2708/patches-4.4/0033-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch
target/linux/brcm2708/patches-4.4/0034-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch
target/linux/brcm2708/patches-4.4/0035-bcm2708-alsa-sound-driver.patch
target/linux/brcm2708/patches-4.4/0036-bcm2708-vchiq-driver.patch
target/linux/brcm2708/patches-4.4/0037-vc_mem-Add-vc_mem-driver.patch
target/linux/brcm2708/patches-4.4/0038-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch
target/linux/brcm2708/patches-4.4/0039-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch
target/linux/brcm2708/patches-4.4/0040-Add-SMI-driver.patch
target/linux/brcm2708/patches-4.4/0041-Add-SMI-NAND-driver.patch
target/linux/brcm2708/patches-4.4/0042-lirc-added-support-for-RaspberryPi-GPIO.patch
target/linux/brcm2708/patches-4.4/0043-Add-cpufreq-driver.patch
target/linux/brcm2708/patches-4.4/0044-Added-hwmon-thermal-driver-for-reporting-core-temper.patch
target/linux/brcm2708/patches-4.4/0045-Add-Chris-Boot-s-i2c-driver.patch
target/linux/brcm2708/patches-4.4/0046-char-broadcom-Add-vcio-module.patch
target/linux/brcm2708/patches-4.4/0047-firmware-bcm2835-Support-ARCH_BCM270x.patch
target/linux/brcm2708/patches-4.4/0048-bcm2835-add-v4l2-camera-device.patch
target/linux/brcm2708/patches-4.4/0049-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch
target/linux/brcm2708/patches-4.4/0050-fdt-Add-support-for-the-CONFIG_CMDLINE_EXTEND-option.patch
target/linux/brcm2708/patches-4.4/0051-BCM2708-Add-core-Device-Tree-support.patch
target/linux/brcm2708/patches-4.4/0052-bcm2835-Match-with-BCM2708-Device-Trees.patch
target/linux/brcm2708/patches-4.4/0053-fbdev-add-FBIOCOPYAREA-ioctl.patch
target/linux/brcm2708/patches-4.4/0057-Speed-up-console-framebuffer-imageblit-function.patch
target/linux/brcm2708/patches-4.4/0058-Allow-mac-address-to-be-set-in-smsc95xx.patch
target/linux/brcm2708/patches-4.4/0059-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch
target/linux/brcm2708/patches-4.4/0060-Added-Device-IDs-for-August-DVB-T-205.patch
target/linux/brcm2708/patches-4.4/0061-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch
target/linux/brcm2708/patches-4.4/0062-ASoC-Add-support-for-PCM5102A-codec.patch
target/linux/brcm2708/patches-4.4/0063-ASoC-Add-support-for-HifiBerry-DAC.patch
target/linux/brcm2708/patches-4.4/0064-ASoC-Add-support-for-Rpi-DAC.patch
target/linux/brcm2708/patches-4.4/0065-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch
target/linux/brcm2708/patches-4.4/0066-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch
target/linux/brcm2708/patches-4.4/0067-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch
target/linux/brcm2708/patches-4.4/0068-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch
target/linux/brcm2708/patches-4.4/0069-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
target/linux/brcm2708/patches-4.4/0070-Added-support-for-HiFiBerry-DAC.patch
target/linux/brcm2708/patches-4.4/0071-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch
target/linux/brcm2708/patches-4.4/0072-Update-ds1307-driver-for-device-tree-support.patch
target/linux/brcm2708/patches-4.4/0073-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch
target/linux/brcm2708/patches-4.4/0074-enc28j60-Add-device-tree-compatible-string-and-an-ov.patch
target/linux/brcm2708/patches-4.4/0075-Add-driver-for-rpi-proto.patch
target/linux/brcm2708/patches-4.4/0076-config-Add-default-configs.patch
target/linux/brcm2708/patches-4.4/0077-bcm2835-bcm2835_defconfig.patch
target/linux/brcm2708/patches-4.4/0078-rpi-ft5406-Add-touchscreen-driver-for-pi-LCD-display.patch
target/linux/brcm2708/patches-4.4/0079-Improve-__copy_to_user-and-__copy_from_user-performa.patch
target/linux/brcm2708/patches-4.4/0080-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch
target/linux/brcm2708/patches-4.4/0081-spidev-Add-spidev-compatible-string-to-silence-warni.patch
target/linux/brcm2708/patches-4.4/0082-scripts-dtc-Add-overlay-support.patch
target/linux/brcm2708/patches-4.4/0083-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch
target/linux/brcm2708/patches-4.4/0084-RaspiDAC3-support.patch
target/linux/brcm2708/patches-4.4/0085-tpa6130a2-Add-headphone-switch-control.patch
target/linux/brcm2708/patches-4.4/0086-irq-bcm2835-Fix-building-with-2708.patch
target/linux/brcm2708/patches-4.4/0087-rpi_display-add-backlight-driver-and-overlay.patch
target/linux/brcm2708/patches-4.4/0088-bcm2835-dma-Fix-up-convert-to-DMA-pool.patch
target/linux/brcm2708/patches-4.4/0089-scripts-Multi-platform-support-for-mkknlimg-and-knli.patch
target/linux/brcm2708/patches-4.4/0090-drm-vc4-Add-suport-for-3D-rendering-using-the-V3D-en.patch
target/linux/brcm2708/patches-4.4/0091-drm-vc4-Force-HDMI-to-connected.patch
target/linux/brcm2708/patches-4.4/0092-drm-vc4-bo-cache-locking-fixes.patch
target/linux/brcm2708/patches-4.4/0093-drm-vc4-bo-cache-locking-cleanup.patch
target/linux/brcm2708/patches-4.4/0094-drm-vc4-Use-job_lock-to-protect-seqno_cb_list.patch
target/linux/brcm2708/patches-4.4/0095-drm-vc4-Drop-struct_mutex-around-CL-validation.patch
target/linux/brcm2708/patches-4.4/0096-drm-vc4-Drop-struct_mutex-around-CL-validation.patch
target/linux/brcm2708/patches-4.4/0097-drm-vc4-Add-support-for-more-display-plane-formats.patch
target/linux/brcm2708/patches-4.4/0098-drm-vc4-No-need-to-stop-the-stopped-threads.patch
target/linux/brcm2708/patches-4.4/0099-drm-vc4-Remove-extra-barrier-s-aroudn-CTnCA-CTnEA-se.patch
target/linux/brcm2708/patches-4.4/0100-drm-vc4-Fix-a-typo-in-a-V3D-debug-register.patch
target/linux/brcm2708/patches-4.4/0101-drm-vc4-Enable-VC4-modules-and-increase-CMA-size-wit.patch
target/linux/brcm2708/patches-4.4/0102-squash-fixups.patch
target/linux/brcm2708/patches-4.4/0103-squash-add-missing-vc4-kms-v3d-overlay.dtb-to-makefi.patch
target/linux/brcm2708/patches-4.4/0104-clk-bcm2835-Also-build-the-driver-for-downstream-ker.patch
target/linux/brcm2708/patches-4.4/0105-dts-Added-overlay-for-gpio_ir_recv-driver.patch
target/linux/brcm2708/patches-4.4/0106-Build-i2c_gpio-module-and-add-a-device-tree-overlay-.patch
target/linux/brcm2708/patches-4.4/0107-New-overlay-for-PiScreen2r.patch
target/linux/brcm2708/patches-4.4/0108-dts-Added-overlay-for-Adafruit-PiTFT-2.8-capacitive-.patch
target/linux/brcm2708/patches-4.4/0109-Add-support-for-the-HiFiBerry-DAC-Pro.patch
target/linux/brcm2708/patches-4.4/0110-BCM270X_DT-Add-at86rf233-overlay.patch
target/linux/brcm2708/patches-4.4/0111-mm-Remove-the-PFN-busy-warning.patch
target/linux/brcm2708/patches-4.4/0112-drm-Put-an-optional-field-in-the-driver-struct-for-G.patch
target/linux/brcm2708/patches-4.4/0113-drm-vc4-Add-an-interface-for-capturing-the-GPU-state.patch
target/linux/brcm2708/patches-4.4/0114-drm-vc4-Update-a-bunch-of-code-to-match-upstream-sub.patch
target/linux/brcm2708/patches-4.4/0115-drm-Use-the-driver-s-gem_object_free-function-from-C.patch
target/linux/brcm2708/patches-4.4/0116-drm-vc4-Add-support-for-MSAA-rendering.patch
target/linux/brcm2708/patches-4.4/0117-drm-vc4-A-few-more-non-functional-changes-to-sync-to.patch
target/linux/brcm2708/patches-4.4/0118-drm-vc4-Use-hpd-gpios-for-HDMI-GPIO-like-what-landed.patch
target/linux/brcm2708/patches-4.4/0119-drm-vc4-Synchronize-validation-code-for-v2-submissio.patch
target/linux/brcm2708/patches-4.4/0120-MMC-Do-not-use-mmc_debug-if-CONFIG_MMC_BCM2835-is-no.patch
target/linux/brcm2708/patches-4.4/0121-Extend-clock-timeout-fix-modprobe-baudrate-parameter.patch
target/linux/brcm2708/patches-4.4/0122-bcm270x_dt-Add-dwc2-and-dwc-otg-overlays.patch
target/linux/brcm2708/patches-4.4/0123-BCM270X_DT-Add-the-sdtweak-overlay-for-tuning-sdhost.patch
target/linux/brcm2708/patches-4.4/0124-bcm2835-mmc-Don-t-override-bus-width-capabilities-fr.patch
target/linux/brcm2708/patches-4.4/0125-SDIO-overlay-add-bus_width-parameter.patch
target/linux/brcm2708/patches-4.4/0126-bcm2835-extend-allowed-range-of-channels-and-sampler.patch
target/linux/brcm2708/patches-4.4/0127-bcm2835-restrict-channels-rate-to-8-960000.patch
target/linux/brcm2708/patches-4.4/0128-rpi-update-vc_vchi_audioserv_defs.h.patch
target/linux/brcm2708/patches-4.4/0129-bcm2835-implement-channel-map-API.patch
target/linux/brcm2708/patches-4.4/0130-bcm2835-access-controls-under-the-audio-mutex.patch
target/linux/brcm2708/patches-4.4/0131-bcm2835-always-use-2-4-8-channels-for-multichannel-l.patch
target/linux/brcm2708/patches-4.4/0132-bcm2835-only-allow-stereo-if-analogue-jack-is-select.patch
target/linux/brcm2708/patches-4.4/0133-bcm2835-interpolate-audio-delay.patch
target/linux/brcm2708/patches-4.4/0134-bcm2835-sdhost-Add-workaround-for-odd-behaviour-on-s.patch
target/linux/brcm2708/patches-4.4/0135-bcm2835-sdhost-Add-debug_flags-dtparam.patch
target/linux/brcm2708/patches-4.4/0136-BCM270X_DT-Add-sdio_overclock-parameter-to-sdio-over.patch
target/linux/brcm2708/patches-4.4/0137-rtc-ds1307-add-support-for-the-DT-property-wakeup-so.patch
target/linux/brcm2708/patches-4.4/0138-dt-overlay-add-wittypi-overlay.dts.patch
target/linux/brcm2708/patches-4.4/0139-FIXUP-i2c_bcm2708-Don-t-change-module-baudrate-param.patch
target/linux/brcm2708/patches-4.4/0140-Allow-up-to-24dB-digital-gain-to-be-applied-when-usi.patch
target/linux/brcm2708/patches-4.4/0141-Limit-PCM512x-Digital-gain-to-0dB-by-default-with-Hi.patch
target/linux/brcm2708/patches-4.4/0142-BCM270X_DT-Adjust-overlay-README-formatting.patch
target/linux/brcm2708/patches-4.4/0143-bcm2835-sdhost-Major-revision.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0144-BCM270X_DT-Add-dtparams-for-the-SD-interface.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0144-bcm2835-sdhost-Major-revision.patch [deleted file]
target/linux/brcm2708/patches-4.4/0145-BCM270X_DT-Add-dtparams-for-the-SD-interface.patch [deleted file]
target/linux/brcm2708/patches-4.4/0145-dcw_otg-trim-xfer-length-when-buffer-larger-than-all.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0146-bcm2835-sdhost-Restore-ATOMIC-flag-to-PIO-sg-mapping.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0146-dcw_otg-trim-xfer-length-when-buffer-larger-than-all.patch [deleted file]
target/linux/brcm2708/patches-4.4/0147-Updated-smsc95xx-driver-to-check-for-a-valid-MAC-add.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0147-bcm2835-sdhost-Restore-ATOMIC-flag-to-PIO-sg-mapping.patch [deleted file]
target/linux/brcm2708/patches-4.4/0148-Updated-smsc95xx-driver-to-check-for-a-valid-MAC-add.patch [deleted file]
target/linux/brcm2708/patches-4.4/0148-dcw_otg-Make-trimming-messages-less-noisy.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0149-BCM270X_DT-at86rf233-overlay-drop-to-3MHz.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0149-dcw_otg-Make-trimming-messages-less-noisy.patch [deleted file]
target/linux/brcm2708/patches-4.4/0150-BCM270X_DT-at86rf233-overlay-drop-to-3MHz.patch [deleted file]
target/linux/brcm2708/patches-4.4/0150-bcm2835-sdhost-Downgrade-log-message-status.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0151-bcm2835-sdhost-Downgrade-log-message-status.patch [deleted file]
target/linux/brcm2708/patches-4.4/0151-config-Enable-HCI-over-UARTs.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0152-config-Enable-HCI-over-UARTs.patch [deleted file]
target/linux/brcm2708/patches-4.4/0152-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0153-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0153-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch [deleted file]
target/linux/brcm2708/patches-4.4/0154-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch [deleted file]
target/linux/brcm2708/patches-4.4/0154-clk-bcm2835-Add-bindings-for-the-auxiliary-periphera.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0155-clk-bcm2835-Add-a-driver-for-the-auxiliary-periphera.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0155-clk-bcm2835-Add-bindings-for-the-auxiliary-periphera.patch [deleted file]
target/linux/brcm2708/patches-4.4/0156-Aux-SPI-1-2-implementation.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0156-clk-bcm2835-Add-a-driver-for-the-auxiliary-periphera.patch [deleted file]
target/linux/brcm2708/patches-4.4/0157-ASoC-bcm-add-missing-.owner-fields-in-sound-card-dri.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0157-Aux-SPI-1-2-implementation.patch [deleted file]
target/linux/brcm2708/patches-4.4/0158-ASoC-bcm-add-missing-.owner-fields-in-sound-card-dri.patch [deleted file]
target/linux/brcm2708/patches-4.4/0158-smsx95xx-Add-option-to-disable-the-crimes-against-tr.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0159-bcm2835-virtgpio-Virtual-GPIO-driver.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0159-smsx95xx-Add-option-to-disable-the-crimes-against-tr.patch [deleted file]
target/linux/brcm2708/patches-4.4/0160-BCM270X_DT-Add-Pi3-support.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0160-bcm2835-virtgpio-Virtual-GPIO-driver.patch [deleted file]
target/linux/brcm2708/patches-4.4/0161-BCM270X_DT-Add-Pi3-support.patch [deleted file]
target/linux/brcm2708/patches-4.4/0161-DT-Add-overlays-to-configure-I2C-pins.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0162-DT-Add-overlays-to-configure-I2C-pins.patch [deleted file]
target/linux/brcm2708/patches-4.4/0162-bcm2835-camera-fix-a-bug-in-computation-of-frame-tim.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0163-BCM270X_DT-Add-pi3-disable-bt-overlay.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0163-bcm2835-camera-fix-a-bug-in-computation-of-frame-tim.patch [deleted file]
target/linux/brcm2708/patches-4.4/0164-BCM270X_DT-Add-pi3-disable-bt-overlay.patch [deleted file]
target/linux/brcm2708/patches-4.4/0164-BCM270X_DT-Add-pi3-miniuart-bt-DT-overlay.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0165-BCM270X_DT-Add-pi3-miniuart-bt-DT-overlay.patch [deleted file]
target/linux/brcm2708/patches-4.4/0165-Pi3-DT-Add-dtparams-for-the-SD-interface.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0166-Pi3-DT-Add-dtparams-for-the-SD-interface.patch [deleted file]
target/linux/brcm2708/patches-4.4/0166-vchiq_arm-Tweak-the-logging-output.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0167-bcm2835-sdhost-Only-claim-one-DMA-channel.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0167-vchiq_arm-Tweak-the-logging-output.patch [deleted file]
target/linux/brcm2708/patches-4.4/0168-bcm2835-mmc-Only-claim-one-DMA-channel.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0168-bcm2835-sdhost-Only-claim-one-DMA-channel.patch [deleted file]
target/linux/brcm2708/patches-4.4/0169-bcm2835-mmc-Only-claim-one-DMA-channel.patch [deleted file]
target/linux/brcm2708/patches-4.4/0169-config-rebuild-with-savedefconfig.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0170-config-Add-module-for-mcp3422-ADC.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0170-config-rebuild-with-savedefconfig.patch [deleted file]
target/linux/brcm2708/patches-4.4/0171-Pi3-DT-Add-pull-ups-on-the-UART-RX-lines.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0171-config-Add-module-for-mcp3422-ADC.patch [deleted file]
target/linux/brcm2708/patches-4.4/0172-Pi3-DT-Add-pull-ups-on-the-UART-RX-lines.patch [deleted file]
target/linux/brcm2708/patches-4.4/0173-BCM270X_DT-rpi-display-overlay-add-swapxy-param.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0174-BCM270X_DT-rpi-display-overlay-add-swapxy-param.patch [deleted file]
target/linux/brcm2708/patches-4.4/0174-Remove-I2S-config-from-bt_pins.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0175-Remove-I2S-config-from-bt_pins.patch [deleted file]
target/linux/brcm2708/patches-4.4/0175-Revert-scripts-dtc-Add-overlay-support.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0176-Revert-scripts-dtc-Add-overlay-support.patch [deleted file]
target/linux/brcm2708/patches-4.4/0176-scripts-dtc-Update-to-upstream-version-1.4.1.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0177-configfs-implement-binary-attributes.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0177-scripts-dtc-Update-to-upstream-version-1.4.1.patch [deleted file]
target/linux/brcm2708/patches-4.4/0178-OF-DT-Overlay-configfs-interface.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0178-configfs-implement-binary-attributes.patch [deleted file]
target/linux/brcm2708/patches-4.4/0179-OF-DT-Overlay-configfs-interface.patch [deleted file]
target/linux/brcm2708/patches-4.4/0179-Protect-__release_resource-against-resources-without.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0180-BCM270X_DT-Add-a-.dtbo-target-use-for-overlays.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0180-Protect-__release_resource-against-resources-without.patch [deleted file]
target/linux/brcm2708/patches-4.4/0181-BCM270X_DT-Add-a-.dtbo-target-use-for-overlays.patch [deleted file]
target/linux/brcm2708/patches-4.4/0181-scripts-knlinfo-Decode-DDTK-atom.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0182-Enable-Dynamic-Device-Tree-for-bcmrpi_defconfig-and-.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0182-scripts-knlinfo-Decode-DDTK-atom.patch [deleted file]
target/linux/brcm2708/patches-4.4/0183-Enable-Dynamic-Device-Tree-for-bcmrpi_defconfig-and-.patch [deleted file]
target/linux/brcm2708/patches-4.4/0183-SQUASH-Add-CONFIG_OF_CONFIGFS-to-bcmrpi_defconfig.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0184-SQUASH-Add-CONFIG_OF_CONFIGFS-to-bcmrpi_defconfig.patch [deleted file]
target/linux/brcm2708/patches-4.4/0184-dts-kbuild-dtbs_install-installs-.dtbo-files-too.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0185-bcm2835-sdhost-Workaround-for-slow-sectors.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0185-dts-kbuild-dtbs_install-installs-.dtbo-files-too.patch [deleted file]
target/linux/brcm2708/patches-4.4/0186-BCM270X_DT-Add-labels-to-spidev-nodes.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0186-bcm2835-sdhost-Workaround-for-slow-sectors.patch [deleted file]
target/linux/brcm2708/patches-4.4/0187-BCM270X_DT-Add-labels-to-spidev-nodes.patch [deleted file]
target/linux/brcm2708/patches-4.4/0187-BCM270X_DT-Use-spidev-labels-in-overlays.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0188-BCM270X_DT-Build-and-document-the-wittypi-overlay.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0188-BCM270X_DT-Use-spidev-labels-in-overlays.patch [deleted file]
target/linux/brcm2708/patches-4.4/0189-BCM270X_DT-Build-and-document-the-wittypi-overlay.patch [deleted file]
target/linux/brcm2708/patches-4.4/0189-scripts-dtc-Fix-UMR-causing-corrupt-dtbo-overlay-fil.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0190-BCM270X_DT-Add-dtparam-for-uart1.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0190-scripts-dtc-Fix-UMR-causing-corrupt-dtbo-overlay-fil.patch [deleted file]
target/linux/brcm2708/patches-4.4/0191-BCM270X_DT-Add-dtparam-for-uart1.patch [deleted file]
target/linux/brcm2708/patches-4.4/0191-dwc-overlay-Use-label-so-overrides-can-apply.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0192-drm-vc4-Add-a-debugfs-node-for-tracking-execution-st.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0192-dwc-overlay-Use-label-so-overrides-can-apply.patch [deleted file]
target/linux/brcm2708/patches-4.4/0193-drm-vc4-Add-a-debugfs-node-for-tracking-execution-st.patch [deleted file]
target/linux/brcm2708/patches-4.4/0193-drm-vc4-Include-vc4_drm.h-in-uapi-in-downstream-buil.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0194-drm-vc4-Include-vc4_drm.h-in-uapi-in-downstream-buil.patch [deleted file]
target/linux/brcm2708/patches-4.4/0194-drm-vc4-Validate-that-WAIT_BO-padding-is-cleared.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0195-drm-vc4-Fix-the-clear-color-for-the-first-tile-rende.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0195-drm-vc4-Validate-that-WAIT_BO-padding-is-cleared.patch [deleted file]
target/linux/brcm2708/patches-4.4/0196-drm-vc4-Fix-the-clear-color-for-the-first-tile-rende.patch [deleted file]
target/linux/brcm2708/patches-4.4/0196-drm-vc4-Return-an-ERR_PTR-from-BO-creation-instead-o.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0197-drm-vc4-Fix-ERESTARTSYS-error-return-from-BO-waits.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0197-drm-vc4-Return-an-ERR_PTR-from-BO-creation-instead-o.patch [deleted file]
target/linux/brcm2708/patches-4.4/0198-drm-vc4-Drop-error-message-on-seqno-wait-timeouts.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0198-drm-vc4-Fix-ERESTARTSYS-error-return-from-BO-waits.patch [deleted file]
target/linux/brcm2708/patches-4.4/0199-BCM270X_DT-Add-1-bit-SDIO-using-minimal-pins.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0199-drm-vc4-Drop-error-message-on-seqno-wait-timeouts.patch [deleted file]
target/linux/brcm2708/patches-4.4/0200-BCM270X_DT-Add-1-bit-SDIO-using-minimal-pins.patch [deleted file]
target/linux/brcm2708/patches-4.4/0201-Add-overlay-and-enable-support-for-QCA7000-board.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0202-Add-overlay-and-enable-support-for-QCA7000-board.patch [deleted file]
target/linux/brcm2708/patches-4.4/0202-serial-Take-care-starting-a-hung-up-tty-s-port.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0203-pi3-miniuart-bt-overlay-Correct-and-clarify-info.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0203-serial-Take-care-starting-a-hung-up-tty-s-port.patch [deleted file]
target/linux/brcm2708/patches-4.4/0204-pi3-miniuart-bt-overlay-Correct-and-clarify-info.patch [deleted file]
target/linux/brcm2708/patches-4.4/0204-pwm-overlays-Params-must-have-in-overlay-targets.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0205-BCM270X_DT-Switch-Compute-Module-to-MMC.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0205-pwm-overlays-Params-must-have-in-overlay-targets.patch [deleted file]
target/linux/brcm2708/patches-4.4/0206-BCM270X_DT-Switch-Compute-Module-to-MMC.patch [deleted file]
target/linux/brcm2708/patches-4.4/0206-dwc_otg-Don-t-free-qh-align-buffers-in-atomic-contex.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0207-dwc_otg-Don-t-free-qh-align-buffers-in-atomic-contex.patch [deleted file]
target/linux/brcm2708/patches-4.4/0207-dwc_otg-Enable-the-hack-for-Split-Interrupt-transact.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0208-BCM270X_DT-Remove-explicit-claiming-of-UART-pins.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0208-dwc_otg-Enable-the-hack-for-Split-Interrupt-transact.patch [deleted file]
target/linux/brcm2708/patches-4.4/0209-BCM270X_DT-Remove-explicit-claiming-of-UART-pins.patch [deleted file]
target/linux/brcm2708/patches-4.4/0209-lirc_rpi-Lower-IR-reception-error-to-debug.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0210-lirc_rpi-Lower-IR-reception-error-to-debug.patch [deleted file]
target/linux/brcm2708/patches-4.4/0210-vchiq_arm-Access-the-dequeue_pending-flag-locked.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0211-BCM270X_DT-Add-pi3-act-led-overlay.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0211-vchiq_arm-Access-the-dequeue_pending-flag-locked.patch [deleted file]
target/linux/brcm2708/patches-4.4/0212-BCM270X_DT-Add-pi3-act-led-overlay.patch [deleted file]
target/linux/brcm2708/patches-4.4/0212-vchiq_arm-Service-callbacks-must-not-fail.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0213-Add-configs-and-overlay-for-PCA9548-I2C-mux.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0213-vchiq_arm-Service-callbacks-must-not-fail.patch [deleted file]
target/linux/brcm2708/patches-4.4/0214-Add-configs-and-overlay-for-PCA9548-I2C-mux.patch [deleted file]
target/linux/brcm2708/patches-4.4/0214-BCM270X_DT-Add-DS1339-to-i2c-rtc-overlay.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0215-BCM270X_DT-Add-DS1339-to-i2c-rtc-overlay.patch [deleted file]
target/linux/brcm2708/patches-4.4/0215-copy_from_user-CPU_SW_DOMAIN_PAN-compatibility.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0216-bcm2835-sdhost-Adjust-to-core-clock-changes.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0216-copy_from_user-CPU_SW_DOMAIN_PAN-compatibility.patch [deleted file]
target/linux/brcm2708/patches-4.4/0217-BCM270X_DT-Document-hazards-of-sdhost-overlay.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0217-bcm2835-sdhost-Adjust-to-core-clock-changes.patch [deleted file]
target/linux/brcm2708/patches-4.4/0218-BCM270X_DT-Document-hazards-of-sdhost-overlay.patch [deleted file]
target/linux/brcm2708/patches-4.4/0218-cpufreq-Temporarily-ignore-io_is_busy-1.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0219-Revert-cpufreq-Temporarily-ignore-io_is_busy-1.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0219-cpufreq-Temporarily-ignore-io_is_busy-1.patch [deleted file]
target/linux/brcm2708/patches-4.4/0220-Revert-cpufreq-Temporarily-ignore-io_is_busy-1.patch [deleted file]
target/linux/brcm2708/patches-4.4/0220-net-sched-add-skb_at_tc_ingress-helper.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0221-net-sched-add-skb_at_tc_ingress-helper.patch [deleted file]
target/linux/brcm2708/patches-4.4/0222-bcm2835-sdhost-Precalc-divisors-and-overclocks.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0223-Revert-bcm2835-sdhost-Precalc-divisors-and-overclock.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0224-Revert-bcm2835-sdhost-Adjust-to-core-clock-changes.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0224-bcm2835-sdhost-Precalc-divisors-and-overclocks.patch [deleted file]
target/linux/brcm2708/patches-4.4/0225-Revert-bcm2835-sdhost-Precalc-divisors-and-overclock.patch [deleted file]
target/linux/brcm2708/patches-4.4/0225-bcm2835-sdhost-Firmware-manages-the-clock-divisor.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0226-Revert-Revert-cpufreq-Temporarily-ignore-io_is_busy-.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0226-Revert-bcm2835-sdhost-Adjust-to-core-clock-changes.patch [deleted file]
target/linux/brcm2708/patches-4.4/0227-bcm2835-sdhost-Firmware-manages-the-clock-divisor.patch [deleted file]
target/linux/brcm2708/patches-4.4/0227-config-Enabled-IPV6_SUBTREES.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0228-Revert-Revert-cpufreq-Temporarily-ignore-io_is_busy-.patch [deleted file]
target/linux/brcm2708/patches-4.4/0228-add-smsc95xx-packetsize-module_param.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0229-config-Enabled-IPV6_SUBTREES.patch [deleted file]
target/linux/brcm2708/patches-4.4/0229-reboot-Use-power-off-rather-than-busy-spinning-when-.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0230-Revert-bcm2835-dma-Fix-dreq-not-set-for-slave-transf.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0230-add-smsc95xx-packetsize-module_param.patch [deleted file]
target/linux/brcm2708/patches-4.4/0231-RPi-config-Add-CONFIG_PWM_PCA9685-for-NXP-PCA9685-dr.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0231-reboot-Use-power-off-rather-than-busy-spinning-when-.patch [deleted file]
target/linux/brcm2708/patches-4.4/0232-BCM270X_DT-Don-t-generate-linux-phandle-props.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0232-Revert-bcm2835-dma-Fix-dreq-not-set-for-slave-transf.patch [deleted file]
target/linux/brcm2708/patches-4.4/0233-V4L2-driver-updates-1393.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0234-bcm2835-sdhost-Reset-the-clock-in-task-context.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0235-config-Enable-CONFIG_IPV6_ROUTER_PREF-for-networks-w.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0236-Enable-hid-betopff-module.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0237-config-Make-IPV6-a-module-and-regenerate-with-defcon.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0238-BCM270X_DT-Add-dpi24-overlay.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0239-Modify-IQAudIO-DAC-ASoC-driver-to-set-card-dai-confi.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0240-Add-support-for-the-Digital-Dreamtime-Akkordion-musi.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0241-Add-Support-for-BoomBerry-Audio-boards.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0242-Add-support-for-mcp7940x-family-of-RTC.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0243-bcm2709_defconfig-Fix-typo-on-BoomBerry-configuratio.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0244-boomberry-dac-Adjust-for-ALSA-API-change.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0245-vmcs-Remove-unused-sm_cache_map_vector-definition-14.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0246-scripts-mkknlimg-Append-a-trailer-for-all-input.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0247-bcm2835_thermal-Don-t-report-unsupported-trip-type.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0248-scripts-dtc-Only-emit-local-fixups-for-overlays.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0249-bcm2835-do-not-require-substream-for-accessing-chmap.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0250-bcm2835-add-fallback-channel-layouts-if-channel-map-.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0251-bcm2835-log-which-channel-map-is-set.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0252-clk-bcm2835-add-a-round-up-ability-to-the-clock-divi.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0253-clk-bcm2835-Support-for-clock-parent-selection.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0254-clk-bcm2835-Add-PWM-clock-support.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0255-clk-bcm2835-added-missing-clock-register-definitions.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0256-clk-bcm2835-pll_off-should-only-update-CM_PLL_ANARST.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0257-clk-bcm2835-add-locking-to-pll-_on-off-methods.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0258-clk-bcm2835-divider-value-has-to-be-1-or-more.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0259-clk-bcm2835-correctly-enable-fractional-clock-suppor.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0260-clk-bcm2835-clean-up-coding-style-issues.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0261-clk-bcm2835-expose-raw-clock-registers-via-debugfs.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0262-clk-bcm2835-remove-use-of-BCM2835_CLOCK_COUNT-in-dri.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0263-clk-bcm2835-reorganize-bcm2835_clock_array-assignmen.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0264-clk-bcm2835-enable-management-of-PCM-clock.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0265-clk-bcm2835-add-missing-PLL-clock-dividers.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0266-clk-bcm2835-add-missing-osc-and-per-clocks.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0267-clk-bcm2835-Fix-PLL-poweron.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0268-ARM-bcm2835-Define-two-new-packets-from-the-latest-f.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0269-ARM-bcm2835-add-rpi-power-domain-driver.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0270-ARM-bcm2835-clarify-RASPBERRYPI_FIRMWARE-dependency.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0271-ARM-bcm2708-Enable-building-power-domain-driver.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0272-bcm2708-Add-RASPBERRYPI_POWER-to-the-defconfigs.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0273-bcm2708-Add-the-power-domain-driver-to-the-device-tr.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0274-bcm2708-Reference-the-HDMI-power-domain-for-the-HDMI.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0275-drm-vc4-copy_to_user-returns-the-number-of-bytes-rem.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0276-drm-vc4-allocate-enough-memory-in-vc4_save_hang_stat.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0277-drm-vc4-fix-warning-in-validate-printf.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0278-drm-vc4-Improve-comments-on-vc4_plane_state-members.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0279-drm-vc4-Add-missing-__iomem-annotation-to-hw_dlist.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0280-drm-vc4-Move-the-plane-clipping-scaling-setup-to-a-s.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0281-drm-vc4-Add-a-proper-short-circut-path-for-legacy-cu.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0282-drm-vc4-Make-the-CRTCs-cooperate-on-allocating-displ.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0283-drm-vc4-Add-more-display-planes-to-each-CRTC.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0284-drm-vc4-Fix-which-value-is-being-used-for-source-ima.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0285-drm-vc4-Add-support-for-scaling-of-display-planes.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0286-drm-vc4-Add-support-for-YUV-planes.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0287-drm-vc4-Fix-spurious-GPU-resets-due-to-BO-reuse.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0288-drm-vc4-Fix-a-framebuffer-reference-leak-on-async-fl.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0289-drm-vc4-Bring-HDMI-up-from-power-off-if-necessary.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0290-drm-vc4-Add-another-reg-to-HDMI-debug-dumping.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0291-drm-vc4-Fix-the-name-of-the-VSYNCD_EVEN-register.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0292-drm-vc4-Fix-setting-of-vertical-timings-in-the-CRTC.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0293-drm-vc4-Initialize-scaler-DISPBKGND-on-modeset.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0294-drm-vc4-improve-throughput-by-pipelining-binning-and.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0295-drm-vc4-Let-gpiolib-know-that-we-re-OK-with-sleeping.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0296-drm-vc4-Respect-GPIO_ACTIVE_LOW-on-HDMI-HPD-if-set-i.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0297-drm-vc4-Return-EFAULT-on-copy_from_user-failure.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0298-drm-vc4-Recognize-a-more-specific-compatible-string-.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0299-ARM-bcm2708-Move-the-CMA-range-down-for-kernel-4.4.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0300-clk-bcm2835-fix-check-of-error-code-returned-by-devm.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0301-vchiq_arm-Add-completion-records-under-the-mutex.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0302-config-Add-DRM_UDL-module.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0303-bcm2835-i2s-Reduce-the-TX-DREQ-threshold.patch [new file with mode: 0644]
target/linux/brcm2708/patches-4.4/0304-V4L2-Request-maximum-resolution-from-GPU.patch [new file with mode: 0644]

index 3633cd0..b38ade0 100644 (file)
@@ -298,6 +298,7 @@ CONFIG_PWM=y
 CONFIG_PWM_BCM2835=y
 CONFIG_PWM_SYSFS=y
 CONFIG_RASPBERRYPI_FIRMWARE=y
+CONFIG_RASPBERRYPI_POWER=y
 CONFIG_RATIONAL=y
 CONFIG_RAW_DRIVER=y
 # CONFIG_RCU_STALL_COMMON is not set
index e96cadf..052c6c6 100644 (file)
@@ -316,6 +316,7 @@ CONFIG_PWM=y
 CONFIG_PWM_BCM2835=y
 CONFIG_PWM_SYSFS=y
 CONFIG_RASPBERRYPI_FIRMWARE=y
+CONFIG_RASPBERRYPI_POWER=y
 CONFIG_RATIONAL=y
 CONFIG_RAW_DRIVER=y
 CONFIG_RCU_STALL_COMMON=y
index 7724bb4..6b090fd 100644 (file)
@@ -316,6 +316,7 @@ CONFIG_PWM=y
 CONFIG_PWM_BCM2835=y
 CONFIG_PWM_SYSFS=y
 CONFIG_RASPBERRYPI_FIRMWARE=y
+CONFIG_RASPBERRYPI_POWER=y
 CONFIG_RATIONAL=y
 CONFIG_RAW_DRIVER=y
 CONFIG_RCU_STALL_COMMON=y
index 04e6aa9..a3111f8 100644 (file)
@@ -44,6 +44,48 @@ endef
 
 $(eval $(call KernelPackage,sound-soc-bcm2835-i2s))
 
+define KernelPackage/sound-soc-boomberry-dac
+  TITLE:=Support for BoomBerry DAC
+  KCONFIG:= \
+       CONFIG_SND_BCM2708_SOC_BOOMBERRY_DAC \
+       CONFIG_SND_SOC_PCM512x
+  FILES:= \
+       $(LINUX_DIR)/sound/soc/bcm/snd-soc-boomberry-dac.ko \
+       $(LINUX_DIR)/sound/soc/codecs/snd-soc-pcm512x.ko
+  AUTOLOAD:=$(call AutoLoad,68,snd-soc-pcm512x snd-soc-boomberry-dac)
+  DEPENDS:= \
+       kmod-sound-soc-bcm2835-i2s \
+       +kmod-i2c-bcm2708
+  $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-boomberry-dac/description
+  This package contains support for BoomBerry DAC
+endef
+
+$(eval $(call KernelPackage,sound-soc-boomberry-dac))
+
+define KernelPackage/sound-soc-boomberry-digi
+  TITLE:=Support for BoomBerry Digi
+  KCONFIG:= \
+       CONFIG_SND_BCM2708_SOC_BOOMBERRY_DIGI \
+       CONFIG_SND_SOC_WM8804
+  FILES:= \
+       $(LINUX_DIR)/sound/soc/bcm/snd-soc-boomberry-digi.ko \
+       $(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8804.ko
+  AUTOLOAD:=$(call AutoLoad,68,snd-soc-wm8804 snd-soc-boomberry-digi)
+  DEPENDS:= \
+       kmod-sound-soc-bcm2835-i2s \
+       +kmod-i2c-bcm2708
+  $(call AddDepends/sound)
+endef
+
+define KernelPackage/sound-soc-boomberry-digi/description
+  This package contains support for BoomBerry Digi
+endef
+
+$(eval $(call KernelPackage,sound-soc-boomberry-digi))
+
 define KernelPackage/sound-soc-hifiberry-dac
   TITLE:=Support for HifiBerry DAC
   KCONFIG:= \
index ee4ff9d..2f68e6e 100644 (file)
@@ -1,7 +1,7 @@
-From 23b133903a357066adb48bceb76aba8bd30d8c66 Mon Sep 17 00:00:00 2001
+From e3aec450775ffe2df234b44a59b66800eeff00c8 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 001/232] smsx95xx: fix crimes against truesize
+Subject: [PATCH 001/304] smsx95xx: fix crimes against truesize
 
 smsc95xx is adjusting truesize when it shouldn't, and following a recent patch from Eric this is now triggering warnings.
 
index f3f7a4b..57345d8 100644 (file)
@@ -1,7 +1,7 @@
-From e7515ee9af1d150d50b55d8f8f53d735a23cb253 Mon Sep 17 00:00:00 2001
+From c8fa4edd9b4f1dbc6c8edc80643bd08070d9e4a9 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Fri, 17 Apr 2015 16:58:45 +0100
-Subject: [PATCH 002/232] smsc95xx: Disable turbo mode by default
+Subject: [PATCH 002/304] smsc95xx: Disable turbo mode by default
 
 ---
  drivers/net/usb/smsc95xx.c | 2 +-
index 9a6d94f..5a8169c 100644 (file)
@@ -1,7 +1,7 @@
-From 849ff5353023c95d40040ecfd279e216074b3d1c Mon Sep 17 00:00:00 2001
+From 9a7ab264528085a6838fb176e6ea518e4cd2cc18 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 18 Jun 2014 13:42:01 +0100
-Subject: [PATCH 003/232] vmstat: Workaround for issue where dirty page count
+Subject: [PATCH 003/304] vmstat: Workaround for issue where dirty page count
  goes negative
 
 See:
index a171fbf..025fee5 100644 (file)
@@ -1,7 +1,7 @@
-From d29365673ed37e7688bd3f35c4a5ad719f878190 Mon Sep 17 00:00:00 2001
+From 5562d1c3a783a1384a6502e9c7ef63756fffb4a8 Mon Sep 17 00:00:00 2001
 From: Robert Tiemann <rtie@gmx.de>
 Date: Mon, 20 Jul 2015 11:01:25 +0200
-Subject: [PATCH 004/232] BCM2835_DT: Fix I2S register map
+Subject: [PATCH 004/304] BCM2835_DT: Fix I2S register map
 
 ---
  Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt   | 4 ++--
index 7db83ae..781521f 100644 (file)
@@ -1,7 +1,7 @@
-From c891de13b385afb3e4b2c97ac5bbea7e2d97252f Mon Sep 17 00:00:00 2001
+From a072785b4d4e3290bb1992fa97009562b8cbcee3 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Fri, 4 Dec 2015 17:41:50 +0000
-Subject: [PATCH 005/232] irq-bcm2836: Prevent spurious interrupts, and trap
+Subject: [PATCH 005/304] irq-bcm2836: Prevent spurious interrupts, and trap
  them early
 
 The old arch-specific IRQ macros included a dsb to ensure the
index 81d1295..454751a 100644 (file)
@@ -1,7 +1,7 @@
-From 60f7ee79b375d72f5ef46ec542b925b1f1428bad Mon Sep 17 00:00:00 2001
+From 0551c5ca00a862c2902bd3640aa08f948332e525 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 006/232] irqchip: bcm2835: Add FIQ support
+Subject: [PATCH 006/304] irqchip: bcm2835: Add FIQ support
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index e95993c..7b0f333 100644 (file)
@@ -1,7 +1,7 @@
-From 890dccbb9c60be182adefb61b3ede805ccba1a91 Mon Sep 17 00:00:00 2001
+From dd7d7256191e694771fffcc05c9c43e0ca77b724 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 007/232] irqchip: irq-bcm2835: Add 2836 FIQ support
+Subject: [PATCH 007/304] irqchip: irq-bcm2835: Add 2836 FIQ support
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 6961269..ec169ab 100644 (file)
@@ -1,7 +1,7 @@
-From 9a27662aac88f95b3de1915333a0265614f88a0d Mon Sep 17 00:00:00 2001
+From a1c1d55bb480c9d67814d0a965efdaabb83b4f85 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Tue, 30 Jun 2015 14:12:42 +0100
-Subject: [PATCH 008/232] serial: 8250: Don't crash when nr_uarts is 0
+Subject: [PATCH 008/304] serial: 8250: Don't crash when nr_uarts is 0
 
 ---
  drivers/tty/serial/8250/8250_core.c | 2 ++
index a75621d..ef000fb 100644 (file)
@@ -1,7 +1,7 @@
-From 4d7ff05e4d4d8d8adb4e7b4dd5fa8f63ae2be0f6 Mon Sep 17 00:00:00 2001
+From faa0db48929e02320294b4bb6b40c3478aee984e Mon Sep 17 00:00:00 2001
 From: notro <notro@tronnes.org>
 Date: Thu, 10 Jul 2014 13:59:47 +0200
-Subject: [PATCH 009/232] pinctrl-bcm2835: Set base to 0 give expected gpio
+Subject: [PATCH 009/304] pinctrl-bcm2835: Set base to 0 give expected gpio
  numbering
 
 Signed-off-by: Noralf Tronnes <notro@tronnes.org>
index 278ff9f..69376ef 100644 (file)
@@ -1,7 +1,7 @@
-From 969dc44a700e1be13c3f80445d40c1fe51cc4370 Mon Sep 17 00:00:00 2001
+From ae53bc0b0589b078b38bcd662aaa1589506d3108 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Tue, 24 Feb 2015 13:40:50 +0000
-Subject: [PATCH 010/232] pinctrl-bcm2835: Fix interrupt handling for GPIOs
+Subject: [PATCH 010/304] pinctrl-bcm2835: Fix interrupt handling for GPIOs
  28-31 and 46-53
 
 Contrary to the documentation, the BCM2835 GPIO controller actually has
index 49315e5..5b478dc 100644 (file)
@@ -1,7 +1,7 @@
-From b949246bf51fa852bad45136cdd6bcd91a29539e Mon Sep 17 00:00:00 2001
+From 6b21816af06720e064a2f84ddafb858692c25472 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Thu, 26 Feb 2015 09:58:22 +0000
-Subject: [PATCH 011/232] pinctrl-bcm2835: Only request the interrupts listed
+Subject: [PATCH 011/304] pinctrl-bcm2835: Only request the interrupts listed
  in the DTB
 
 Although the GPIO controller can generate three interrupts (four counting
index 92aa046..fb3f271 100644 (file)
@@ -1,7 +1,7 @@
-From 19bcdacc5a67abe6a2d604a39ddfed5a54c77b2e Mon Sep 17 00:00:00 2001
+From f685e187de2908b8b6399055a972e841a6e8e97a Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Wed, 24 Jun 2015 14:10:44 +0100
-Subject: [PATCH 012/232] spi-bcm2835: Support pin groups other than 7-11
+Subject: [PATCH 012/304] spi-bcm2835: Support pin groups other than 7-11
 
 The spi-bcm2835 driver automatically uses GPIO chip-selects due to
 some unreliability of the native ones. In doing so it chooses the
index a571cdb..7e3291e 100644 (file)
@@ -1,7 +1,7 @@
-From 7ce5cbfba6e930c2178f342a4390972f1efd75ef Mon Sep 17 00:00:00 2001
+From 7f7e20a0070ff81ced9eb8eedd8efc19af959605 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 013/232] ARM: bcm2835: Set Serial number and Revision
+Subject: [PATCH 013/304] ARM: bcm2835: Set Serial number and Revision
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index fa35faa..dbd3413 100644 (file)
@@ -1,7 +1,7 @@
-From 569baa856d805e594011f2d1444b6849c291544d Mon Sep 17 00:00:00 2001
+From 61037c6b43a4e3f1a53582fb92ee7f964b6bace5 Mon Sep 17 00:00:00 2001
 From: Matthias Reichl <hias@horus.com>
 Date: Sun, 11 Oct 2015 16:44:05 +0200
-Subject: [PATCH 014/232] bcm2835-i2s: get base address for DMA from devicetree
+Subject: [PATCH 014/304] bcm2835-i2s: get base address for DMA from devicetree
 
 Code copied from spi-bcm2835. Get physical address from devicetree
 instead of using hardcoded constant.
index a1fbf79..6d2ce9b 100644 (file)
@@ -1,7 +1,7 @@
-From c61a7aef15a1aee86e1de59dca2ad7002995f9cf Mon Sep 17 00:00:00 2001
+From 09feefa33b3f36291dc3a406bcf80dddf72568e9 Mon Sep 17 00:00:00 2001
 From: Matthias Reichl <hias@horus.com>
 Date: Sun, 11 Oct 2015 15:21:16 +0200
-Subject: [PATCH 015/232] bcm2835-i2s: add 24bit support, update bclk_ratio to
+Subject: [PATCH 015/304] bcm2835-i2s: add 24bit support, update bclk_ratio to
  more correct values
 
 Code ported from bcm2708-i2s driver in Raspberry Pi tree.
index ec224b9..a6e2ee7 100644 (file)
@@ -1,7 +1,7 @@
-From e2a75ce0e2b6319150e14401f9822adba7895c9c Mon Sep 17 00:00:00 2001
+From b10789f9366de21dc44df087c4e65aa4a56a1dd9 Mon Sep 17 00:00:00 2001
 From: Matthias Reichl <hias@horus.com>
 Date: Sun, 11 Oct 2015 15:25:51 +0200
-Subject: [PATCH 016/232] bcm2835-i2s: setup clock only if CPU is clock master
+Subject: [PATCH 016/304] bcm2835-i2s: setup clock only if CPU is clock master
 
 Code ported from bcm2708-i2s driver in Raspberry Pi tree.
 
index 82d15f4..22dab7c 100644 (file)
@@ -1,7 +1,7 @@
-From 433841fc5958e1ddbd503b579a022fb67defd74b Mon Sep 17 00:00:00 2001
+From 08c03b0127c99d816f84a03d9f62c2b8313b359e Mon Sep 17 00:00:00 2001
 From: Matthias Reichl <hias@horus.com>
 Date: Sun, 11 Oct 2015 15:49:51 +0200
-Subject: [PATCH 017/232] bcm2835-i2s: Eliminate debugfs directory error
+Subject: [PATCH 017/304] bcm2835-i2s: Eliminate debugfs directory error
 
 Code ported from bcm2708-i2s driver in Raspberry Pi tree.
 
index 1dc721a..f34858c 100644 (file)
@@ -1,7 +1,7 @@
-From 7b4481818fe920904457496db40d59dd3d0a83bb Mon Sep 17 00:00:00 2001
+From 6eb24a344f83c6b0768e6e63fa1865d3f444ed5a Mon Sep 17 00:00:00 2001
 From: Matthias Reichl <hias@horus.com>
 Date: Sun, 11 Oct 2015 15:35:20 +0200
-Subject: [PATCH 018/232] bcm2835-i2s: Register PCM device
+Subject: [PATCH 018/304] bcm2835-i2s: Register PCM device
 
 Code ported from bcm2708-i2s driver in Raspberry Pi tree.
 
index e3d7e43..791b473 100644 (file)
@@ -1,7 +1,7 @@
-From 027ba808e84799c97ae1c64f8424ac8eb7235cc4 Mon Sep 17 00:00:00 2001
+From 0c4d87b48e1ec19d0de0ceae22981647a927a83a Mon Sep 17 00:00:00 2001
 From: Matthias Reichl <hias@horus.com>
 Date: Sun, 11 Oct 2015 15:55:21 +0200
-Subject: [PATCH 019/232] bcm2835-i2s: Enable MMAP support via a DT property
+Subject: [PATCH 019/304] bcm2835-i2s: Enable MMAP support via a DT property
 
 Code ported from bcm2708-i2s driver in Raspberry Pi tree.
 
index 344b39c..c537c10 100644 (file)
@@ -1,7 +1,7 @@
-From 8a349301238aabb40c9da5ca8c8492b6b8d146f6 Mon Sep 17 00:00:00 2001
+From b2a69d30bbcbf96f6469a7cab9f9831351ea3d75 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 020/232] dmaengine: bcm2835: Add slave dma support
+Subject: [PATCH 020/304] dmaengine: bcm2835: Add slave dma support
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 4655513..d627057 100644 (file)
@@ -1,7 +1,7 @@
-From 290f55520c62025da992d6be0002fc1e3738cfdb Mon Sep 17 00:00:00 2001
+From 6018cc9ef34ff7c465cf5c7674de004facf9bec8 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 021/232] dmaengine: bcm2835: set residue_granularity field
+Subject: [PATCH 021/304] dmaengine: bcm2835: set residue_granularity field
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index a03aed3..c9279aa 100644 (file)
@@ -1,7 +1,7 @@
-From 6f56fff39c811953809b011f59c49a2122c4d173 Mon Sep 17 00:00:00 2001
+From 64eb22fa4c7f019d40afc335d780079dfc52de91 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 022/232] dmaengine: bcm2835: Load driver early and support
+Subject: [PATCH 022/304] dmaengine: bcm2835: Load driver early and support
  legacy API
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
index fe6dbca..d1aed22 100644 (file)
@@ -1,7 +1,7 @@
-From df03f00c5e21559185b5a61ea5e8238e10959ab1 Mon Sep 17 00:00:00 2001
+From b28f69e34f275f12d22b469f8ed74de076c058fb Mon Sep 17 00:00:00 2001
 From: Matthias Reichl <hias@horus.com>
 Date: Sat, 10 Oct 2015 12:29:18 +0200
-Subject: [PATCH 023/232] bcm2835-dma: Fix dreq not set for slave transfers
+Subject: [PATCH 023/304] bcm2835-dma: Fix dreq not set for slave transfers
 
 Set dreq to slave_id if it is not set like in bcm2708-dmaengine.
 ---
index 60a0ec9..ba192a1 100644 (file)
@@ -1,7 +1,7 @@
-From 052c2005b6ecedc5abad86632f5781adda310aa7 Mon Sep 17 00:00:00 2001
+From 2de86278755ccd71765ff6c658295a825ae85bcd Mon Sep 17 00:00:00 2001
 From: Matthias Reichl <hias@horus.com>
 Date: Sun, 11 Oct 2015 12:28:30 +0200
-Subject: [PATCH 024/232] bcm2835-dma: Limit cyclic transfers on lite channels
+Subject: [PATCH 024/304] bcm2835-dma: Limit cyclic transfers on lite channels
  to 32k
 
 Transfers larger than 32k cause repeated clicking with I2S soundcards.
index 9dfd26b..605ea1d 100644 (file)
@@ -1,7 +1,7 @@
-From a72021ae99021409319d552dad744572b20febfb Mon Sep 17 00:00:00 2001
+From 03eed3ba7f50f36bfe465aff568bbdf6c7e9505a 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 025/232] bcm2835: Add support for uart1
+Subject: [PATCH 025/304] bcm2835: Add support for uart1
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 2a7252a..1d761d6 100644 (file)
@@ -1,7 +1,7 @@
-From 4364707caa6d3d9edf84fa8469a04f33e1ba5d76 Mon Sep 17 00:00:00 2001
+From 494564a4ddb2a550ec340dee8ffd46de8faa8267 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 026/232] firmware: bcm2835: Add missing property tags
+Subject: [PATCH 026/304] firmware: bcm2835: Add missing property tags
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 83fd1db..ed66110 100644 (file)
@@ -1,7 +1,7 @@
-From cd721670ab8c729d0c62e99a1d173c2575b63282 Mon Sep 17 00:00:00 2001
+From 65fc8b10fa17a19d8c92a1b7a601e47a749060b6 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Sun, 12 May 2013 12:24:19 +0100
-Subject: [PATCH 027/232] Main bcm2708/bcm2709 linux port
+Subject: [PATCH 027/304] Main bcm2708/bcm2709 linux port
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 10e1a2f..1c53404 100644 (file)
@@ -1,7 +1,7 @@
-From 812484cc27980e3351360200478e7044de983f40 Mon Sep 17 00:00:00 2001
+From fc29614ab47f681dafa8e72e785df2608c542619 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 11 Nov 2015 21:01:15 +0000
-Subject: [PATCH 028/232] squash: include ARCH_BCM2708 / ARCH_BCM2709
+Subject: [PATCH 028/304] squash: include ARCH_BCM2708 / ARCH_BCM2709
 
 ---
  drivers/char/hw_random/Kconfig    |  2 +-
index 41d79b1..d5cb2db 100644 (file)
@@ -1,7 +1,7 @@
-From 7efc2851a46faa1aceda5f6ec255d0e814812ccf Mon Sep 17 00:00:00 2001
+From e3bac792b4c542025127f57394356e5c495e75dc Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 1 May 2013 19:46:17 +0100
-Subject: [PATCH 029/232] Add dwc_otg driver
+Subject: [PATCH 029/304] Add dwc_otg driver
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index b2983fe..3e6337d 100644 (file)
@@ -1,7 +1,7 @@
-From d3b7394edae550f295e185be4651ed43529e7042 Mon Sep 17 00:00:00 2001
+From c8719ed281ffb6b738af0e8acc16aa13c0381749 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 17 Jun 2015 17:06:34 +0100
-Subject: [PATCH 030/232] bcm2708 framebuffer driver
+Subject: [PATCH 030/304] bcm2708 framebuffer driver
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 687c3eb..753632d 100644 (file)
@@ -1,7 +1,7 @@
-From 99b7c3cfd05f5898e96d7c44c5970880f2c0cd16 Mon Sep 17 00:00:00 2001
+From 451d996dcc4cc8460fea6b74331aaa762823d312 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 031/232] dmaengine: Add support for BCM2708
+Subject: [PATCH 031/304] dmaengine: Add support for BCM2708
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index e74c70c..b7d1f9a 100644 (file)
@@ -1,7 +1,7 @@
-From 65c8aadfd88010efb2d2a2821fea7aac978b6c78 Mon Sep 17 00:00:00 2001
+From 231ef69db2b015b7da9994ef893090206bf5f63f Mon Sep 17 00:00:00 2001
 From: gellert <gellert@raspberrypi.org>
 Date: Fri, 15 Aug 2014 16:35:06 +0100
-Subject: [PATCH 032/232] MMC: added alternative MMC driver
+Subject: [PATCH 032/304] MMC: added alternative MMC driver
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 46b07df..dc61f02 100644 (file)
@@ -1,7 +1,7 @@
-From c58bec0d84082837415562c6567396e9e5ba62f7 Mon Sep 17 00:00:00 2001
+From 73744a39303ad063a4b964a2bc48391be72c9310 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Wed, 25 Mar 2015 17:49:47 +0000
-Subject: [PATCH 033/232] Adding bcm2835-sdhost driver, and an overlay to
+Subject: [PATCH 033/304] Adding bcm2835-sdhost driver, and an overlay to
  enable it
 
 BCM2835 has two SD card interfaces. This driver uses the other one.
index f39a2ab..25feca1 100644 (file)
@@ -1,7 +1,7 @@
-From 36d8db53953365eecdf56695944e9f9919634de0 Mon Sep 17 00:00:00 2001
+From 7d966829e3d7a49f3efc033f41902c52edc2e07d Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 3 Jul 2013 00:31:47 +0100
-Subject: [PATCH 034/232] cma: Add vc_cma driver to enable use of CMA
+Subject: [PATCH 034/304] cma: Add vc_cma driver to enable use of CMA
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 2ee0ba3..e8490b9 100644 (file)
@@ -1,7 +1,7 @@
-From 2dd634f97c4fb77d9e81be289a8da29c390a0309 Mon Sep 17 00:00:00 2001
+From 03aa66334a94cbdaac80f3673a2e6e766b29ff32 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Mon, 26 Mar 2012 22:15:50 +0100
-Subject: [PATCH 035/232] bcm2708: alsa sound driver
+Subject: [PATCH 035/304] bcm2708: alsa sound driver
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 4ec48e2..cd8c0c6 100644 (file)
@@ -1,7 +1,7 @@
-From 112360f76c91c892f1a29825eb2807bbf86ac67d Mon Sep 17 00:00:00 2001
+From b1e77a013c963839cd74707aa58532286cfacfcc Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Tue, 2 Jul 2013 23:42:01 +0100
-Subject: [PATCH 036/232] bcm2708 vchiq driver
+Subject: [PATCH 036/304] bcm2708 vchiq driver
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 04593f3..3e03272 100644 (file)
@@ -1,7 +1,7 @@
-From b0acaf43055bacef7918c835517ff6ea7da26e83 Mon Sep 17 00:00:00 2001
+From afecc66589fdfd0dcfde79917a82c51172d6c002 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 17 Jun 2015 16:07:06 +0100
-Subject: [PATCH 037/232] vc_mem: Add vc_mem driver
+Subject: [PATCH 037/304] vc_mem: Add vc_mem driver
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index d23c7ec..8c68e64 100644 (file)
@@ -1,7 +1,7 @@
-From 5f05accd033e4b032f64717a0276d7174f697919 Mon Sep 17 00:00:00 2001
+From cd630a79b98d0406559589a658c0d0b206e523bc Mon Sep 17 00:00:00 2001
 From: Tim Gover <tgover@broadcom.com>
 Date: Tue, 22 Jul 2014 15:41:04 +0100
-Subject: [PATCH 038/232] vcsm: VideoCore shared memory service for BCM2835
+Subject: [PATCH 038/304] vcsm: VideoCore shared memory service for BCM2835
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index f4bd017..475bd86 100644 (file)
@@ -1,7 +1,7 @@
-From 1ee3b49a62efe1416a6b40fb5c6032288f3d2b08 Mon Sep 17 00:00:00 2001
+From e2633bbfb7a44ca624c5c67df3cab9e39e8357cf Mon Sep 17 00:00:00 2001
 From: Luke Wren <luke@raspberrypi.org>
 Date: Fri, 21 Aug 2015 23:14:48 +0100
-Subject: [PATCH 039/232] Add /dev/gpiomem device for rootless user GPIO access
+Subject: [PATCH 039/304] Add /dev/gpiomem device for rootless user GPIO access
 
 Signed-off-by: Luke Wren <luke@raspberrypi.org>
 
index cc43195..b65b25c 100644 (file)
@@ -1,7 +1,7 @@
-From e19c303e7d54d986e0bd3e47107a83e30329c1d0 Mon Sep 17 00:00:00 2001
+From 2c8e4852592e64f426a482df8b662984bb4f6c9e Mon Sep 17 00:00:00 2001
 From: Luke Wren <wren6991@gmail.com>
 Date: Sat, 5 Sep 2015 01:14:45 +0100
-Subject: [PATCH 040/232] Add SMI driver
+Subject: [PATCH 040/304] Add SMI driver
 
 Signed-off-by: Luke Wren <wren6991@gmail.com>
 ---
index de0c174..3530844 100644 (file)
@@ -1,7 +1,7 @@
-From c0fe401b61ae4d002f6fc84438ce69c5917c580a Mon Sep 17 00:00:00 2001
+From 810a555a6fe83edc69126deba240839f152d8938 Mon Sep 17 00:00:00 2001
 From: Luke Wren <wren6991@gmail.com>
 Date: Sat, 5 Sep 2015 01:16:10 +0100
-Subject: [PATCH 041/232] Add SMI NAND driver
+Subject: [PATCH 041/304] Add SMI NAND driver
 
 Signed-off-by: Luke Wren <wren6991@gmail.com>
 ---
index 59f8832..205a86f 100644 (file)
@@ -1,7 +1,7 @@
-From 0bc00c67aea43098c7b066e7b123379b260cc7de Mon Sep 17 00:00:00 2001
+From 1f298174c176aa408de36b46421ac114357ac0e9 Mon Sep 17 00:00:00 2001
 From: Aron Szabo <aron@aron.ws>
 Date: Sat, 16 Jun 2012 12:15:55 +0200
-Subject: [PATCH 042/232] lirc: added support for RaspberryPi GPIO
+Subject: [PATCH 042/304] lirc: added support for RaspberryPi GPIO
 
 lirc_rpi: Use read_current_timer to determine transmitter delay. Thanks to jjmz and others
 See: https://github.com/raspberrypi/linux/issues/525
index 26915a1..f4569de 100644 (file)
@@ -1,7 +1,7 @@
-From 007ef35b2cf5d8a0197e81e712b38fb72cebae2e Mon Sep 17 00:00:00 2001
+From 3d01c18ff8973905ef050b20b13063f9e7759c3a Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 3 Jul 2013 00:49:20 +0100
-Subject: [PATCH 043/232] Add cpufreq driver
+Subject: [PATCH 043/304] Add cpufreq driver
 
 Signed-off-by: popcornmix <popcornmix@gmail.com>
 ---
index 0834763..aa6c2ec 100644 (file)
@@ -1,7 +1,7 @@
-From 9f251fdbaaf3bd895c2901413748679d68a0c644 Mon Sep 17 00:00:00 2001
+From a1dd93ad1499de093098226931462628cc86e4e6 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Tue, 26 Mar 2013 19:24:24 +0000
-Subject: [PATCH 044/232] Added hwmon/thermal driver for reporting core
+Subject: [PATCH 044/304] Added hwmon/thermal driver for reporting core
  temperature. Thanks Dorian
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
index 6e5ae8b..dbe8cee 100644 (file)
@@ -1,7 +1,7 @@
-From 28a4399bf03eeb3ec5b7b56c9445b296e1427665 Mon Sep 17 00:00:00 2001
+From 0feef39a2329ed935108d53e02fe38cb4578dfbf Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 17 Jun 2015 15:44:08 +0100
-Subject: [PATCH 045/232] Add Chris Boot's i2c driver
+Subject: [PATCH 045/304] Add Chris Boot's i2c driver
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 6070610..466cb46 100644 (file)
@@ -1,7 +1,7 @@
-From 75804edaed6c45d813dcee866d39445130d82539 Mon Sep 17 00:00:00 2001
+From 3423e9a9b7e0d6e988832d1362f2fb3ce76bf07c 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 046/232] char: broadcom: Add vcio module
+Subject: [PATCH 046/304] char: broadcom: Add vcio module
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 243803a..3ff7d8b 100644 (file)
@@ -1,7 +1,7 @@
-From 80b7c5e2cc3d633b3d3a1afbdb537e2ccfe906c7 Mon Sep 17 00:00:00 2001
+From f259f2e35226640b67ff324789f3638a724bab53 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 047/232] firmware: bcm2835: Support ARCH_BCM270x
+Subject: [PATCH 047/304] firmware: bcm2835: Support ARCH_BCM270x
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 17515c7..ebb90a4 100644 (file)
@@ -1,7 +1,7 @@
-From e15fddd4332bd3a762d0feef48ff2b5e3df10af0 Mon Sep 17 00:00:00 2001
+From 877bf225ae61519f04b880abe2d84ae7dc585475 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 048/232] bcm2835: add v4l2 camera device
+Subject: [PATCH 048/304] bcm2835: add v4l2 camera device
 
 - Supports raw YUV capture, preview, JPEG and H264.
 - Uses videobuf2 for data transfer, using dma_buf.
index 60201fe..8c8ee82 100644 (file)
@@ -1,7 +1,7 @@
-From 91e833ab0b220bb0bb810bb9605b0a03cd76baa8 Mon Sep 17 00:00:00 2001
+From 35361c41437a4d81c47bc56189369201c5f1d2e4 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 11 May 2015 09:00:42 +0100
-Subject: [PATCH 049/232] scripts: Add mkknlimg and knlinfo scripts from tools
+Subject: [PATCH 049/304] scripts: Add mkknlimg and knlinfo scripts from tools
  repo
 
 The Raspberry Pi firmware looks for a trailer on the kernel image to
index ab07248..815d3a7 100644 (file)
@@ -1,7 +1,7 @@
-From 918b9e451bbaebb775725a292fd3b6e3d4cf804f Mon Sep 17 00:00:00 2001
+From e88c206c101194b8513860c135ee77366d7456eb Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Fri, 5 Dec 2014 17:26:26 +0000
-Subject: [PATCH 050/232] fdt: Add support for the CONFIG_CMDLINE_EXTEND option
+Subject: [PATCH 050/304] fdt: Add support for the CONFIG_CMDLINE_EXTEND option
 
 ---
  drivers/of/fdt.c | 29 ++++++++++++++++++++++++-----
index 1ff1754..55eea89 100644 (file)
@@ -1,7 +1,7 @@
-From d1fdaf68df66e82bea1081b490ebeea414d69203 Mon Sep 17 00:00:00 2001
+From f3552e720773b9e13a0667606c8438ae14d0538b Mon Sep 17 00:00:00 2001
 From: notro <notro@tronnes.org>
 Date: Wed, 9 Jul 2014 14:46:08 +0200
-Subject: [PATCH 051/232] BCM2708: Add core Device Tree support
+Subject: [PATCH 051/304] BCM2708: Add core Device Tree support
 
 Add the bare minimum needed to boot BCM2708 from a Device Tree.
 
index a7966df..24d763e 100644 (file)
@@ -1,7 +1,7 @@
-From da7cdef4979282624e0e7527c3c8334a59f39676 Mon Sep 17 00:00:00 2001
+From 96c7eeec2f269f779e14eef94e19804f70ac5c36 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 052/232] bcm2835: Match with BCM2708 Device Trees
+Subject: [PATCH 052/304] bcm2835: Match with BCM2708 Device Trees
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index f6416e4..f5f1560 100644 (file)
@@ -1,7 +1,7 @@
-From b28366cb5b514e5c59586f9a5509d3afff5337d5 Mon Sep 17 00:00:00 2001
+From 2d65eb731311b3bb43ac2b2194d76be99246aefc 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 053/232] fbdev: add FBIOCOPYAREA ioctl
+Subject: [PATCH 053/304] fbdev: add FBIOCOPYAREA ioctl
 
 Based on the patch authored by Ali Gholami Rudi at
     https://lkml.org/lkml/2009/7/13/153
index b2e9803..d761945 100644 (file)
@@ -1,7 +1,7 @@
-From dbf03b37592b79d891cb796fda13d8495a6a5234 Mon Sep 17 00:00:00 2001
+From 2b0758010872540fd290ed5c3ab489f7318fc977 Mon Sep 17 00:00:00 2001
 From: Harm Hanemaaijer <fgenfb@yahoo.com>
 Date: Thu, 20 Jun 2013 20:21:39 +0200
-Subject: [PATCH 057/232] Speed up console framebuffer imageblit function
+Subject: [PATCH 057/304] Speed up console framebuffer imageblit function
 
 Especially on platforms with a slower CPU but a relatively high
 framebuffer fill bandwidth, like current ARM devices, the existing
index 69be30c..b9fb8c5 100644 (file)
@@ -1,7 +1,7 @@
-From cf63ba6ba21e8a1d62b1eb4917af42d6bcfa4445 Mon Sep 17 00:00:00 2001
+From eec29af59aca3d4f7edd6760c12ff33e8650d20d Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Tue, 26 Mar 2013 17:26:38 +0000
-Subject: [PATCH 058/232] Allow mac address to be set in smsc95xx
+Subject: [PATCH 058/304] Allow mac address to be set in smsc95xx
 
 Signed-off-by: popcornmix <popcornmix@gmail.com>
 ---
index 8cf13da..46fe1b3 100644 (file)
@@ -1,7 +1,7 @@
-From 20f0537c77ac3ef4e446bd0013c37ddd3af3936b Mon Sep 17 00:00:00 2001
+From cb3ff14d3ee1bfb19828f1f48fe486f33d7a6fbb Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 8 May 2013 11:46:50 +0100
-Subject: [PATCH 059/232] enabling the realtime clock 1-wire chip DS1307 and
+Subject: [PATCH 059/304] enabling the realtime clock 1-wire chip DS1307 and
  1-wire on GPIO4 (as a module)
 
 1-wire: Add support for configuring pin for w1-gpio kernel module
index a57f6e0..8e3e9a6 100644 (file)
@@ -1,7 +1,7 @@
-From fbd8454a22771ed12e1905a52934a6a871bc492e Mon Sep 17 00:00:00 2001
+From b0237d9659cb376e049e205dd9db20c210237388 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 3 Jul 2013 00:54:08 +0100
-Subject: [PATCH 060/232] Added Device IDs for August DVB-T 205
+Subject: [PATCH 060/304] Added Device IDs for August DVB-T 205
 
 ---
  drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 4 ++++
index afc9b6b..0e42890 100644 (file)
@@ -1,7 +1,7 @@
-From 6f8e2aeb77e4437eab3a46d74a1a2b9533812c81 Mon Sep 17 00:00:00 2001
+From 2cf0ecd618278861b4f7a9e7b72f39974493e18d Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 18 Dec 2013 22:16:19 +0000
-Subject: [PATCH 061/232] config: Enable CONFIG_MEMCG, but leave it disabled
+Subject: [PATCH 061/304] config: Enable CONFIG_MEMCG, but leave it disabled
  (due to memory cost). Enable with cgroup_enable=memory.
 
 ---
index 8d56af7..007dc0c 100644 (file)
@@ -1,7 +1,7 @@
-From b507ac15b579d88a09bf915f2f3ca8de7f1e4bf7 Mon Sep 17 00:00:00 2001
+From 6566720748ca71f63386608bb4c72e3b1efcc43a 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 062/232] ASoC: Add support for PCM5102A codec
+Subject: [PATCH 062/304] ASoC: Add support for PCM5102A codec
 
 Some definitions to support the PCM5102A codec
 by Texas Instruments.
index 5dc895e..8a79025 100644 (file)
@@ -1,7 +1,7 @@
-From 9f5e88b201753c68a90fa45a269aa82febc58fc6 Mon Sep 17 00:00:00 2001
+From d47c284760f870b312b4ed488b71d0b549e0ef70 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 063/232] ASoC: Add support for HifiBerry DAC
+Subject: [PATCH 063/304] ASoC: Add support for HifiBerry DAC
 
 This adds a machine driver for the HifiBerry DAC.
 It is a sound card that can
index 5c212ce..ae87961 100644 (file)
@@ -1,7 +1,7 @@
-From 95bf71f0e826b97bad98f350e2fee6ba515a38cf Mon Sep 17 00:00:00 2001
+From 26ee57a5d9cd05e006b277446c9535aeda3c93d6 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 064/232] ASoC: Add support for Rpi-DAC
+Subject: [PATCH 064/304] ASoC: Add support for Rpi-DAC
 
 ---
  sound/soc/bcm/Kconfig       |   7 +++
index b668f43..e8434b1 100644 (file)
@@ -1,7 +1,7 @@
-From 455d188d2a22ced675219587856c0dc66efc7256 Mon Sep 17 00:00:00 2001
+From ca1252c2232d7a7d44c8ae1fc35ae11ef2cd860d 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 065/232] ASoC: wm8804: Implement MCLK configuration options,
+Subject: [PATCH 065/304] ASoC: wm8804: Implement MCLK configuration options,
  add 32bit support WM8804 can run with PLL frequencies of 256xfs and 128xfs
  for most sample rates. At 192kHz only 128xfs is supported. The existing
  driver selects 128xfs automatically for some lower samples rates. By using an
index 913a7c6..3d23fb4 100644 (file)
@@ -1,7 +1,7 @@
-From 442de6ae737fbd27bcf2fde8be857beccc59fd1f Mon Sep 17 00:00:00 2001
+From 376d0b5d94c6d78d943f30b81de14bc66f7b2911 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 066/232] ASoC: BCM:Add support for HiFiBerry Digi. Driver is
+Subject: [PATCH 066/304] ASoC: BCM:Add support for HiFiBerry Digi. Driver is
  based on the patched WM8804 driver.
 
 Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
index b9f6ea4..dd03414 100644 (file)
@@ -1,7 +1,7 @@
-From 836e7d5d46f17115b728986e3077c78c211a7678 Mon Sep 17 00:00:00 2001
+From b271e01a647c30ff8c6e66b2d4109e72235da27d 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 067/232] ASoC: wm8804: Set idle_bias_off to false Idle bias
+Subject: [PATCH 067/304] ASoC: wm8804: Set idle_bias_off to false Idle bias
  has been change to remove warning on driver startup
 
 Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
index d16dcc4..3784812 100644 (file)
@@ -1,7 +1,7 @@
-From 7ab81054051a41288e4aa2bb21d4740e0d78a4ac Mon Sep 17 00:00:00 2001
+From 21af89410a1ca12bce1dcfcd49af1eea66437af9 Mon Sep 17 00:00:00 2001
 From: Gordon Garrity <gordon@iqaudio.com>
 Date: Sat, 8 Mar 2014 16:56:57 +0000
-Subject: [PATCH 068/232] Add IQaudIO Sound Card support for Raspberry Pi
+Subject: [PATCH 068/304] Add IQaudIO Sound Card support for Raspberry Pi
 
 Set a limit of 0dB on Digital Volume Control
 
index c292692..a7ad5cc 100644 (file)
@@ -1,7 +1,7 @@
-From efb984b47e685c966a3b55874de2c1fb5b0b1140 Mon Sep 17 00:00:00 2001
+From 1aaeb4fd759f159edc94ed53c7e1d02a57a107ae Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Mon, 14 Jul 2014 22:02:09 +0100
-Subject: [PATCH 069/232] hid: Reduce default mouse polling interval to 60Hz
+Subject: [PATCH 069/304] hid: Reduce default mouse polling interval to 60Hz
 
 Reduces overhead when using X
 ---
index 9a0e203..aa770a6 100644 (file)
@@ -1,7 +1,7 @@
-From 72a92f2e40881dcb46e50021c5c5fe2c20d8c461 Mon Sep 17 00:00:00 2001
+From bdc06975313393c21c0f72d52f1733a2333d1b70 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 070/232] Added support for HiFiBerry DAC+
+Subject: [PATCH 070/304] Added support for HiFiBerry DAC+
 
 The driver is based on the HiFiBerry DAC driver. However HiFiBerry DAC+ uses
 a different codec chip (PCM5122), therefore a new driver is necessary.
index b45c47c..998c269 100644 (file)
@@ -1,7 +1,7 @@
-From f25572414689152e6208e5ca921185b1db536b24 Mon Sep 17 00:00:00 2001
+From 1d152bc8e97a3f004604ff4c10e5243266b4a312 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 071/232] Added driver for HiFiBerry Amp amplifier add-on board
+Subject: [PATCH 071/304] Added driver for HiFiBerry Amp amplifier add-on board
 
 The driver contains a low-level hardware driver for the TAS5713 and the
 drivers for the Raspberry Pi I2S subsystem.
index 9499635..546baa3 100644 (file)
@@ -1,7 +1,7 @@
-From d0bfff366e12c9b401ac7eafabab7337e82549ea Mon Sep 17 00:00:00 2001
+From 455ba80fce771499a5045cfddd741895f38cbc01 Mon Sep 17 00:00:00 2001
 From: Ryan Coe <bluemrp9@gmail.com>
 Date: Sat, 31 Jan 2015 18:25:49 -0700
-Subject: [PATCH 072/232] Update ds1307 driver for device-tree support
+Subject: [PATCH 072/304] Update ds1307 driver for device-tree support
 
 Signed-off-by: Ryan Coe <bluemrp9@gmail.com>
 ---
index 3a26865..8800726 100644 (file)
@@ -1,7 +1,7 @@
-From 96aac93fdea2caa77d4746aa001c2d792b314112 Mon Sep 17 00:00:00 2001
+From 0613a9ad697b96c7aa5f3b6cb7d0c3bb236428e8 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Fri, 6 Feb 2015 13:50:57 +0000
-Subject: [PATCH 073/232] BCM270x_DT: Add pwr_led, and the required "input"
+Subject: [PATCH 073/304] BCM270x_DT: Add pwr_led, and the required "input"
  trigger
 
 The "input" trigger makes the associated GPIO an input.  This is to support
index 4b7ae74..6f9c79d 100644 (file)
@@ -1,7 +1,7 @@
-From d3a1dcc1ce28233707c395b11cd2403ba22aebda Mon Sep 17 00:00:00 2001
+From 46c40754e960e05c4b7f0d76241e75b5363527d5 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Fri, 27 Feb 2015 15:10:24 +0000
-Subject: [PATCH 074/232] enc28j60: Add device tree compatible string and an
+Subject: [PATCH 074/304] enc28j60: Add device tree compatible string and an
  overlay
 
 ---
index f99b5e9..37a5b37 100644 (file)
@@ -1,7 +1,7 @@
-From a058f705de89cb54126d9bf8d099acb7ececb6e7 Mon Sep 17 00:00:00 2001
+From fd2629ca6b3487d6efe7c49c93cb44a47cbf9e5a Mon Sep 17 00:00:00 2001
 From: Waldemar Brodkorb <wbrodkorb@conet.de>
 Date: Wed, 25 Mar 2015 09:26:17 +0100
-Subject: [PATCH 075/232] Add driver for rpi-proto
+Subject: [PATCH 075/304] Add driver for rpi-proto
 
 Forward port of 3.10.x driver from https://github.com/koalo
 We are using a custom board and would like to use rpi 3.18.x
index ab218d4..9dbcea3 100644 (file)
@@ -1,7 +1,7 @@
-From 78cf26e64b4ce0c4567829c42990a89ab59a6553 Mon Sep 17 00:00:00 2001
+From e892ae7922d86bdede4f59336222cb9d8cf60994 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Mon, 13 Apr 2015 17:16:29 +0100
-Subject: [PATCH 076/232] config: Add default configs
+Subject: [PATCH 076/304] config: Add default configs
 
 ---
  arch/arm/configs/bcm2709_defconfig | 1254 +++++++++++++++++++++++++++++++++++
index be5e023..9070bfd 100644 (file)
@@ -1,7 +1,7 @@
-From 0ee42e134a9a28fd825e1390634113108c0eebc0 Mon Sep 17 00:00:00 2001
+From b08ccdff6e3f9a0b17edaf423f140775a5a25c72 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 077/232] bcm2835: bcm2835_defconfig
+Subject: [PATCH 077/304] bcm2835: bcm2835_defconfig
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
index 9a1445d..adf474e 100644 (file)
@@ -1,7 +1,7 @@
-From d46fbf49354f8c82cc216d56d9addad113703c50 Mon Sep 17 00:00:00 2001
+From d9eaf4c9a302c60d131ce6e7384ae36085cf5731 Mon Sep 17 00:00:00 2001
 From: Gordon Hollingworth <gordon@raspberrypi.org>
 Date: Tue, 12 May 2015 14:47:56 +0100
-Subject: [PATCH 078/232] rpi-ft5406: Add touchscreen driver for pi LCD display
+Subject: [PATCH 078/304] rpi-ft5406: Add touchscreen driver for pi LCD display
 
 Fix driver detection failure Check that the buffer response is non-zero meaning the touchscreen was detected
 
index ea6aac7..0a364ee 100644 (file)
@@ -1,7 +1,7 @@
-From 4514b02d95de8be6d6298ee20a5204815cf669d0 Mon Sep 17 00:00:00 2001
+From 93aae11e6e1bcd5178685f85938e7c339d91a95e Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 13 Oct 2014 11:47:53 +0100
-Subject: [PATCH 079/232] Improve __copy_to_user and __copy_from_user
+Subject: [PATCH 079/304] Improve __copy_to_user and __copy_from_user
  performance
 
 Provide a __copy_from_user that uses memcpy. On BCM2708, use
index b8edcc8..a473e44 100644 (file)
@@ -1,7 +1,7 @@
-From 11e9f3f8268e79dd28450eacffe1d7484f2a7361 Mon Sep 17 00:00:00 2001
+From 328a04523323650c59fef1657143e87513c79751 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Thu, 25 Jun 2015 12:16:11 +0100
-Subject: [PATCH 080/232] gpio-poweroff: Allow it to work on Raspberry Pi
+Subject: [PATCH 080/304] gpio-poweroff: Allow it to work on Raspberry Pi
 
 The Raspberry Pi firmware manages the power-down and reboot
 process. To do this it installs a pm_power_off handler, causing
index d62a0d2..ce133cb 100644 (file)
@@ -1,7 +1,7 @@
-From 958d09ad7f70ff5dd38a6c60b9e3f103e125168a Mon Sep 17 00:00:00 2001
+From c2c3af65be6009ded5c3c8984ab7f58f5e7797ee Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Tue, 14 Jul 2015 10:26:09 +0100
-Subject: [PATCH 081/232] spidev: Add "spidev" compatible string to silence
+Subject: [PATCH 081/304] spidev: Add "spidev" compatible string to silence
  warning
 
 See: https://github.com/raspberrypi/linux/issues/1054
index 4f882e2..478eca8 100644 (file)
@@ -1,7 +1,7 @@
-From 462447ecf49eb6dd6d77f3d21b272dd4fa68bee9 Mon Sep 17 00:00:00 2001
+From 7508b75a2466c9d6f9061fde718eb6bbfed44ede Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Tue, 14 Jul 2015 17:00:18 +0100
-Subject: [PATCH 082/232] scripts/dtc: Add overlay support
+Subject: [PATCH 082/304] scripts/dtc: Add overlay support
 
 ---
  scripts/dtc/checks.c                 |  119 ++-
index d36d569..ddd8b85 100644 (file)
@@ -1,7 +1,7 @@
-From 98ec469c223432d4f40317023a04cfa71f661c10 Mon Sep 17 00:00:00 2001
+From 4969b05b74287320b646ec19371c1e04f1d98336 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 083/232] mfd: Add Raspberry Pi Sense HAT core driver
+Subject: [PATCH 083/304] mfd: Add Raspberry Pi Sense HAT core driver
 
 ---
  drivers/input/joystick/Kconfig           |   8 +
index 3da75d3..f95953a 100644 (file)
@@ -1,7 +1,7 @@
-From 5133d16d705f9ccf7f558ebc43861e1800512969 Mon Sep 17 00:00:00 2001
+From f8cf34f551e172b02306ce12da00e8c8c2550660 Mon Sep 17 00:00:00 2001
 From: Jan Grulich <jan@grulich.eu>
 Date: Mon, 24 Aug 2015 16:03:47 +0100
-Subject: [PATCH 084/232] RaspiDAC3 support
+Subject: [PATCH 084/304] RaspiDAC3 support
 
 Signed-off-by: Jan Grulich <jan@grulich.eu>
 
index 34ed178..c3e79ea 100644 (file)
@@ -1,7 +1,7 @@
-From 570d2d99cbf2b830e0d1be01dcc6fdd339b4d157 Mon Sep 17 00:00:00 2001
+From bdf67add80855689e7580feaa8ae1c82d2f9d209 Mon Sep 17 00:00:00 2001
 From: Jan Grulich <jan@grulich.eu>
 Date: Mon, 24 Aug 2015 16:02:34 +0100
-Subject: [PATCH 085/232] tpa6130a2: Add headphone switch control
+Subject: [PATCH 085/304] tpa6130a2: Add headphone switch control
 
 Signed-off-by: Jan Grulich <jan@grulich.eu>
 ---
index 125c30e..3e95843 100644 (file)
@@ -1,7 +1,7 @@
-From a9e2bfff9a39efe94a066735509643fc3bed1ba0 Mon Sep 17 00:00:00 2001
+From 19b6a85b13ed26364b6bb0946cf51ede345d8e2d Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Mon, 28 Sep 2015 23:38:59 +0100
-Subject: [PATCH 086/232] irq-bcm2835: Fix building with 2708
+Subject: [PATCH 086/304] irq-bcm2835: Fix building with 2708
 
 ---
  drivers/irqchip/irq-bcm2835.c | 3 ++-
index f9c84bb..f17ba4a 100644 (file)
@@ -1,7 +1,7 @@
-From 0a8cace2c9d473ac347cc08dfe19b24ad5ca3d2b Mon Sep 17 00:00:00 2001
+From 6e7a4e8116e8379bd3be1d88092bfb9cacee7e14 Mon Sep 17 00:00:00 2001
 From: P33M <P33M@github.com>
 Date: Wed, 21 Oct 2015 14:55:21 +0100
-Subject: [PATCH 087/232] rpi_display: add backlight driver and overlay
+Subject: [PATCH 087/304] rpi_display: add backlight driver and overlay
 
 Add a mailbox-driven backlight controller for the Raspberry Pi DSI
 touchscreen display. Requires updated GPU firmware to recognise the
index d7263d1..c9ec114 100644 (file)
@@ -1,7 +1,7 @@
-From ec2e48fda22c57cab56a4332d1a095f91c919493 Mon Sep 17 00:00:00 2001
+From a18791e434387ff2dec3fd8e32d0ae41896d40a5 Mon Sep 17 00:00:00 2001
 From: Matthias Reichl <hias@horus.com>
 Date: Mon, 16 Nov 2015 14:05:35 +0000
-Subject: [PATCH 088/232] bcm2835-dma: Fix up convert to DMA pool
+Subject: [PATCH 088/304] bcm2835-dma: Fix up convert to DMA pool
 
 ---
  drivers/dma/bcm2835-dma.c | 36 ++++++++++++++++++++++++++----------
index a3f7e98..b67cf6a 100644 (file)
@@ -1,7 +1,7 @@
-From 9a67f8f17bb07bbfeee650327c88b6d381ab4af1 Mon Sep 17 00:00:00 2001
+From 8a51551a8e90b0af9ca4d1519e4ab3c4e3f0e672 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Wed, 11 Nov 2015 11:38:59 +0000
-Subject: [PATCH 089/232] scripts: Multi-platform support for mkknlimg and
+Subject: [PATCH 089/304] scripts: Multi-platform support for mkknlimg and
  knlinfo
 
 The firmware uses tags in the kernel trailer to choose which dtb file
index 9713718..55a32a6 100644 (file)
@@ -1,7 +1,7 @@
-From 16c40415a78ba028f126b68e2cabf860186ff4f4 Mon Sep 17 00:00:00 2001
+From 1f7a26d3f23eca72e81b23fd2c624975e252b1dc Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Mon, 2 Mar 2015 13:01:12 -0800
-Subject: [PATCH 090/232] drm/vc4: Add suport for 3D rendering using the V3D
+Subject: [PATCH 090/304] drm/vc4: Add suport for 3D rendering using the V3D
  engine.
 
 This is a squash of the out-of-tree development series.  Since that
index f8251cc..c2bc50a 100644 (file)
@@ -1,7 +1,7 @@
-From fbec01e2d17b924d91850e17eeecf975e74c9ebf Mon Sep 17 00:00:00 2001
+From 561ea7d6af345cf43a05a188d73f2e9e29a9cde8 Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Wed, 14 Oct 2015 11:32:14 -0700
-Subject: [PATCH 091/232] drm/vc4: Force HDMI to connected.
+Subject: [PATCH 091/304] drm/vc4: Force HDMI to connected.
 
 For some reason on the downstream tree, the HPD GPIO isn't working.
 
index 3a7bec7..d248be2 100644 (file)
@@ -1,7 +1,7 @@
-From d27b72cbcf572b0e2c18359f494d1f6aa90dd6f3 Mon Sep 17 00:00:00 2001
+From 128c58414e4c53bb5f57330b0928666a14b51f05 Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Mon, 19 Oct 2015 08:23:18 -0700
-Subject: [PATCH 092/232] drm/vc4: bo cache locking fixes.
+Subject: [PATCH 092/304] drm/vc4: bo cache locking fixes.
 
 Signed-off-by: Eric Anholt <eric@anholt.net>
 ---
index 369b1d8..ead4011 100644 (file)
@@ -1,7 +1,7 @@
-From 6473779beaeda1017d8487c3f510015f2b9b8f9d Mon Sep 17 00:00:00 2001
+From 6678a113e6eb5104d000f02c8cdc09eec50297ae Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Mon, 19 Oct 2015 08:29:41 -0700
-Subject: [PATCH 093/232] drm/vc4: bo cache locking cleanup.
+Subject: [PATCH 093/304] drm/vc4: bo cache locking cleanup.
 
 Signed-off-by: Eric Anholt <eric@anholt.net>
 ---
index b86d07e..6218091 100644 (file)
@@ -1,7 +1,7 @@
-From 1ec9d09f4b9ec69b3b0422fa3c26b3bcc82af64e Mon Sep 17 00:00:00 2001
+From a97d62dbd1d65bcd0bb51aa66b1e928381146cd7 Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Mon, 19 Oct 2015 08:32:24 -0700
-Subject: [PATCH 094/232] drm/vc4: Use job_lock to protect seqno_cb_list.
+Subject: [PATCH 094/304] drm/vc4: Use job_lock to protect seqno_cb_list.
 
 We're (mostly) not supposed to be using struct_mutex in drivers these
 days.
index 91f7d7c..3101194 100644 (file)
@@ -1,7 +1,7 @@
-From 016847d7cd5222d15f9213dc772d3808cd5d6e17 Mon Sep 17 00:00:00 2001
+From fb03ccdfb2baae625f8ab04d4d627dbe97545484 Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Mon, 19 Oct 2015 08:44:35 -0700
-Subject: [PATCH 095/232] drm/vc4: Drop struct_mutex around CL validation.
+Subject: [PATCH 095/304] drm/vc4: Drop struct_mutex around CL validation.
 
 We were using it so that we could make sure that shader validation
 state didn't change while we were validating, but now shader
index 07c4d93..7efb557 100644 (file)
@@ -1,7 +1,7 @@
-From 69aa18660bbe1ee6524c8220beb2af711146bc7f Mon Sep 17 00:00:00 2001
+From ec7429376e7e208e133d1b3fc4b48c45e9fd4826 Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Mon, 19 Oct 2015 08:44:35 -0700
-Subject: [PATCH 096/232] drm/vc4: Drop struct_mutex around CL validation.
+Subject: [PATCH 096/304] drm/vc4: Drop struct_mutex around CL validation.
 
 We were using it so that we could make sure that shader validation
 state didn't change while we were validating, but now shader
index fded87d..79c12fe 100644 (file)
@@ -1,7 +1,7 @@
-From 111e49bbb002b4dd86ef0c7e0b314c336e6a01c3 Mon Sep 17 00:00:00 2001
+From 61c118e19ca1111715a2b762ff8687039e1daf6e Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Tue, 20 Oct 2015 13:59:15 +0100
-Subject: [PATCH 097/232] drm/vc4: Add support for more display plane formats.
+Subject: [PATCH 097/304] drm/vc4: Add support for more display plane formats.
 
 Signed-off-by: Eric Anholt <eric@anholt.net>
 ---
index 9831c9e..c01694f 100644 (file)
@@ -1,7 +1,7 @@
-From 81dbf19b16cc789162ac94cd4e764a667111386e Mon Sep 17 00:00:00 2001
+From 966f44478d6ccb55bfd20b1249cb20a729519190 Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Fri, 23 Oct 2015 12:31:56 +0100
-Subject: [PATCH 098/232] drm/vc4: No need to stop the stopped threads.
+Subject: [PATCH 098/304] drm/vc4: No need to stop the stopped threads.
 
 This was leftover debug code from the hackdriver.  We never submit
 unless the thread is already idle.
index e0862d8..7fdcad2 100644 (file)
@@ -1,7 +1,7 @@
-From 9db0b8d54024bf5a2d0c3239aa571d890e8c8b3a Mon Sep 17 00:00:00 2001
+From 7c5a9af8ff8784fa03e51c1db9c00d846edc7cdd Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Fri, 23 Oct 2015 12:33:43 +0100
-Subject: [PATCH 099/232] drm/vc4: Remove extra barrier()s aroudn CTnCA/CTnEA
+Subject: [PATCH 099/304] drm/vc4: Remove extra barrier()s aroudn CTnCA/CTnEA
  setup.
 
 The writel() that these expand to already does barriers.
index 6049fb5..a03ce43 100644 (file)
@@ -1,7 +1,7 @@
-From 03b4b90b8e265158ac3529428f7aaf5f3b0f8a7a Mon Sep 17 00:00:00 2001
+From ef7adf5749220e6d03f2a49ae87e0246990d7318 Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Fri, 23 Oct 2015 14:57:22 +0100
-Subject: [PATCH 100/232] drm/vc4: Fix a typo in a V3D debug register.
+Subject: [PATCH 100/304] drm/vc4: Fix a typo in a V3D debug register.
 
 Signed-off-by: Eric Anholt <eric@anholt.net>
 ---
index 8426ba6..390e432 100644 (file)
@@ -1,7 +1,7 @@
-From a5b0c616e9b40bd7907c5157700661004a8ef331 Mon Sep 17 00:00:00 2001
+From 8797031295e4443ed97e368d7fdfac28a2033c5c Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 2 Nov 2015 17:07:33 +0000
-Subject: [PATCH 101/232] drm/vc4: Enable VC4 modules, and increase CMA size
+Subject: [PATCH 101/304] drm/vc4: Enable VC4 modules, and increase CMA size
  with overlay
 
 If using the overlay, be careful not to boot to GUI or run startx,
index 018ce67..eb7769a 100644 (file)
@@ -1,7 +1,7 @@
-From 17f4de0c9daea638476ca0f80123d3523e66fdc0 Mon Sep 17 00:00:00 2001
+From af69b8bba233eadb7ea8efafdcb150e5948a30f4 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 18 Nov 2015 18:29:58 +0000
-Subject: [PATCH 102/232] squash: fixups
+Subject: [PATCH 102/304] squash: fixups
 
 ---
  drivers/gpu/drm/vc4/Kconfig   | 2 +-
index 0c77a81..f22c522 100644 (file)
@@ -1,7 +1,7 @@
-From c1834a750441c3ea55f24377e04cf8d1fb66c877 Mon Sep 17 00:00:00 2001
+From ad6efff00c05f8c62f00bbf40f8d1437d8f9a6c4 Mon Sep 17 00:00:00 2001
 From: popcornmix <popcornmix@gmail.com>
 Date: Wed, 18 Nov 2015 20:26:03 +0000
-Subject: [PATCH 103/232] squash: add missing vc4-kms-v3d-overlay.dtb to
+Subject: [PATCH 103/304] squash: add missing vc4-kms-v3d-overlay.dtb to
  makefile
 
 ---
index 56cef7e..e2d1e46 100644 (file)
@@ -1,7 +1,7 @@
-From 084eeec470e76e8c84cda1a31e323610467913bd Mon Sep 17 00:00:00 2001
+From 6787949088d4c06d784b2c647a13fd9e85c5ea1e Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Mon, 12 Oct 2015 11:23:34 -0700
-Subject: [PATCH 104/232] clk: bcm2835: Also build the driver for downstream
+Subject: [PATCH 104/304] clk: bcm2835: Also build the driver for downstream
  kernels.
 
 Signed-off-by: Eric Anholt <eric@anholt.net>
index 22de121..58c49f2 100644 (file)
@@ -1,7 +1,7 @@
-From cbb80e24a9db48390c82c7030cc7f7389aee953f Mon Sep 17 00:00:00 2001
+From bee71d721d6f0269a37a3fab61f9af2b47dc32ca Mon Sep 17 00:00:00 2001
 From: Holger Steinhaus <hsteinhaus@gmx.de>
 Date: Sat, 14 Nov 2015 18:37:43 +0100
-Subject: [PATCH 105/232] dts: Added overlay for gpio_ir_recv driver
+Subject: [PATCH 105/304] dts: Added overlay for gpio_ir_recv driver
 
 ---
  arch/arm/boot/dts/overlays/Makefile            |  1 +
index 2599016..98e8e5f 100644 (file)
@@ -1,7 +1,7 @@
-From c644d7cae9394e209fc2451b91d2852ebfc85a09 Mon Sep 17 00:00:00 2001
+From a94e2448879eea9ae5344862aa091c3009dec805 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 106/232] Build i2c_gpio module and add a device tree overlay
+Subject: [PATCH 106/304] Build i2c_gpio module and add a device tree overlay
  to configure it.
 
 ---
index f57a63d..ed8e5e8 100644 (file)
@@ -1,7 +1,7 @@
-From a5a974dbeaaf0be8b1fa5d8c6f117b320ea01b44 Mon Sep 17 00:00:00 2001
+From d8b1f87438596cebc2b8e896c2d1a7c58cb14ca1 Mon Sep 17 00:00:00 2001
 From: mwilliams03 <mark.mwilliams@gmail.com>
 Date: Sun, 18 Oct 2015 17:07:24 -0700
-Subject: [PATCH 107/232] New overlay for PiScreen2r
+Subject: [PATCH 107/304] New overlay for PiScreen2r
 
 ---
  arch/arm/boot/dts/overlays/Makefile               |   1 +
index 4aab320..608d6fa 100644 (file)
@@ -1,7 +1,7 @@
-From 708f013bf40633883113c3fbaca5555b7d115906 Mon Sep 17 00:00:00 2001
+From c036a8544cdc048ae4fa4370a5899447975184d6 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 108/232] dts: Added overlay for Adafruit PiTFT 2.8" capacitive
+Subject: [PATCH 108/304] dts: Added overlay for Adafruit PiTFT 2.8" capacitive
  touch screen
 
 ---
index 272215d..4ba63f4 100644 (file)
@@ -1,7 +1,7 @@
-From b706bc693765cc80c31076e8fa0e35e798c12bbf Mon Sep 17 00:00:00 2001
+From 249509724dc6c5639d9a1fdea1075b65ba4d5efb Mon Sep 17 00:00:00 2001
 From: Stuart MacLean <stuart@hifiberry.com>
 Date: Fri, 2 Oct 2015 15:12:59 +0100
-Subject: [PATCH 109/232] Add support for the HiFiBerry DAC+ Pro.
+Subject: [PATCH 109/304] Add support for the HiFiBerry DAC+ Pro.
 
 The HiFiBerry DAC+ and DAC+ Pro products both use the existing bcm sound driver with the DAC+ Pro having a special clock device driver representing the two high precision oscillators.
 
index 41ae6ab..89e55bf 100644 (file)
@@ -1,7 +1,7 @@
-From 9fa71fbc6193d214f9a5432f85bb17f47016ba65 Mon Sep 17 00:00:00 2001
+From 09c63075be44e53b139d5741f7397f8e8939ae58 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 5 Oct 2015 10:47:45 +0100
-Subject: [PATCH 110/232] BCM270X_DT: Add at86rf233 overlay
+Subject: [PATCH 110/304] BCM270X_DT: Add at86rf233 overlay
 
 Add an overlay to support the Atmel AT86RF233 WPAN transceiver on spi0.0.
 
index ecb166c..7ba9f20 100644 (file)
@@ -1,7 +1,7 @@
-From 4df259e844e183bf00e1c5eb8ca25dcf19d396ce Mon Sep 17 00:00:00 2001
+From 8f4163a595499ea2950960eb8a1fd187f28e2617 Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Thu, 18 Dec 2014 16:07:15 -0800
-Subject: [PATCH 111/232] mm: Remove the PFN busy warning
+Subject: [PATCH 111/304] mm: Remove the PFN busy warning
 
 See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is
 expected sometimes when using CMA.  However, that commit still spams
index 637157b..c11ff4b 100644 (file)
@@ -1,7 +1,7 @@
-From b1891f7b0018e7e778f49c1817692e1f85a1f529 Mon Sep 17 00:00:00 2001
+From 0bd7f965ad98ce1304519379ef72ca1a4960483d Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Wed, 19 Nov 2014 12:06:38 -0800
-Subject: [PATCH 112/232] drm: Put an optional field in the driver struct for
+Subject: [PATCH 112/304] drm: Put an optional field in the driver struct for
  GEM obj struct size.
 
 This allows a driver to derive from the CMA object without copying all
index e71b82b..0fc2428 100644 (file)
@@ -1,7 +1,7 @@
-From b9e5697fbec13e6203b63649ee5d7c6819a5fb6b Mon Sep 17 00:00:00 2001
+From eb445fa566bd604dd3c0cd5e08e43735ccc149f2 Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Fri, 30 Oct 2015 10:09:02 -0700
-Subject: [PATCH 113/232] drm/vc4: Add an interface for capturing the GPU state
+Subject: [PATCH 113/304] drm/vc4: Add an interface for capturing the GPU state
  after a hang.
 
 This can be parsed with vc4-gpu-tools tools for trying to figure out
index b54c37a..3c0c52a 100644 (file)
@@ -1,7 +1,7 @@
-From e4058e84edec652f5a7b3e9e4982eac62b22a90c Mon Sep 17 00:00:00 2001
+From ac832d51da00be28cf70a2c33cfb07ef06a7e94c Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Fri, 4 Dec 2015 11:35:34 -0800
-Subject: [PATCH 114/232] drm/vc4: Update a bunch of code to match upstream
+Subject: [PATCH 114/304] drm/vc4: Update a bunch of code to match upstream
  submission.
 
 This gets almost everything matching, except for the MSAA support and
index db69082..1a5471d 100644 (file)
@@ -1,7 +1,7 @@
-From 659b247a25ea9439be74087726d6adfae7570d12 Mon Sep 17 00:00:00 2001
+From 0625c4c03ba8e37d4757a410018c22b5d549036c Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Fri, 11 Dec 2015 19:45:03 -0800
-Subject: [PATCH 115/232] drm: Use the driver's gem_object_free function from
+Subject: [PATCH 115/304] drm: Use the driver's gem_object_free function from
  CMA helpers.
 
 VC4 wraps the CMA objects in its own structures, so it needs to do its
index ffa382b..dd51ae5 100644 (file)
@@ -1,7 +1,7 @@
-From 878a974dd326f144ba90c1cf018db604bf127835 Mon Sep 17 00:00:00 2001
+From cd77071a812478dd844c4099ddff4022e2ea1ba0 Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Fri, 17 Jul 2015 13:15:50 -0700
-Subject: [PATCH 116/232] drm/vc4: Add support for MSAA rendering.
+Subject: [PATCH 116/304] drm/vc4: Add support for MSAA rendering.
 
 For MSAA, you set a bit in the binner that halves the size of tiles in
 each direction, so you can pack 4 samples per pixel in the tile
index 3b5b8b4..718a8cc 100644 (file)
@@ -1,7 +1,7 @@
-From 6e271c79f63541cbc2e8101a39aa2b0e8d2634c4 Mon Sep 17 00:00:00 2001
+From 5042cf1359c0e6a3d3bf3c16935495dd7de0d0e4 Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Tue, 8 Dec 2015 14:00:43 -0800
-Subject: [PATCH 117/232] drm/vc4: A few more non-functional changes to sync to
+Subject: [PATCH 117/304] drm/vc4: A few more non-functional changes to sync to
  upstream.
 
 At this point all that's left is the force-enable of HDMI connector,
index 401340b..16f9801 100644 (file)
@@ -1,7 +1,7 @@
-From 6fa2e872ce528f957b0c3aa735aa46b24ed6601a Mon Sep 17 00:00:00 2001
+From b3d44742ea002847e375285972eaed72e5afcfc6 Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Tue, 15 Dec 2015 23:46:32 +0000
-Subject: [PATCH 118/232] drm/vc4: Use "hpd-gpios" for HDMI GPIO, like what
+Subject: [PATCH 118/304] drm/vc4: Use "hpd-gpios" for HDMI GPIO, like what
  landed upstream.
 
 Signed-off-by: Eric Anholt <eric@anholt.net>
index 44b3e5a..4a309db 100644 (file)
@@ -1,7 +1,7 @@
-From 76172185d9852c3e2bf7ace7c040b62dd220d9aa Mon Sep 17 00:00:00 2001
+From 177e3650535f343b34168fa9c0c5af06127336cc Mon Sep 17 00:00:00 2001
 From: Eric Anholt <eric@anholt.net>
 Date: Mon, 7 Dec 2015 12:35:01 -0800
-Subject: [PATCH 119/232] drm/vc4: Synchronize validation code for v2
+Subject: [PATCH 119/304] drm/vc4: Synchronize validation code for v2
  submission upstream.
 
 Signed-off-by: Eric Anholt <eric@anholt.net>
index 8b09850..c94d4f9 100644 (file)
@@ -1,7 +1,7 @@
-From f825bd28e15f4a4e653f8a81e2a02ac9da1068ca Mon Sep 17 00:00:00 2001
+From ae003608a7caac62858c99e084f47331a6063552 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 120/232] MMC: Do not use mmc_debug if CONFIG_MMC_BCM2835 is
+Subject: [PATCH 120/304] MMC: Do not use mmc_debug if CONFIG_MMC_BCM2835 is
  not set
 
 If CONFIG_MMC_BCM2835 was not set the compiling of the kernel failed
index 18d02f2..04ab12f 100644 (file)
@@ -1,7 +1,7 @@
-From 127a32cdd6005a42f6b5b63de9d7db573d9de184 Mon Sep 17 00:00:00 2001
+From bc370a3ec1d5f04e1d9db30ffc3e5aff2cee7bd7 Mon Sep 17 00:00:00 2001
 From: Devon Fyson <devonfyson@gmail.com>
 Date: Wed, 30 Dec 2015 16:40:47 -0500
-Subject: [PATCH 121/232] Extend clock timeout, fix modprobe baudrate
+Subject: [PATCH 121/304] Extend clock timeout, fix modprobe baudrate
  parameter.
 
 Set the BSC_CLKT clock streching timeout to 35ms as per SMBus specs.\n- Increase priority of baudrate parameter passed to modprobe (in /etc/modprobe.d/*.conf or command line). Currently custom baudrates don't work because they are overridden by clock-frequency in the platform_device passed to the function.
index 230e7e6..809df58 100644 (file)
@@ -1,7 +1,7 @@
-From bde59419fd4b9dac732341a62159f01094dfe70d Mon Sep 17 00:00:00 2001
+From 8d1dbb024b39e79f2c7abd1d8c3b13ad6f0296b6 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 122/232] bcm270x_dt: Add dwc2 and dwc-otg overlays
+Subject: [PATCH 122/304] bcm270x_dt: Add dwc2 and dwc-otg overlays
 
 ---
  arch/arm/boot/dts/overlays/Makefile            |  2 ++
index 91893c5..d4ff173 100644 (file)
@@ -1,7 +1,7 @@
-From 5d03b10c60e70fb5d316706a3777e46dc9dd748e Mon Sep 17 00:00:00 2001
+From f2b8a48896e7f505578083282968c663f7e86acb Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 4 Jan 2016 14:42:17 +0000
-Subject: [PATCH 123/232] BCM270X_DT: Add the sdtweak overlay, for tuning
+Subject: [PATCH 123/304] BCM270X_DT: Add the sdtweak overlay, for tuning
  sdhost
 
 The sdhost overlay declares the sdhost interface and allows parameters
index ca4d335..b2c5129 100644 (file)
@@ -1,7 +1,7 @@
-From 17589e37dff9745d9c219973a77031905cb57973 Mon Sep 17 00:00:00 2001
+From 46eadeb2ec2cc6153ee45396dc3c90f85ce79d7e Mon Sep 17 00:00:00 2001
 From: Andrew Litt <ajlitt@splunge.net>
 Date: Mon, 11 Jan 2016 07:54:21 +0000
-Subject: [PATCH 124/232] bcm2835-mmc: Don't override bus width capabilities
+Subject: [PATCH 124/304] bcm2835-mmc: Don't override bus width capabilities
  from devicetree
 
 Take out the force setting of the MMC_CAP_4_BIT_DATA host capability
index c16a002..10edcfa 100644 (file)
@@ -1,7 +1,7 @@
-From c671b8fada8fe75583e25cd93f9a414c7024e613 Mon Sep 17 00:00:00 2001
+From 99f1bca44186bd6015f93cec4a18594b70a8e0e5 Mon Sep 17 00:00:00 2001
 From: Andrew Litt <ajlitt@splunge.net>
 Date: Mon, 11 Jan 2016 07:55:54 +0000
-Subject: [PATCH 125/232] SDIO-overlay: add bus_width parameter
+Subject: [PATCH 125/304] SDIO-overlay: add bus_width parameter
 
 Allow setting of the SDIO bus width capability of the bcm2835-mmc
 host.  This is helpful when only a 1 bit wide bus is connected
index 20203c3..689b28d 100644 (file)
@@ -1,7 +1,7 @@
-From 688a5f0daa45e0a51b324707768d472e1d715c13 Mon Sep 17 00:00:00 2001
+From e995023b752af4cc6f6863d5beaaf4a3b9144b20 Mon Sep 17 00:00:00 2001
 From: wm4 <wm4@nowhere>
 Date: Wed, 13 Jan 2016 19:41:45 +0100
-Subject: [PATCH 126/232] bcm2835: extend allowed range of channels and
+Subject: [PATCH 126/304] bcm2835: extend allowed range of channels and
  samplerates
 
 Allow everything the videocore accepts.
index 8b18cd6..d4bb0ad 100644 (file)
@@ -1,7 +1,7 @@
-From 435962380099cafba4db3d3806b8e03cbcb0774e Mon Sep 17 00:00:00 2001
+From 745dfb0adfc2e3aa4d6c011dd4cb29abeaef8916 Mon Sep 17 00:00:00 2001
 From: wm4 <wm4@nowhere>
 Date: Wed, 13 Jan 2016 19:42:18 +0100
-Subject: [PATCH 127/232] bcm2835: restrict channels*rate to 8*960000
+Subject: [PATCH 127/304] bcm2835: restrict channels*rate to 8*960000
 
 This is required at least for SPDIF. If the bitrate goes above,
 videocore will either resample the audio or corrupt it due to
index 9489552..ea17fb6 100644 (file)
@@ -1,7 +1,7 @@
-From 64fa9f963dffab0145f7960a593422064bb0aa8d Mon Sep 17 00:00:00 2001
+From b94e0945195ad483d345a1d657785d21b85ab246 Mon Sep 17 00:00:00 2001
 From: wm4 <wm4@nowhere>
 Date: Wed, 13 Jan 2016 19:42:48 +0100
-Subject: [PATCH 128/232] rpi: update vc_vchi_audioserv_defs.h
+Subject: [PATCH 128/304] rpi: update vc_vchi_audioserv_defs.h
 
 Add audioserv 3 extensions. The changes were taken from the paste
 linked here:
index 49fd87a..ebc1d7c 100644 (file)
@@ -1,7 +1,7 @@
-From 5efba3f8c180c39609a8d40033ef92046ef0de75 Mon Sep 17 00:00:00 2001
+From eb75f32685cc0bc93053f1acb09e06745d38b60c Mon Sep 17 00:00:00 2001
 From: wm4 <wm4@nowhere>
 Date: Wed, 13 Jan 2016 19:43:12 +0100
-Subject: [PATCH 129/232] bcm2835: implement channel map API
+Subject: [PATCH 129/304] bcm2835: implement channel map API
 
 Report all layouts supported by the HDMI protocol to userspace.
 Make the videocore set the correct layout according to the
index d497240..72ce408 100644 (file)
@@ -1,7 +1,7 @@
-From 26e1f66589860cfcc9a6473d705db890e1b8f6c1 Mon Sep 17 00:00:00 2001
+From fb9b7c60bed82b9a4c6ed329b349e6e5b8a60db9 Mon Sep 17 00:00:00 2001
 From: wm4 <wm4@nowhere>
 Date: Wed, 13 Jan 2016 19:43:35 +0100
-Subject: [PATCH 130/232] bcm2835: access controls under the audio mutex
+Subject: [PATCH 130/304] bcm2835: access controls under the audio mutex
 
 I don't think the ALSA framework provides any kind of automatic
 synchronization within the control callbacks. We most likely need
index 76dede7..2eec7ca 100644 (file)
@@ -1,7 +1,7 @@
-From 06931f74092d86087144f070b06a4444df8b444b Mon Sep 17 00:00:00 2001
+From 7223126699f76c76ff770282c5da2395d473014a Mon Sep 17 00:00:00 2001
 From: wm4 <wm4@nowhere>
 Date: Wed, 13 Jan 2016 19:44:03 +0100
-Subject: [PATCH 131/232] bcm2835: always use 2/4/8 channels for multichannel
+Subject: [PATCH 131/304] bcm2835: always use 2/4/8 channels for multichannel
  layouts
 
 Pad the unused channels with NA. This means userspace needs to write
index a7b7906..a270306 100644 (file)
@@ -1,7 +1,7 @@
-From 5f7049894f47b3836838cd68e29ee883179c80b3 Mon Sep 17 00:00:00 2001
+From bd016cefc53060ff4c2d00d36be505c263aa3fb3 Mon Sep 17 00:00:00 2001
 From: wm4 <wm4@nowhere>
 Date: Wed, 13 Jan 2016 19:44:24 +0100
-Subject: [PATCH 132/232] bcm2835: only allow stereo if analogue jack is
+Subject: [PATCH 132/304] bcm2835: only allow stereo if analogue jack is
  selected
 
 Sending more than 2 channels to videocore while outputting to analogue
index f08364b..9d8f916 100644 (file)
@@ -1,7 +1,7 @@
-From 83eca613d0eddd2c8299f114b8fe573ccaffdefc Mon Sep 17 00:00:00 2001
+From 641d7675c007bdf97f10b320fa38d1f089d43d5d Mon Sep 17 00:00:00 2001
 From: wm4 <wm4@nowhere>
 Date: Wed, 13 Jan 2016 19:44:47 +0100
-Subject: [PATCH 133/232] bcm2835: interpolate audio delay
+Subject: [PATCH 133/304] bcm2835: interpolate audio delay
 
 It appears the GPU only sends us a message all 10ms to update
 the playback progress. Other than this, the playback position
index a7317b2..fd4b1e8 100644 (file)
@@ -1,7 +1,7 @@
-From 22a9a698b6cbce7494ea14dce0e784e098c01ecb Mon Sep 17 00:00:00 2001
+From 48d2aa4f18c8e32198136e5aaea252777cfc0490 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Tue, 19 Jan 2016 17:16:38 +0000
-Subject: [PATCH 134/232] bcm2835-sdhost: Add workaround for odd behaviour on
+Subject: [PATCH 134/304] bcm2835-sdhost: Add workaround for odd behaviour on
  some cards
 
 For reasons not understood, the sdhost driver fails when reading
index 36c3c50..c9c3d61 100644 (file)
@@ -1,7 +1,7 @@
-From d038f759d55f39c97e4232851e821b5e4b2fe7a2 Mon Sep 17 00:00:00 2001
+From fad42870d095f811114d6bfd6dedf34595e24a23 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Fri, 22 Jan 2016 16:03:24 +0000
-Subject: [PATCH 135/232] bcm2835-sdhost: Add debug_flags dtparam
+Subject: [PATCH 135/304] bcm2835-sdhost: Add debug_flags dtparam
 
 Bit zero disables the single-read-sectors map:
 
index 6fc78ef..fcc3020 100644 (file)
@@ -1,7 +1,7 @@
-From 3f4c1f041954c21f9f06c7fe7df3d0e5711667e0 Mon Sep 17 00:00:00 2001
+From 9a7e2ae47f11f7ff5cb4dd2b87e9caeb0953b18d Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 25 Jan 2016 09:12:06 +0000
-Subject: [PATCH 136/232] BCM270X_DT: Add sdio_overclock parameter to sdio
+Subject: [PATCH 136/304] BCM270X_DT: Add sdio_overclock parameter to sdio
  overlay
 
 The sdio_overclock parameter is like the overclock_50 parameter, i.e.
index 8bdbc78..a579820 100644 (file)
@@ -1,7 +1,7 @@
-From 6f5d0a941a6a084c677a8843207a42f7b6d5a04d Mon Sep 17 00:00:00 2001
+From c460f1c0adf52314689b3ceb4611a03604ddcbb2 Mon Sep 17 00:00:00 2001
 From: Michael Lange <linuxstuff@milaw.biz>
 Date: Thu, 21 Jan 2016 18:10:16 +0100
-Subject: [PATCH 137/232] rtc: ds1307: add support for the DT property
+Subject: [PATCH 137/304] rtc: ds1307: add support for the DT property
  'wakeup-source'
 
 For RTC chips with no IRQ directly connected to the SoC, the RTC chip
index 9faed43..acebee7 100644 (file)
@@ -1,7 +1,7 @@
-From 873bf69f1f6bf19f2a0c4cec884cb952b2a19e0c Mon Sep 17 00:00:00 2001
+From 705c8908dc07362e5b0ab975d5842a16cc014e1d Mon Sep 17 00:00:00 2001
 From: vitalogy <vitalogy_github@milaw.biz>
 Date: Tue, 19 Jan 2016 07:02:02 +0100
-Subject: [PATCH 138/232] dt-overlay: add wittypi-overlay.dts
+Subject: [PATCH 138/304] dt-overlay: add wittypi-overlay.dts
 
 ---
  arch/arm/boot/dts/overlays/wittypi-overlay.dts | 44 ++++++++++++++++++++++++++
index aa04f1b..20c1a39 100644 (file)
@@ -1,7 +1,7 @@
-From c74fc12557305b66537dc6e8ed3ab5d27c507de0 Mon Sep 17 00:00:00 2001
+From 8fc1dbc4b294803d2a6794b1ede681641da45711 Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Tue, 19 Jan 2016 16:28:05 +0000
-Subject: [PATCH 139/232] FIXUP i2c_bcm2708: Don't change module baudrate
+Subject: [PATCH 139/304] FIXUP i2c_bcm2708: Don't change module baudrate
  parameter
 
 Overwriting the baudrate module parameter creates an apparent
index 765dbc5..f5e2bad 100644 (file)
@@ -1,7 +1,7 @@
-From 4593191b7df9439c295a93250a1f1d68d0938822 Mon Sep 17 00:00:00 2001
+From 796cd923dec66639357bf711ae5758d86e8cd3f3 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 140/232] Allow up to 24dB digital gain to be applied when
+Subject: [PATCH 140/304] Allow up to 24dB digital gain to be applied when
  using IQAudIO DAC+
 
 24db_digital_gain DT param can be used to specify that PCM512x
index cc28de8..472dbd8 100644 (file)
@@ -1,7 +1,7 @@
-From 6fda328fc5613d449641ad6701fe8180e70ec338 Mon Sep 17 00:00:00 2001
+From acea17bbc6dd9aabe2da5c95e21b1fc7406cf1fb 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 141/232] Limit PCM512x "Digital" gain to 0dB by default with
+Subject: [PATCH 141/304] Limit PCM512x "Digital" gain to 0dB by default with
  HiFiBerry DAC+
 
 24db_digital_gain DT param can be used to specify that PCM512x
index a9687a7..3556fd5 100644 (file)
@@ -1,7 +1,7 @@
-From 1b3fd5b03546474795b7557a04c7c3c5cf162ecb Mon Sep 17 00:00:00 2001
+From 1bf407348eb9be0b793da4350f2daba91db4ea4f Mon Sep 17 00:00:00 2001
 From: Phil Elwell <phil@raspberrypi.org>
 Date: Mon, 8 Feb 2016 09:46:33 +0000
-Subject: [PATCH 142/232] BCM270X_DT: Adjust overlay README formatting
+Subject: [PATCH 142/304] BCM270X_DT: Adjust overlay README formatting
 
 ---
  arch/arm/boot/dts/overlays/README | 414 +++++++++++++++++++-------------------
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
new file mode 100644 (file)
index 0000000..fb31894
--- /dev/null
@@ -0,0 +1,2070 @@
+From 978d4ec47c4a66491140e964939889c427feee64 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Thu, 11 Feb 2016 16:51:01 +0000
+Subject: [PATCH 143/304] bcm2835-sdhost: Major revision
+
+This is a significant revision of the bcm2835-sdhost driver. It
+improves on the original in a number of ways:
+
+1) Through the use of CMD23 for reads it appears to avoid problems
+   reading some sectors on certain high speed cards.
+2) Better atomicity to prevent crashes.
+3) Higher performance.
+4) Activity logging included, for easier diagnosis in the event
+   of a problem.
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ drivers/mmc/host/bcm2835-sdhost.c | 1284 ++++++++++++++++++++-----------------
+ 1 file changed, 686 insertions(+), 598 deletions(-)
+
+--- a/drivers/mmc/host/bcm2835-sdhost.c
++++ b/drivers/mmc/host/bcm2835-sdhost.c
+@@ -2,7 +2,7 @@
+  * BCM2835 SD host driver.
+  *
+  * Author:      Phil Elwell <phil@raspberrypi.org>
+- *              Copyright 2015
++ *              Copyright (C) 2015-2016 Raspberry Pi (Trading) Ltd.
+  *
+  * Based on
+  *  mmc-bcm2835.c by Gellert Weisz
+@@ -24,12 +24,13 @@
+  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+  */
+-#define SAFE_READ_THRESHOLD     4
+-#define SAFE_WRITE_THRESHOLD    4
+-#define ALLOW_DMA               1
+-#define ALLOW_CMD23             0
+-#define ALLOW_FAST              1
+-#define USE_BLOCK_IRQ           1
++#define FIFO_READ_THRESHOLD     4
++#define FIFO_WRITE_THRESHOLD    4
++#define ALLOW_CMD23_READ        1
++#define ALLOW_CMD23_WRITE       0
++#define ENABLE_LOG              1
++#define SDDATA_FIFO_PIO_BURST   8
++#define CMD_DALLY_US            1
+ #include <linux/delay.h>
+ #include <linux/module.h>
+@@ -48,6 +49,7 @@
+ #include <linux/dma-mapping.h>
+ #include <linux/of_dma.h>
+ #include <linux/time.h>
++#include <linux/workqueue.h>
+ #define DRIVER_NAME "sdhost-bcm2835"
+@@ -110,6 +112,28 @@
+ #define SDEDM_READ_THRESHOLD_SHIFT 14
+ #define SDEDM_THRESHOLD_MASK     0x1f
++#define SDEDM_FSM_MASK           0xf
++#define SDEDM_FSM_IDENTMODE      0x0
++#define SDEDM_FSM_DATAMODE       0x1
++#define SDEDM_FSM_READDATA       0x2
++#define SDEDM_FSM_WRITEDATA      0x3
++#define SDEDM_FSM_READWAIT       0x4
++#define SDEDM_FSM_READCRC        0x5
++#define SDEDM_FSM_WRITECRC       0x6
++#define SDEDM_FSM_WRITEWAIT1     0x7
++#define SDEDM_FSM_POWERDOWN      0x8
++#define SDEDM_FSM_POWERUP        0x9
++#define SDEDM_FSM_WRITESTART1    0xa
++#define SDEDM_FSM_WRITESTART2    0xb
++#define SDEDM_FSM_GENPULSES      0xc
++#define SDEDM_FSM_WRITEWAIT2     0xd
++#define SDEDM_FSM_STARTPOWDOWN   0xf
++
++#define SDDATA_FIFO_WORDS        16
++
++#define USE_CMD23_FLAGS          ((ALLOW_CMD23_READ * MMC_DATA_READ) | \
++                                (ALLOW_CMD23_WRITE * MMC_DATA_WRITE))
++
+ #define MHZ 1000000
+@@ -131,15 +155,17 @@ struct bcm2835_host {
+       struct tasklet_struct   finish_tasklet; /* Tasklet structures */
+-      struct timer_list       timer;          /* Timer for timeouts */
++      struct work_struct      cmd_wait_wq;    /* Workqueue function */
+-      struct timer_list       pio_timer;      /* PIO error detection timer */
++      struct timer_list       timer;          /* Timer for timeouts */
+       struct sg_mapping_iter  sg_miter;       /* SG state for PIO */
+       unsigned int            blocks;         /* remaining PIO blocks */
+       int                     irq;            /* Device IRQ */
++      u32                     cmd_quick_poll_retries;
++      u32                     ns_per_fifo_word;
+       /* cached registers */
+       u32                     hcfg;
+@@ -154,16 +180,21 @@ struct bcm2835_host {
+       unsigned int                    use_busy:1;             /* Wait for busy interrupt */
+-      unsigned int                    debug:1;                /* Enable debug output */
++      unsigned int                    use_sbc:1;              /* Send CMD23 */
+-      u32                             thread_isr;
++      unsigned int                    debug:1;                /* Enable debug output */
+       /*DMA part*/
+       struct dma_chan                 *dma_chan_rx;           /* DMA channel for reads */
+       struct dma_chan                 *dma_chan_tx;           /* DMA channel for writes */
++      struct dma_chan                 *dma_chan;              /* Channel in used */
++      struct dma_async_tx_descriptor  *dma_desc;
++      u32                             dma_dir;
++      u32                             drain_words;
++      struct page                     *drain_page;
++      u32                             drain_offset;
+       bool                            allow_dma;
+-      bool                            have_dma;
+       bool                            use_dma;
+       /*end of DMA part*/
+@@ -173,13 +204,98 @@ struct bcm2835_host {
+       u32                             overclock_50;   /* frequency to use when 50MHz is requested (in MHz) */
+       u32                             overclock;      /* Current frequency if overclocked, else zero */
+       u32                             pio_limit;      /* Maximum block count for PIO (0 = always DMA) */
++};
+-      u32                             debug_flags;
++#if ENABLE_LOG
+-      u32                             sectors;        /* Cached card size in sectors */
+-      u32                             single_read_sectors[8];
++struct log_entry_struct {
++      char event[4];
++      u32 timestamp;
++      u32 param1;
++      u32 param2;
+ };
++typedef struct log_entry_struct LOG_ENTRY_T;
++
++LOG_ENTRY_T *sdhost_log_buf;
++dma_addr_t sdhost_log_addr;
++static u32 sdhost_log_idx;
++static spinlock_t log_lock;
++static void __iomem *timer_base;
++
++#define LOG_ENTRIES (256*1)
++#define LOG_SIZE (sizeof(LOG_ENTRY_T)*LOG_ENTRIES)
++
++static void log_init(u32 bus_to_phys)
++{
++      spin_lock_init(&log_lock);
++      sdhost_log_buf = dma_zalloc_coherent(NULL, LOG_SIZE, &sdhost_log_addr,
++                                           GFP_KERNEL);
++      if (sdhost_log_buf) {
++              pr_err("sdhost: log_buf @ %p (%x)\n",
++                     sdhost_log_buf, sdhost_log_addr);
++              timer_base = ioremap_nocache(bus_to_phys + 0x7e003000, SZ_4K);
++              if (!timer_base)
++                      pr_err("sdhost: failed to remap timer\n");
++      }
++      else
++              pr_err("sdhost: failed to allocate log buf\n");
++}
++
++static void log_event_impl(const char *event, u32 param1, u32 param2)
++{
++      if (sdhost_log_buf) {
++              LOG_ENTRY_T *entry;
++              unsigned long flags;
++
++              spin_lock_irqsave(&log_lock, flags);
++
++              entry = sdhost_log_buf + sdhost_log_idx;
++              memcpy(entry->event, event, 4);
++              entry->timestamp = (readl(timer_base + 4) & 0x3fffffff) +
++                      (smp_processor_id()<<30);
++              entry->param1 = param1;
++              entry->param2 = param2;
++              sdhost_log_idx = (sdhost_log_idx + 1) % LOG_ENTRIES;
++
++              spin_unlock_irqrestore(&log_lock, flags);
++      }
++}
++
++static void log_dump(void)
++{
++      if (sdhost_log_buf) {
++              LOG_ENTRY_T *entry;
++              unsigned long flags;
++              int idx;
++
++              spin_lock_irqsave(&log_lock, flags);
++
++              idx = sdhost_log_idx;
++              do {
++                      entry = sdhost_log_buf + idx;
++                      if (entry->event[0] != '\0')
++                              pr_err("[%08x] %.4s %x %x\n",
++                                     entry->timestamp,
++                                     entry->event,
++                                     entry->param1,
++                                     entry->param2);
++                      idx = (idx + 1) % LOG_ENTRIES;
++              } while (idx != sdhost_log_idx);
++
++              spin_unlock_irqrestore(&log_lock, flags);
++      }
++}
++
++#define log_event(event, param1, param2) log_event_impl(event, param1, param2)
++
++#else
++
++#define log_init(x) (void)0
++#define log_event(event, param1, param2) (void)0
++#define log_dump() (void)0
++
++#endif
+ static inline void bcm2835_sdhost_write(struct bcm2835_host *host, u32 val, int reg)
+ {
+@@ -201,7 +317,7 @@ static void bcm2835_sdhost_dumpcmd(struc
+                                  const char *label)
+ {
+       if (cmd)
+-              pr_info("%s:%c%s op %d arg 0x%x flags 0x%x - resp %08x %08x %08x %08x, err %d\n",
++              pr_err("%s:%c%s op %d arg 0x%x flags 0x%x - resp %08x %08x %08x %08x, err %d\n",
+                       mmc_hostname(host->mmc),
+                       (cmd == host->cmd) ? '>' : ' ',
+                       label, cmd->opcode, cmd->arg, cmd->flags,
+@@ -211,73 +327,74 @@ static void bcm2835_sdhost_dumpcmd(struc
+ static void bcm2835_sdhost_dumpregs(struct bcm2835_host *host)
+ {
+-      bcm2835_sdhost_dumpcmd(host, host->mrq->sbc, "sbc");
+-      bcm2835_sdhost_dumpcmd(host, host->mrq->cmd, "cmd");
+-      if (host->mrq->data)
+-              pr_err("%s: data blocks %x blksz %x - err %d\n",
+-                     mmc_hostname(host->mmc),
+-                     host->mrq->data->blocks,
+-                     host->mrq->data->blksz,
+-                     host->mrq->data->error);
+-      bcm2835_sdhost_dumpcmd(host, host->mrq->stop, "stop");
++      if (host->mrq)
++      {
++              bcm2835_sdhost_dumpcmd(host, host->mrq->sbc, "sbc");
++              bcm2835_sdhost_dumpcmd(host, host->mrq->cmd, "cmd");
++              if (host->mrq->data)
++                      pr_err("%s: data blocks %x blksz %x - err %d\n",
++                             mmc_hostname(host->mmc),
++                             host->mrq->data->blocks,
++                             host->mrq->data->blksz,
++                             host->mrq->data->error);
++              bcm2835_sdhost_dumpcmd(host, host->mrq->stop, "stop");
++      }
+-      pr_info("%s: =========== REGISTER DUMP ===========\n",
++      pr_err("%s: =========== REGISTER DUMP ===========\n",
+               mmc_hostname(host->mmc));
+-      pr_info("%s: SDCMD  0x%08x\n",
++      pr_err("%s: SDCMD  0x%08x\n",
+               mmc_hostname(host->mmc),
+               bcm2835_sdhost_read(host, SDCMD));
+-      pr_info("%s: SDARG  0x%08x\n",
++      pr_err("%s: SDARG  0x%08x\n",
+               mmc_hostname(host->mmc),
+               bcm2835_sdhost_read(host, SDARG));
+-      pr_info("%s: SDTOUT 0x%08x\n",
++      pr_err("%s: SDTOUT 0x%08x\n",
+               mmc_hostname(host->mmc),
+               bcm2835_sdhost_read(host, SDTOUT));
+-      pr_info("%s: SDCDIV 0x%08x\n",
++      pr_err("%s: SDCDIV 0x%08x\n",
+               mmc_hostname(host->mmc),
+               bcm2835_sdhost_read(host, SDCDIV));
+-      pr_info("%s: SDRSP0 0x%08x\n",
++      pr_err("%s: SDRSP0 0x%08x\n",
+               mmc_hostname(host->mmc),
+               bcm2835_sdhost_read(host, SDRSP0));
+-      pr_info("%s: SDRSP1 0x%08x\n",
++      pr_err("%s: SDRSP1 0x%08x\n",
+               mmc_hostname(host->mmc),
+               bcm2835_sdhost_read(host, SDRSP1));
+-      pr_info("%s: SDRSP2 0x%08x\n",
++      pr_err("%s: SDRSP2 0x%08x\n",
+               mmc_hostname(host->mmc),
+               bcm2835_sdhost_read(host, SDRSP2));
+-      pr_info("%s: SDRSP3 0x%08x\n",
++      pr_err("%s: SDRSP3 0x%08x\n",
+               mmc_hostname(host->mmc),
+               bcm2835_sdhost_read(host, SDRSP3));
+-      pr_info("%s: SDHSTS 0x%08x\n",
++      pr_err("%s: SDHSTS 0x%08x\n",
+               mmc_hostname(host->mmc),
+               bcm2835_sdhost_read(host, SDHSTS));
+-      pr_info("%s: SDVDD  0x%08x\n",
++      pr_err("%s: SDVDD  0x%08x\n",
+               mmc_hostname(host->mmc),
+               bcm2835_sdhost_read(host, SDVDD));
+-      pr_info("%s: SDEDM  0x%08x\n",
++      pr_err("%s: SDEDM  0x%08x\n",
+               mmc_hostname(host->mmc),
+               bcm2835_sdhost_read(host, SDEDM));
+-      pr_info("%s: SDHCFG 0x%08x\n",
++      pr_err("%s: SDHCFG 0x%08x\n",
+               mmc_hostname(host->mmc),
+               bcm2835_sdhost_read(host, SDHCFG));
+-      pr_info("%s: SDHBCT 0x%08x\n",
++      pr_err("%s: SDHBCT 0x%08x\n",
+               mmc_hostname(host->mmc),
+               bcm2835_sdhost_read(host, SDHBCT));
+-      pr_info("%s: SDHBLC 0x%08x\n",
++      pr_err("%s: SDHBLC 0x%08x\n",
+               mmc_hostname(host->mmc),
+               bcm2835_sdhost_read(host, SDHBLC));
+-      pr_info("%s: ===========================================\n",
++      pr_err("%s: ===========================================\n",
+               mmc_hostname(host->mmc));
+ }
+-
+ static void bcm2835_sdhost_set_power(struct bcm2835_host *host, bool on)
+ {
+       bcm2835_sdhost_write(host, on ? 1 : 0, SDVDD);
+ }
+-
+ static void bcm2835_sdhost_reset_internal(struct bcm2835_host *host)
+ {
+       u32 temp;
+@@ -300,26 +417,24 @@ static void bcm2835_sdhost_reset_interna
+       temp = bcm2835_sdhost_read(host, SDEDM);
+       temp &= ~((SDEDM_THRESHOLD_MASK<<SDEDM_READ_THRESHOLD_SHIFT) |
+                 (SDEDM_THRESHOLD_MASK<<SDEDM_WRITE_THRESHOLD_SHIFT));
+-      temp |= (SAFE_READ_THRESHOLD << SDEDM_READ_THRESHOLD_SHIFT) |
+-              (SAFE_WRITE_THRESHOLD << SDEDM_WRITE_THRESHOLD_SHIFT);
++      temp |= (FIFO_READ_THRESHOLD << SDEDM_READ_THRESHOLD_SHIFT) |
++              (FIFO_WRITE_THRESHOLD << SDEDM_WRITE_THRESHOLD_SHIFT);
+       bcm2835_sdhost_write(host, temp, SDEDM);
+       mdelay(10);
+       bcm2835_sdhost_set_power(host, true);
+       mdelay(10);
+       host->clock = 0;
+-      host->sectors = 0;
+-      host->single_read_sectors[0] = ~0;
+       bcm2835_sdhost_write(host, host->hcfg, SDHCFG);
+       bcm2835_sdhost_write(host, host->cdiv, SDCDIV);
+       mmiowb();
+ }
+-
+ static void bcm2835_sdhost_reset(struct mmc_host *mmc)
+ {
+       struct bcm2835_host *host = mmc_priv(mmc);
+       unsigned long flags;
+       spin_lock_irqsave(&host->lock, flags);
++      log_event("RST<", 0, 0);
+       bcm2835_sdhost_reset_internal(host);
+@@ -344,82 +459,48 @@ static void bcm2835_sdhost_init(struct b
+       }
+ }
+-static bool bcm2835_sdhost_is_write_complete(struct bcm2835_host *host)
++static void bcm2835_sdhost_wait_transfer_complete(struct bcm2835_host *host)
+ {
+-      bool write_complete = ((bcm2835_sdhost_read(host, SDEDM) & 0xf) == 1);
++      int timediff;
++      u32 alternate_idle;
++      u32 edm;
+-      if (!write_complete) {
+-              /* Request an IRQ for the last block */
+-              host->hcfg |= SDHCFG_BLOCK_IRPT_EN;
+-              bcm2835_sdhost_write(host, host->hcfg, SDHCFG);
+-              if ((bcm2835_sdhost_read(host, SDEDM) & 0xf) == 1) {
+-                      /* The write has now completed. Disable the interrupt
+-                         and clear the status flag */
+-                      host->hcfg &= ~SDHCFG_BLOCK_IRPT_EN;
+-                      bcm2835_sdhost_write(host, host->hcfg, SDHCFG);
+-                      bcm2835_sdhost_write(host, SDHSTS_BLOCK_IRPT, SDHSTS);
+-                      write_complete = true;
+-              }
+-      }
++      alternate_idle = (host->mrq->data->flags & MMC_DATA_READ) ?
++              SDEDM_FSM_READWAIT : SDEDM_FSM_WRITESTART1;
+-      return write_complete;
+-}
++      edm = bcm2835_sdhost_read(host, SDEDM);
+-static void bcm2835_sdhost_wait_write_complete(struct bcm2835_host *host)
+-{
+-      int timediff;
+-#ifdef DEBUG
+-      static struct timeval start_time;
+-      static int max_stall_time = 0;
+-      static int total_stall_time = 0;
+-      struct timeval before, after;
+-
+-      do_gettimeofday(&before);
+-      if (max_stall_time == 0)
+-              start_time = before;
+-#endif
++      log_event("WTC<", edm, 0);
+       timediff = 0;
+       while (1) {
+-              u32 edm = bcm2835_sdhost_read(host, SDEDM);
+-              if ((edm & 0xf) == 1)
++              u32 fsm = edm & SDEDM_FSM_MASK;
++              if ((fsm == SDEDM_FSM_IDENTMODE) ||
++                  (fsm == SDEDM_FSM_DATAMODE))
+                       break;
+-              timediff++;
+-              if (timediff > 5000000) {
+-#ifdef DEBUG
+-                      do_gettimeofday(&after);
+-                      timediff = (after.tv_sec - before.tv_sec)*1000000 +
+-                              (after.tv_usec - before.tv_usec);
++              if (fsm == alternate_idle) {
++                      bcm2835_sdhost_write(host,
++                                           edm | SDEDM_FORCE_DATA_MODE,
++                                           SDEDM);
++                      break;
++              }
+-                      pr_err(" wait_write_complete - still waiting after %dus\n",
+-                             timediff);
+-#else
+-                      pr_err(" wait_write_complete - still waiting after %d retries\n",
++              timediff++;
++              if (timediff == 100000) {
++                      pr_err("%s: wait_transfer_complete - still waiting after %d retries\n",
++                             mmc_hostname(host->mmc),
+                              timediff);
+-#endif
++                      log_dump();
+                       bcm2835_sdhost_dumpregs(host);
+-                      host->data->error = -ETIMEDOUT;
++                      host->mrq->data->error = -ETIMEDOUT;
++                      log_event("WTC!", edm, 0);
+                       return;
+               }
++              cpu_relax();
++              edm = bcm2835_sdhost_read(host, SDEDM);
+       }
+-
+-#ifdef DEBUG
+-      do_gettimeofday(&after);
+-      timediff = (after.tv_sec - before.tv_sec)*1000000 + (after.tv_usec - before.tv_usec);
+-
+-      total_stall_time += timediff;
+-      if (timediff > max_stall_time)
+-              max_stall_time = timediff;
+-
+-      if ((after.tv_sec - start_time.tv_sec) > 10) {
+-              pr_debug(" wait_write_complete - max wait %dus, total %dus\n",
+-                       max_stall_time, total_stall_time);
+-              start_time = after;
+-              max_stall_time = 0;
+-              total_stall_time = 0;
+-      }
+-#endif
++      log_event("WTC>", edm, 0);
+ }
+ static void bcm2835_sdhost_finish_data(struct bcm2835_host *host);
+@@ -427,65 +508,44 @@ static void bcm2835_sdhost_finish_data(s
+ static void bcm2835_sdhost_dma_complete(void *param)
+ {
+       struct bcm2835_host *host = param;
+-      struct dma_chan *dma_chan;
++      struct mmc_data *data = host->data;
+       unsigned long flags;
+-      u32 dir_data;
+       spin_lock_irqsave(&host->lock, flags);
++      log_event("DMA<", (u32)host->data, bcm2835_sdhost_read(host, SDHSTS));
++      log_event("DMA ", bcm2835_sdhost_read(host, SDCMD),
++                bcm2835_sdhost_read(host, SDEDM));
+-      if (host->data) {
+-              bool write_complete;
+-              if (USE_BLOCK_IRQ)
+-                      write_complete = bcm2835_sdhost_is_write_complete(host);
+-              else {
+-                      bcm2835_sdhost_wait_write_complete(host);
+-                      write_complete = true;
+-              }
+-              pr_debug("dma_complete() - write_complete=%d\n",
+-                       write_complete);
+-
+-              if (write_complete || (host->data->flags & MMC_DATA_READ))
+-              {
+-                      if (write_complete) {
+-                              dma_chan = host->dma_chan_tx;
+-                              dir_data = DMA_TO_DEVICE;
+-                      } else {
+-                              dma_chan = host->dma_chan_rx;
+-                              dir_data = DMA_FROM_DEVICE;
+-                      }
+-
+-                      dma_unmap_sg(dma_chan->device->dev,
+-                                   host->data->sg, host->data->sg_len,
+-                                   dir_data);
++      if (host->dma_chan) {
++              dma_unmap_sg(host->dma_chan->device->dev,
++                           data->sg, data->sg_len,
++                           host->dma_dir);
+-                      bcm2835_sdhost_finish_data(host);
+-              }
++              host->dma_chan = NULL;
+       }
+-      spin_unlock_irqrestore(&host->lock, flags);
+-}
++      if (host->drain_words) {
++              void *page;
++              u32 *buf;
+-static bool data_transfer_wait(struct bcm2835_host *host)
+-{
+-      unsigned long timeout = 1000000;
+-      while (timeout)
+-      {
+-              u32 sdhsts = bcm2835_sdhost_read(host, SDHSTS);
+-              if (sdhsts & SDHSTS_DATA_FLAG) {
+-                      bcm2835_sdhost_write(host, SDHSTS_DATA_FLAG, SDHSTS);
+-                      break;
++              page = kmap_atomic(host->drain_page);
++              buf = page + host->drain_offset;
++
++              while (host->drain_words) {
++                      u32 edm = bcm2835_sdhost_read(host, SDEDM);
++                      if ((edm >> 4) & 0x1f)
++                              *(buf++) = bcm2835_sdhost_read(host,
++                                                             SDDATA);
++                      host->drain_words--;
+               }
+-              timeout--;
+-      }
+-      if (timeout == 0) {
+-          pr_err("%s: Data %s timeout\n",
+-                 mmc_hostname(host->mmc),
+-                 (host->data->flags & MMC_DATA_READ) ? "read" : "write");
+-          bcm2835_sdhost_dumpregs(host);
+-          host->data->error = -ETIMEDOUT;
+-          return false;
++
++              kunmap_atomic(page);
+       }
+-      return true;
++
++      bcm2835_sdhost_finish_data(host);
++
++      log_event("DMA>", (u32)host->data, 0);
++      spin_unlock_irqrestore(&host->lock, flags);
+ }
+ static void bcm2835_sdhost_read_block_pio(struct bcm2835_host *host)
+@@ -493,32 +553,83 @@ static void bcm2835_sdhost_read_block_pi
+       unsigned long flags;
+       size_t blksize, len;
+       u32 *buf;
++      unsigned long wait_max;
+       blksize = host->data->blksz;
++      wait_max = jiffies + msecs_to_jiffies(host->pio_timeout);
++
+       local_irq_save(flags);
+       while (blksize) {
+-              if (!sg_miter_next(&host->sg_miter))
+-                      BUG();
++              int copy_words;
++              u32 hsts = 0;
++
++              if (!sg_miter_next(&host->sg_miter)) {
++                      host->data->error = -EINVAL;
++                      break;
++              }
+               len = min(host->sg_miter.length, blksize);
+-              BUG_ON(len % 4);
++              if (len % 4) {
++                      host->data->error = -EINVAL;
++                      break;
++              }
+               blksize -= len;
+               host->sg_miter.consumed = len;
+               buf = (u32 *)host->sg_miter.addr;
+-              while (len) {
+-                      if (!data_transfer_wait(host))
+-                              break;
++              copy_words = len/4;
++
++              while (copy_words) {
++                      int burst_words, words;
++                      u32 edm;
++
++                      burst_words = SDDATA_FIFO_PIO_BURST;
++                      if (burst_words > copy_words)
++                              burst_words = copy_words;
++                      edm = bcm2835_sdhost_read(host, SDEDM);
++                      words = ((edm >> 4) & 0x1f);
++
++                      if (words < burst_words) {
++                              int fsm_state = (edm & SDEDM_FSM_MASK);
++                              if ((fsm_state != SDEDM_FSM_READDATA) &&
++                                  (fsm_state != SDEDM_FSM_READWAIT) &&
++                                  (fsm_state != SDEDM_FSM_READCRC)) {
++                                      hsts = bcm2835_sdhost_read(host,
++                                                                 SDHSTS);
++                                      pr_err("%s: fsm %x, hsts %x\n",
++                                             mmc_hostname(host->mmc),
++                                             fsm_state, hsts);
++                                      if (hsts & SDHSTS_ERROR_MASK)
++                                              break;
++                              }
++
++                              if (time_after(jiffies, wait_max)) {
++                                      pr_err("%s: PIO read timeout - EDM %x\n",
++                                             mmc_hostname(host->mmc),
++                                             edm);
++                                      hsts = SDHSTS_REW_TIME_OUT;
++                                      break;
++                              }
++                              ndelay((burst_words - words) *
++                                     host->ns_per_fifo_word);
++                              continue;
++                      } else if (words > copy_words) {
++                              words = copy_words;
++                      }
++
++                      copy_words -= words;
+-                      *(buf++) = bcm2835_sdhost_read(host, SDDATA);
+-                      len -= 4;
++                      while (words) {
++                              *(buf++) = bcm2835_sdhost_read(host, SDDATA);
++                              words--;
++                      }
+               }
+-              if (host->data->error)
++              if (hsts & SDHSTS_ERROR_MASK)
+                       break;
+       }
+@@ -532,32 +643,83 @@ static void bcm2835_sdhost_write_block_p
+       unsigned long flags;
+       size_t blksize, len;
+       u32 *buf;
++      unsigned long wait_max;
+       blksize = host->data->blksz;
++      wait_max = jiffies + msecs_to_jiffies(host->pio_timeout);
++
+       local_irq_save(flags);
+       while (blksize) {
+-              if (!sg_miter_next(&host->sg_miter))
+-                      BUG();
++              int copy_words;
++              u32 hsts = 0;
++
++              if (!sg_miter_next(&host->sg_miter)) {
++                      host->data->error = -EINVAL;
++                      break;
++              }
+               len = min(host->sg_miter.length, blksize);
+-              BUG_ON(len % 4);
++              if (len % 4) {
++                      host->data->error = -EINVAL;
++                      break;
++              }
+               blksize -= len;
+               host->sg_miter.consumed = len;
+-              buf = host->sg_miter.addr;
++              buf = (u32 *)host->sg_miter.addr;
+-              while (len) {
+-                      if (!data_transfer_wait(host))
+-                              break;
++              copy_words = len/4;
++
++              while (copy_words) {
++                      int burst_words, words;
++                      u32 edm;
++
++                      burst_words = SDDATA_FIFO_PIO_BURST;
++                      if (burst_words > copy_words)
++                              burst_words = copy_words;
++                      edm = bcm2835_sdhost_read(host, SDEDM);
++                      words = SDDATA_FIFO_WORDS - ((edm >> 4) & 0x1f);
++
++                      if (words < burst_words) {
++                              int fsm_state = (edm & SDEDM_FSM_MASK);
++                              if ((fsm_state != SDEDM_FSM_WRITEDATA) &&
++                                  (fsm_state != SDEDM_FSM_WRITESTART1) &&
++                                  (fsm_state != SDEDM_FSM_WRITESTART2)) {
++                                      hsts = bcm2835_sdhost_read(host,
++                                                                 SDHSTS);
++                                      pr_err("%s: fsm %x, hsts %x\n",
++                                             mmc_hostname(host->mmc),
++                                             fsm_state, hsts);
++                                      if (hsts & SDHSTS_ERROR_MASK)
++                                              break;
++                              }
+-                      bcm2835_sdhost_write(host, *(buf++), SDDATA);
+-                      len -= 4;
++                              if (time_after(jiffies, wait_max)) {
++                                      pr_err("%s: PIO write timeout - EDM %x\n",
++                                             mmc_hostname(host->mmc),
++                                             edm);
++                                      hsts = SDHSTS_REW_TIME_OUT;
++                                      break;
++                              }
++                              ndelay((burst_words - words) *
++                                     host->ns_per_fifo_word);
++                              continue;
++                      } else if (words > copy_words) {
++                              words = copy_words;
++                      }
++
++                      copy_words -= words;
++
++                      while (words) {
++                              bcm2835_sdhost_write(host, *(buf++), SDDATA);
++                              words--;
++                      }
+               }
+-              if (host->data->error)
++              if (hsts & SDHSTS_ERROR_MASK)
+                       break;
+       }
+@@ -566,12 +728,12 @@ static void bcm2835_sdhost_write_block_p
+       local_irq_restore(flags);
+ }
+-
+ static void bcm2835_sdhost_transfer_pio(struct bcm2835_host *host)
+ {
+       u32 sdhsts;
+       bool is_read;
+       BUG_ON(!host->data);
++      log_event("XFP<", (u32)host->data, host->blocks);
+       is_read = (host->data->flags & MMC_DATA_READ) != 0;
+       if (is_read)
+@@ -595,28 +757,21 @@ static void bcm2835_sdhost_transfer_pio(
+                      is_read ? "read" : "write",
+                      sdhsts);
+               host->data->error = -ETIMEDOUT;
+-      } else if (!is_read && !host->data->error) {
+-              /* Start a timer in case a transfer error occurs because
+-                 there is no error interrupt */
+-              mod_timer(&host->pio_timer, jiffies + host->pio_timeout);
+       }
++      log_event("XFP>", (u32)host->data, host->blocks);
+ }
+-
+-static void bcm2835_sdhost_transfer_dma(struct bcm2835_host *host)
++static void bcm2835_sdhost_prepare_dma(struct bcm2835_host *host,
++      struct mmc_data *data)
+ {
+-      u32 len, dir_data, dir_slave;
++      int len, dir_data, dir_slave;
+       struct dma_async_tx_descriptor *desc = NULL;
+       struct dma_chan *dma_chan;
+-      pr_debug("bcm2835_sdhost_transfer_dma()\n");
+-
+-      WARN_ON(!host->data);
++      log_event("PRD<", (u32)data, 0);
++      pr_debug("bcm2835_sdhost_prepare_dma()\n");
+-      if (!host->data)
+-              return;
+-
+-      if (host->data->flags & MMC_DATA_READ) {
++      if (data->flags & MMC_DATA_READ) {
+               dma_chan = host->dma_chan_rx;
+               dir_data = DMA_FROM_DEVICE;
+               dir_slave = DMA_DEV_TO_MEM;
+@@ -625,35 +780,71 @@ static void bcm2835_sdhost_transfer_dma(
+               dir_data = DMA_TO_DEVICE;
+               dir_slave = DMA_MEM_TO_DEV;
+       }
++      log_event("PRD1", (u32)dma_chan, 0);
+       BUG_ON(!dma_chan->device);
+       BUG_ON(!dma_chan->device->dev);
+-      BUG_ON(!host->data->sg);
++      BUG_ON(!data->sg);
+-      len = dma_map_sg(dma_chan->device->dev, host->data->sg,
+-                       host->data->sg_len, dir_data);
+-      if (len > 0) {
+-              desc = dmaengine_prep_slave_sg(dma_chan, host->data->sg,
++      /* The block doesn't manage the FIFO DREQs properly for multi-block
++         transfers, so don't attempt to DMA the final few words.
++         Unfortunately this requires the final sg entry to be trimmed.
++         N.B. This code demands that the overspill is contained in
++         a single sg entry.
++      */
++
++      host->drain_words = 0;
++      if ((data->blocks > 1) && (dir_data == DMA_FROM_DEVICE)) {
++              struct scatterlist *sg;
++              u32 len;
++              int i;
++
++              len = min((u32)(FIFO_READ_THRESHOLD - 1) * 4,
++                        (u32)data->blocks * data->blksz);
++
++              for_each_sg(data->sg, sg, data->sg_len, i) {
++                      if (sg_is_last(sg)) {
++                              BUG_ON(sg->length < len);
++                              sg->length -= len;
++                              host->drain_page = (struct page *)sg->page_link;
++                              host->drain_offset = sg->offset + sg->length;
++                      }
++              }
++              host->drain_words = len/4;
++      }
++
++      len = dma_map_sg(dma_chan->device->dev, data->sg, data->sg_len,
++                       dir_data);
++
++      log_event("PRD2", len, 0);
++      if (len > 0)
++              desc = dmaengine_prep_slave_sg(dma_chan, data->sg,
+                                              len, dir_slave,
+                                              DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
+-      } else {
+-              dev_err(mmc_dev(host->mmc), "dma_map_sg returned zero length\n");
+-      }
++      log_event("PRD3", (u32)desc, 0);
++
+       if (desc) {
+               desc->callback = bcm2835_sdhost_dma_complete;
+               desc->callback_param = host;
+-              dmaengine_submit(desc);
+-              dma_async_issue_pending(dma_chan);
++              host->dma_desc = desc;
++              host->dma_chan = dma_chan;
++              host->dma_dir = dir_data;
+       }
+-
++      log_event("PDM>", (u32)data, 0);
+ }
++static void bcm2835_sdhost_start_dma(struct bcm2835_host *host)
++{
++      log_event("SDMA", (u32)host->data, (u32)host->dma_chan);
++      dmaengine_submit(host->dma_desc);
++      dma_async_issue_pending(host->dma_chan);
++}
+ static void bcm2835_sdhost_set_transfer_irqs(struct bcm2835_host *host)
+ {
+       u32 all_irqs = SDHCFG_DATA_IRPT_EN | SDHCFG_BLOCK_IRPT_EN |
+               SDHCFG_BUSY_IRPT_EN;
+-      if (host->use_dma)
++      if (host->dma_desc)
+               host->hcfg = (host->hcfg & ~all_irqs) |
+                       SDHCFG_BUSY_IRPT_EN;
+       else
+@@ -664,13 +855,13 @@ static void bcm2835_sdhost_set_transfer_
+       bcm2835_sdhost_write(host, host->hcfg, SDHCFG);
+ }
+-
+ static void bcm2835_sdhost_prepare_data(struct bcm2835_host *host, struct mmc_command *cmd)
+ {
+       struct mmc_data *data = cmd->data;
+       WARN_ON(host->data);
++      host->data = data;
+       if (!data)
+               return;
+@@ -679,46 +870,19 @@ static void bcm2835_sdhost_prepare_data(
+       BUG_ON(data->blksz > host->mmc->max_blk_size);
+       BUG_ON(data->blocks > 65535);
+-      host->data = data;
+       host->data_complete = 0;
+       host->flush_fifo = 0;
+       host->data->bytes_xfered = 0;
+-      if (!host->sectors && host->mmc->card && !(host->debug_flags & 1))
+-      {
+-              struct mmc_card *card = host->mmc->card;
+-              if (!mmc_card_sd(card) && mmc_card_blockaddr(card)) {
+-                      /*
+-                       * The EXT_CSD sector count is in number of 512 byte
+-                       * sectors.
+-                       */
+-                      host->sectors = card->ext_csd.sectors;
+-                      pr_err("%s: using ext_csd!\n", mmc_hostname(host->mmc));
+-              } else {
+-                      /*
+-                       * The CSD capacity field is in units of read_blkbits.
+-                       * set_capacity takes units of 512 bytes.
+-                       */
+-                      host->sectors = card->csd.capacity <<
+-                              (card->csd.read_blkbits - 9);
+-              }
+-              host->single_read_sectors[0] = host->sectors - 65;
+-              host->single_read_sectors[1] = host->sectors - 64;
+-              host->single_read_sectors[2] = host->sectors - 33;
+-              host->single_read_sectors[3] = host->sectors - 32;
+-              host->single_read_sectors[4] = host->sectors - 1;
+-              host->single_read_sectors[5] = ~0; /* Safety net */
+-      }
+-      host->use_dma = host->have_dma && (data->blocks > host->pio_limit);
+-      if (!host->use_dma) {
++      if (!host->dma_desc) {
++              /* Use PIO */
+               int flags;
+-              flags = SG_MITER_ATOMIC;
+               if (data->flags & MMC_DATA_READ)
+-                      flags |= SG_MITER_TO_SG;
++                      flags = SG_MITER_TO_SG;
+               else
+-                      flags |= SG_MITER_FROM_SG;
++                      flags = SG_MITER_FROM_SG;
+               sg_miter_start(&host->sg_miter, data->sg, data->sg_len, flags);
+               host->blocks = data->blocks;
+       }
+@@ -726,19 +890,20 @@ static void bcm2835_sdhost_prepare_data(
+       bcm2835_sdhost_set_transfer_irqs(host);
+       bcm2835_sdhost_write(host, data->blksz, SDHBCT);
+-      bcm2835_sdhost_write(host, host->use_dma ? data->blocks : 0, SDHBLC);
++      bcm2835_sdhost_write(host, data->blocks, SDHBLC);
+       BUG_ON(!host->data);
+ }
+-
+-void bcm2835_sdhost_send_command(struct bcm2835_host *host, struct mmc_command *cmd)
++bool bcm2835_sdhost_send_command(struct bcm2835_host *host,
++                               struct mmc_command *cmd)
+ {
+       u32 sdcmd, sdhsts;
+       unsigned long timeout;
+       int delay;
+       WARN_ON(host->cmd);
++      log_event("CMD<", cmd->opcode, cmd->arg);
+       if (cmd->data)
+               pr_debug("%s: send_command %d 0x%x "
+@@ -761,9 +926,9 @@ void bcm2835_sdhost_send_command(struct
+                       pr_err("%s: previous command never completed.\n",
+                               mmc_hostname(host->mmc));
+                       bcm2835_sdhost_dumpregs(host);
+-                      cmd->error = -EIO;
++                      cmd->error = -EILSEQ;
+                       tasklet_schedule(&host->finish_tasklet);
+-                      return;
++                      return false;
+               }
+               timeout--;
+               udelay(10);
+@@ -791,23 +956,24 @@ void bcm2835_sdhost_send_command(struct
+       if (sdhsts & SDHSTS_ERROR_MASK)
+               bcm2835_sdhost_write(host, sdhsts, SDHSTS);
+-      bcm2835_sdhost_prepare_data(host, cmd);
+-
+-      bcm2835_sdhost_write(host, cmd->arg, SDARG);
+-
+       if ((cmd->flags & MMC_RSP_136) && (cmd->flags & MMC_RSP_BUSY)) {
+               pr_err("%s: unsupported response type!\n",
+                       mmc_hostname(host->mmc));
+               cmd->error = -EINVAL;
+               tasklet_schedule(&host->finish_tasklet);
+-              return;
++              return false;
+       }
++      bcm2835_sdhost_prepare_data(host, cmd);
++
++      bcm2835_sdhost_write(host, cmd->arg, SDARG);
++
+       sdcmd = cmd->opcode & SDCMD_CMD_MASK;
+-      if (!(cmd->flags & MMC_RSP_PRESENT))
++      host->use_busy = 0;
++      if (!(cmd->flags & MMC_RSP_PRESENT)) {
+               sdcmd |= SDCMD_NO_RESPONSE;
+-      else {
++      } else {
+               if (cmd->flags & MMC_RSP_136)
+                       sdcmd |= SDCMD_LONG_RESPONSE;
+               if (cmd->flags & MMC_RSP_BUSY) {
+@@ -817,6 +983,7 @@ void bcm2835_sdhost_send_command(struct
+       }
+       if (cmd->data) {
++              log_event("CMDD", cmd->data->blocks, cmd->data->blksz);
+               if (host->delay_after_stop) {
+                       struct timeval now;
+                       int time_since_stop;
+@@ -839,10 +1006,12 @@ void bcm2835_sdhost_send_command(struct
+       }
+       bcm2835_sdhost_write(host, sdcmd | SDCMD_NEW_FLAG, SDCMD);
+-}
++      return true;
++}
+-static void bcm2835_sdhost_finish_command(struct bcm2835_host *host);
++static void bcm2835_sdhost_finish_command(struct bcm2835_host *host,
++                                        unsigned long *irq_flags);
+ static void bcm2835_sdhost_transfer_complete(struct bcm2835_host *host);
+ static void bcm2835_sdhost_finish_data(struct bcm2835_host *host)
+@@ -852,6 +1021,7 @@ static void bcm2835_sdhost_finish_data(s
+       data = host->data;
+       BUG_ON(!data);
++      log_event("FDA<", (u32)host->mrq, (u32)host->cmd);
+       pr_debug("finish_data(error %d, stop %d, sbc %d)\n",
+              data->error, data->stop ? 1 : 0,
+              host->mrq->sbc ? 1 : 0);
+@@ -859,10 +1029,7 @@ static void bcm2835_sdhost_finish_data(s
+       host->hcfg &= ~(SDHCFG_DATA_IRPT_EN | SDHCFG_BLOCK_IRPT_EN);
+       bcm2835_sdhost_write(host, host->hcfg, SDHCFG);
+-      if (data->error) {
+-              data->bytes_xfered = 0;
+-      } else
+-              data->bytes_xfered = data->blksz * data->blocks;
++      data->bytes_xfered = data->error ? 0 : (data->blksz * data->blocks);
+       host->data_complete = 1;
+@@ -877,9 +1044,9 @@ static void bcm2835_sdhost_finish_data(s
+       }
+       else
+               bcm2835_sdhost_transfer_complete(host);
++      log_event("FDA>", (u32)host->mrq, (u32)host->cmd);
+ }
+-
+ static void bcm2835_sdhost_transfer_complete(struct bcm2835_host *host)
+ {
+       struct mmc_data *data;
+@@ -891,6 +1058,7 @@ static void bcm2835_sdhost_transfer_comp
+       data = host->data;
+       host->data = NULL;
++      log_event("TCM<", (u32)data, data->error);
+       pr_debug("transfer_complete(error %d, stop %d)\n",
+              data->error, data->stop ? 1 : 0);
+@@ -899,88 +1067,114 @@ static void bcm2835_sdhost_transfer_comp
+        * a) open-ended multiblock transfer (no CMD23)
+        * b) error in multiblock transfer
+        */
+-      if (data->stop &&
+-          (data->error ||
+-           !host->mrq->sbc)) {
+-              host->flush_fifo = 1;
+-              bcm2835_sdhost_send_command(host, data->stop);
+-              if (host->delay_after_stop)
+-                      do_gettimeofday(&host->stop_time);
+-              if (!host->use_busy)
+-                      bcm2835_sdhost_finish_command(host);
++      if (host->mrq->stop && (data->error || !host->use_sbc)) {
++              if (bcm2835_sdhost_send_command(host, host->mrq->stop)) {
++                      /* No busy, so poll for completion */
++                      if (!host->use_busy)
++                              bcm2835_sdhost_finish_command(host, NULL);
++
++                      if (host->delay_after_stop)
++                              do_gettimeofday(&host->stop_time);
++              }
+       } else {
++              bcm2835_sdhost_wait_transfer_complete(host);
+               tasklet_schedule(&host->finish_tasklet);
+       }
++      log_event("TCM>", (u32)data, 0);
+ }
+-static void bcm2835_sdhost_finish_command(struct bcm2835_host *host)
++/* If irq_flags is valid, the caller is in a thread context and is allowed
++   to sleep */
++static void bcm2835_sdhost_finish_command(struct bcm2835_host *host,
++                                        unsigned long *irq_flags)
+ {
+       u32 sdcmd;
+-      unsigned long timeout;
++      u32 retries;
+ #ifdef DEBUG
+       struct timeval before, after;
+       int timediff = 0;
+ #endif
++      log_event("FCM<", (u32)host->mrq, (u32)host->cmd);
+       pr_debug("finish_command(%x)\n", bcm2835_sdhost_read(host, SDCMD));
+       BUG_ON(!host->cmd || !host->mrq);
+-#ifdef DEBUG
+-      do_gettimeofday(&before);
+-#endif
+-      /* Wait max 100 ms */
+-      timeout = 10000;
++      /* Poll quickly at first */
++
++      retries = host->cmd_quick_poll_retries;
++      if (!retries) {
++              /* Work out how many polls take 1us by timing 10us */
++              struct timeval start, now;
++              int us_diff;
++
++              retries = 1;
++              do {
++                      int i;
++
++                      retries *= 2;
++
++                      do_gettimeofday(&start);
++
++                      for (i = 0; i < retries; i++) {
++                              cpu_relax();
++                              sdcmd = bcm2835_sdhost_read(host, SDCMD);
++                      }
++
++                      do_gettimeofday(&now);
++                      us_diff = (now.tv_sec - start.tv_sec) * 1000000 +
++                              (now.tv_usec - start.tv_usec);
++              } while (us_diff < 10);
++
++              host->cmd_quick_poll_retries = ((retries * us_diff + 9)*CMD_DALLY_US)/10 + 1;
++              retries = 1; // We've already waited long enough this time
++      }
++
++      retries = host->cmd_quick_poll_retries;
+       for (sdcmd = bcm2835_sdhost_read(host, SDCMD);
+-           (sdcmd & SDCMD_NEW_FLAG) && timeout;
+-           timeout--) {
+-              if (host->flush_fifo) {
+-                      while (bcm2835_sdhost_read(host, SDHSTS) &
+-                             SDHSTS_DATA_FLAG)
+-                              (void)bcm2835_sdhost_read(host, SDDATA);
+-              }
+-              udelay(10);
++           (sdcmd & SDCMD_NEW_FLAG) && !(sdcmd & SDCMD_FAIL_FLAG) && retries;
++           retries--) {
++              cpu_relax();
+               sdcmd = bcm2835_sdhost_read(host, SDCMD);
+       }
+-#ifdef DEBUG
+-      do_gettimeofday(&after);
+-      timediff = (after.tv_sec - before.tv_sec)*1000000 +
+-              (after.tv_usec - before.tv_usec);
+-      pr_debug(" finish_command - waited %dus\n", timediff);
+-#endif
++      if (!retries) {
++              unsigned long wait_max;
++
++              if (!irq_flags) {
++                      /* Schedule the work */
++                      log_event("CWWQ", 0, 0);
++                      schedule_work(&host->cmd_wait_wq);
++                      return;
++              }
++
++              /* Wait max 100 ms */
++              wait_max = jiffies + msecs_to_jiffies(100);
++              while (time_before(jiffies, wait_max)) {
++                      spin_unlock_irqrestore(&host->lock, *irq_flags);
++                      usleep_range(1, 10);
++                      spin_lock_irqsave(&host->lock, *irq_flags);
++                      sdcmd = bcm2835_sdhost_read(host, SDCMD);
++                      if (!(sdcmd & SDCMD_NEW_FLAG) ||
++                          (sdcmd & SDCMD_FAIL_FLAG))
++                              break;
++              }
++      }
+-      if (timeout == 0) {
++      /* Check for errors */
++      if (sdcmd & SDCMD_NEW_FLAG) {
+               pr_err("%s: command never completed.\n",
+                      mmc_hostname(host->mmc));
+               bcm2835_sdhost_dumpregs(host);
+               host->cmd->error = -EIO;
+               tasklet_schedule(&host->finish_tasklet);
+               return;
+-      }
+-
+-      if (host->flush_fifo) {
+-              for (timeout = 100;
+-                   (bcm2835_sdhost_read(host, SDHSTS) & SDHSTS_DATA_FLAG) && timeout;
+-                   timeout--) {
+-                      (void)bcm2835_sdhost_read(host, SDDATA);
+-              }
+-              host->flush_fifo = 0;
+-              if (timeout == 0) {
+-                      pr_err("%s: FIFO never drained.\n",
+-                             mmc_hostname(host->mmc));
+-                      bcm2835_sdhost_dumpregs(host);
+-                      host->cmd->error = -EIO;
+-                      tasklet_schedule(&host->finish_tasklet);
+-                      return;
+-              }
+-      }
+-
+-      /* Check for errors */
+-      if (sdcmd & SDCMD_FAIL_FLAG)
+-      {
++      } else if (sdcmd & SDCMD_FAIL_FLAG) {
+               u32 sdhsts = bcm2835_sdhost_read(host, SDHSTS);
++              /* Clear the errors */
++              bcm2835_sdhost_write(host, SDHSTS_ERROR_MASK, SDHSTS);
++
+               if (host->debug)
+                       pr_info("%s: error detected - CMD %x, HSTS %03x, EDM %x\n",
+                               mmc_hostname(host->mmc), sdcmd, sdhsts,
+@@ -1003,7 +1197,7 @@ static void bcm2835_sdhost_finish_comman
+                                      mmc_hostname(host->mmc),
+                                      host->cmd->opcode);
+                               bcm2835_sdhost_dumpregs(host);
+-                              host->cmd->error = -EIO;
++                              host->cmd->error = -EILSEQ;
+                       }
+                       tasklet_schedule(&host->finish_tasklet);
+                       return;
+@@ -1018,31 +1212,31 @@ static void bcm2835_sdhost_finish_comman
+                       pr_debug("%s: finish_command %08x %08x %08x %08x\n",
+                                mmc_hostname(host->mmc),
+                                host->cmd->resp[0], host->cmd->resp[1], host->cmd->resp[2], host->cmd->resp[3]);
++                      log_event("RSP ", host->cmd->resp[0], host->cmd->resp[1]);
+               } else {
+                       host->cmd->resp[0] = bcm2835_sdhost_read(host, SDRSP0);
+                       pr_debug("%s: finish_command %08x\n",
+                                mmc_hostname(host->mmc),
+                                host->cmd->resp[0]);
++                      log_event("RSP ", host->cmd->resp[0], 0);
+               }
+       }
+-      host->cmd->error = 0;
+-
+       if (host->cmd == host->mrq->sbc) {
+               /* Finished CMD23, now send actual command. */
+               host->cmd = NULL;
+-              bcm2835_sdhost_send_command(host, host->mrq->cmd);
++              if (bcm2835_sdhost_send_command(host, host->mrq->cmd)) {
++                      if (host->data && host->dma_desc)
++                              /* DMA transfer starts now, PIO starts after irq */
++                              bcm2835_sdhost_start_dma(host);
+-              if (host->cmd->data && host->use_dma)
+-                      /* DMA transfer starts now, PIO starts after irq */
+-                      bcm2835_sdhost_transfer_dma(host);
+-
+-              if (!host->use_busy)
+-                      bcm2835_sdhost_finish_command(host);
+-      } else if (host->cmd == host->mrq->stop)
++                      if (!host->use_busy)
++                              bcm2835_sdhost_finish_command(host, NULL);
++              }
++      } else if (host->cmd == host->mrq->stop) {
+               /* Finished CMD12 */
+               tasklet_schedule(&host->finish_tasklet);
+-      else {
++      } else {
+               /* Processed actual command. */
+               host->cmd = NULL;
+               if (!host->data)
+@@ -1050,6 +1244,7 @@ static void bcm2835_sdhost_finish_comman
+               else if (host->data_complete)
+                       bcm2835_sdhost_transfer_complete(host);
+       }
++      log_event("FCM>", (u32)host->mrq, (u32)host->cmd);
+ }
+ static void bcm2835_sdhost_timeout(unsigned long data)
+@@ -1060,10 +1255,12 @@ static void bcm2835_sdhost_timeout(unsig
+       host = (struct bcm2835_host *)data;
+       spin_lock_irqsave(&host->lock, flags);
++      log_event("TIM<", 0, 0);
+       if (host->mrq) {
+               pr_err("%s: timeout waiting for hardware interrupt.\n",
+                       mmc_hostname(host->mmc));
++              log_dump();
+               bcm2835_sdhost_dumpregs(host);
+               if (host->data) {
+@@ -1084,74 +1281,15 @@ static void bcm2835_sdhost_timeout(unsig
+       spin_unlock_irqrestore(&host->lock, flags);
+ }
+-static void bcm2835_sdhost_pio_timeout(unsigned long data)
+-{
+-      struct bcm2835_host *host;
+-      unsigned long flags;
+-
+-      host = (struct bcm2835_host *)data;
+-
+-      spin_lock_irqsave(&host->lock, flags);
+-
+-      if (host->data) {
+-              u32 sdhsts = bcm2835_sdhost_read(host, SDHSTS);
+-
+-              if (sdhsts & SDHSTS_REW_TIME_OUT) {
+-                      pr_err("%s: transfer timeout\n",
+-                             mmc_hostname(host->mmc));
+-                      if (host->debug)
+-                              bcm2835_sdhost_dumpregs(host);
+-              } else {
+-                      pr_err("%s: unexpected transfer timeout\n",
+-                             mmc_hostname(host->mmc));
+-                      bcm2835_sdhost_dumpregs(host);
+-              }
+-
+-              bcm2835_sdhost_write(host, SDHSTS_TRANSFER_ERROR_MASK,
+-                                   SDHSTS);
+-
+-              host->data->error = -ETIMEDOUT;
+-
+-              bcm2835_sdhost_finish_data(host);
+-      }
+-
+-      mmiowb();
+-      spin_unlock_irqrestore(&host->lock, flags);
+-}
+-
+-static void bcm2835_sdhost_enable_sdio_irq_nolock(struct bcm2835_host *host, int enable)
+-{
+-      if (enable)
+-              host->hcfg |= SDHCFG_SDIO_IRPT_EN;
+-      else
+-              host->hcfg &= ~SDHCFG_SDIO_IRPT_EN;
+-      bcm2835_sdhost_write(host, host->hcfg, SDHCFG);
+-      mmiowb();
+-}
+-
+-static void bcm2835_sdhost_enable_sdio_irq(struct mmc_host *mmc, int enable)
+-{
+-      struct bcm2835_host *host = mmc_priv(mmc);
+-      unsigned long flags;
+-
+-      pr_debug("%s: enable_sdio_irq(%d)\n", mmc_hostname(mmc), enable);
+-      spin_lock_irqsave(&host->lock, flags);
+-      bcm2835_sdhost_enable_sdio_irq_nolock(host, enable);
+-      spin_unlock_irqrestore(&host->lock, flags);
+-}
+-
+-static u32 bcm2835_sdhost_busy_irq(struct bcm2835_host *host, u32 intmask)
++static void bcm2835_sdhost_busy_irq(struct bcm2835_host *host, u32 intmask)
+ {
+-      const u32 handled = (SDHSTS_REW_TIME_OUT | SDHSTS_CMD_TIME_OUT |
+-                           SDHSTS_CRC16_ERROR | SDHSTS_CRC7_ERROR |
+-                           SDHSTS_FIFO_ERROR);
+-
++      log_event("IRQB", (u32)host->cmd, intmask);
+       if (!host->cmd) {
+               pr_err("%s: got command busy interrupt 0x%08x even "
+                       "though no command operation was in progress.\n",
+                       mmc_hostname(host->mmc), (unsigned)intmask);
+               bcm2835_sdhost_dumpregs(host);
+-              return 0;
++              return;
+       }
+       if (!host->use_busy) {
+@@ -1159,7 +1297,7 @@ static u32 bcm2835_sdhost_busy_irq(struc
+                       "though not expecting one.\n",
+                       mmc_hostname(host->mmc), (unsigned)intmask);
+               bcm2835_sdhost_dumpregs(host);
+-              return 0;
++              return;
+       }
+       host->use_busy = 0;
+@@ -1182,28 +1320,23 @@ static u32 bcm2835_sdhost_busy_irq(struc
+               } else if (intmask & SDHSTS_CMD_TIME_OUT)
+                       host->cmd->error = -ETIMEDOUT;
++              log_dump();
+               bcm2835_sdhost_dumpregs(host);
+-              tasklet_schedule(&host->finish_tasklet);
+       }
+       else
+-              bcm2835_sdhost_finish_command(host);
+-
+-      return handled;
++              bcm2835_sdhost_finish_command(host, NULL);
+ }
+-static u32 bcm2835_sdhost_data_irq(struct bcm2835_host *host, u32 intmask)
++static void bcm2835_sdhost_data_irq(struct bcm2835_host *host, u32 intmask)
+ {
+-      const u32 handled = (SDHSTS_REW_TIME_OUT |
+-                           SDHSTS_CRC16_ERROR |
+-                           SDHSTS_FIFO_ERROR);
+-
+       /* There are no dedicated data/space available interrupt
+          status bits, so it is necessary to use the single shared
+          data/space available FIFO status bits. It is therefore not
+          an error to get here when there is no data transfer in
+          progress. */
++      log_event("IRQD", (u32)host->data, intmask);
+       if (!host->data)
+-              return 0;
++              return;
+       if (intmask & (SDHSTS_CRC16_ERROR |
+                      SDHSTS_FIFO_ERROR |
+@@ -1214,46 +1347,37 @@ static u32 bcm2835_sdhost_data_irq(struc
+               else
+                       host->data->error = -ETIMEDOUT;
+-              bcm2835_sdhost_dumpregs(host);
+-              tasklet_schedule(&host->finish_tasklet);
+-              return handled;
++              if (host->debug) {
++                      log_dump();
++                      bcm2835_sdhost_dumpregs(host);
++              }
+       }
+-      /* Use the block interrupt for writes after the first block */
+-      if (host->data->flags & MMC_DATA_WRITE) {
++      if (host->data->error) {
++              bcm2835_sdhost_finish_data(host);
++      } else if (host->data->flags & MMC_DATA_WRITE) {
++              /* Use the block interrupt for writes after the first block */
+               host->hcfg &= ~(SDHCFG_DATA_IRPT_EN);
+               host->hcfg |= SDHCFG_BLOCK_IRPT_EN;
+               bcm2835_sdhost_write(host, host->hcfg, SDHCFG);
+-              if (host->data->error)
+-                      bcm2835_sdhost_finish_data(host);
+-              else
+-                      bcm2835_sdhost_transfer_pio(host);
++              bcm2835_sdhost_transfer_pio(host);
+       } else {
+-              if (!host->data->error) {
+-                      bcm2835_sdhost_transfer_pio(host);
+-                      host->blocks--;
+-              }
++              bcm2835_sdhost_transfer_pio(host);