d5c0e92 | Phil Elwell | 19 July 2017, 14:20:50 UTC | overlays: i2c1-bcm2708: Don't overwrite i2c1 pins node It is bad practise to overwrite an entire node in an overlay. Instead, target the node and overwrite any properties that need changing. See: https://github.com/raspberrypi/linux/pull/2118 Suggested-by: soodvarun78 <soodvarun78@gmail.com> Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:50 UTC |
6344586 | Conn | 17 July 2017, 02:25:43 UTC | config: enhance DualShock3 controller support Enable rumble support in Sony HID & HID battery strength. | 21 July 2017, 14:30:50 UTC |
0c8e419 | Phil Elwell | 18 July 2017, 14:30:48 UTC | bcm2835-mmc: Prevent DMA race condition The end of a read operation is triggered by the completion of the DMA transfer, but writes are complete when the data IRQ is raised. The bcm2835-mmc driver contains a race between the handling of the DMA completion interrupt and the submission of the next request. Fix the race by deferring the completion of the request until the DMA transfer finishes. Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:49 UTC |
c336fcc | Phil Elwell | 14 July 2017, 11:59:55 UTC | bcm2835-mmc: Fix DMA usage The previous change ("bcm2835-mmc: Only claim one DMA channel") used an incorrect variable, the effect of which was to prevent DMA from being used at all. Fix that bug by using the right variable. Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:49 UTC |
671b5e9 | Matthias Reichl | 10 July 2017, 09:05:17 UTC | config: enable generic S/PDIF codec drivers (#2104) These drivers can be used as dummy ADC/DAC drivers for attaching general codecs that don't need to be configured. This option will build 2 additional drivers, spdif_receiver and spdif_transmitter. Since these drivers have DT bindings they are handy for quick testing of I2S peripherals with simple-audio-card. eg: fragment@0 { target-path = "/"; __overlay__ { dummy_receiver: spdif-receiver { #address-cells = <0>; #size-cells = <0>; #sound-dai-cells = <0>; compatible = "linux,spdif-dir"; status = "okay"; }; }; }; Signed-off-by: Matthias Reichl <hias@horus.com> | 21 July 2017, 14:30:48 UTC |
e9f345c | Matthijs Kooijman | 09 July 2017, 13:15:22 UTC | overlays: Add gpio-shutdown overlay (#2103) This overlay facilitates the addition of a powerbutton by converting GPIO edges into KEY_POWER keypresses, which can be handled by systemd-logind to shut down the system. Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl> | 21 July 2017, 14:30:47 UTC |
772dd93 | Allo | 03 July 2017, 10:15:20 UTC | PianoPlus: Dual Mono & Dual Stereo features added (#2069) | 21 July 2017, 14:30:47 UTC |
6bfd2cf | Steve Conner | 29 June 2017, 14:56:19 UTC | New i2c-rtc-gpio device overlay (#2092) Created new i2c-rtc-gpio device overlay by combining i2c-rtc and i2c-gpio. Tested with PCF2127 on CM3. | 21 July 2017, 14:30:46 UTC |
4ebc003 | Eric Anholt | 21 June 2017, 16:03:51 UTC | bcm2708: Drop CMA alignment from FKMS mode as well. I dropped it from KMS mode in d88274d88ed81de1ade8e18e4c0ed91792ec82ea and should have done both of them at that time. Signed-off-by: Eric Anholt <eric@anholt.net> | 21 July 2017, 14:30:46 UTC |
85210fe | popcornmix | 20 June 2017, 16:51:47 UTC | bcm2835-cpufreq: Change licence to GPLv2 Signed-off-by: Eben Upton <eben.upton@broadcom.com> Signed-off-by: Dom Cobley <dom@raspberrypi.com> | 21 July 2017, 14:30:45 UTC |
d62acd5 | Andrei Gherzan | 05 June 2017, 15:40:38 UTC | dma-bcm2708: Fix module compilation of CONFIG_DMA_BCM2708 bcm2708-dmaengine.c defines functions like bcm_dma_start which are defined as well in dma-bcm2708.h as inline versions when CONFIG_DMA_BCM2708 is not defined. This works fine when CONFIG_DMA_BCM2708 is built in, but when it is selected as module build fails with redefinition errors because in the build system when CONFIG_DMA_BCM2708 is selected as module, the macro becomes CONFIG_DMA_BCM2708_MODULE. This patch makes the header use CONFIG_DMA_BCM2708_MODULE too when available. Fixes https://github.com/raspberrypi/linux/issues/2056 Signed-off-by: Andrei Gherzan <andrei@gherzan.com> | 21 July 2017, 14:30:45 UTC |
1fff13b | sandeepal | 02 June 2017, 13:29:46 UTC | Allo Digione Driver (#2048) Driver for the Allo Digione soundcard | 21 July 2017, 14:30:44 UTC |
c594627 | Stefan Tatschner | 29 May 2017, 19:46:16 UTC | Add device tree config for htu21 See: https://github.com/raspberrypi/linux/pull/2041 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:43 UTC |
5610f99 | Phil Elwell | 31 May 2017, 14:27:39 UTC | BCM270X_DT: Improve i2c-sensor and i2c-rtc overlay Use the "__dormant__" feature to permit multiple instances of each overlay, which is more useful now that changing the "reg" property also changes the node address. Although the overlay grows slightly, when applied only the requested node is included. Usage does not change, except that the "lm75addr" parameter of the i2c-sensor overlay has been deprecated in favour of the generic "addr" parameter. Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:43 UTC |
2e40c9f | Phil Elwell | 31 May 2017, 08:33:55 UTC | config: Adding SENSOR_JC42 The jc42 module supports a number of I2C-based temperature sensor modules. [ DM_RAID0 config lost because now selected by DM_RAID ] See: https://github.com/raspberrypi/linux/issues/2046 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:42 UTC |
b69fc2c | Anton Onishchenko | 23 May 2017, 15:55:46 UTC | mpu6050 device tree overlay (#2031) Add overlay and config options for InvenSense MPU6050 6-axis motion detector. | 21 July 2017, 14:30:42 UTC |
e1118cf | popcornmix | 22 May 2017, 12:35:28 UTC | config: Add CONFIG_IPV6_SIT_6RD | 21 July 2017, 14:30:41 UTC |
75e6365 | popcornmix | 22 May 2017, 14:28:27 UTC | config: Add CONFIG_IPV6_ROUTE_INFO | 21 July 2017, 14:30:41 UTC |
422ff2a | Liviu Dudau | 01 March 2017, 12:26:28 UTC | ASoC: TLV320AIC23: Unquote NULL from control name commit a03faba972cb0f9b3a46d8054e674d5492e06c38 upstream. Without this I am getting the following messages at boot on my Trimslice: tlv320aic23-codec 2-001a: Control not supported for path LLINEIN -> [NULL] -> Line Input tlv320aic23-codec 2-001a: ASoC: no dapm match for LLINEIN --> NULL --> Line Input tlv320aic23-codec 2-001a: ASoC: Failed to add route LLINEIN -> NULL -> Line Input tlv320aic23-codec 2-001a: Control not supported for path RLINEIN -> [NULL] -> Line Input tlv320aic23-codec 2-001a: ASoC: no dapm match for RLINEIN --> NULL --> Line Input tlv320aic23-codec 2-001a: ASoC: Failed to add route RLINEIN -> NULL -> Line Input tlv320aic23-codec 2-001a: Control not supported for path MICIN -> [NULL] -> Mic Input tlv320aic23-codec 2-001a: ASoC: no dapm match for MICIN --> NULL --> Mic Input tlv320aic23-codec 2-001a: ASoC: Failed to add route MICIN -> NULL -> Mic Input tegra-snd-trimslice sound: tlv320aic23-hifi <-> 70002800.i2s mapping ok Signed-off-by: Liviu Dudau <liviu@dudau.co.uk> Signed-off-by: Mark Brown <broonie@kernel.org> | 21 July 2017, 14:30:40 UTC |
6e87abb | chenzhiwo | 17 May 2017, 08:34:57 UTC | Add device tree overlay for GPIO connected rotary encoder. See Documentation/input/rotary-encoder.txt for more information. | 21 July 2017, 14:30:40 UTC |
a876cd4 | Ahmet Inan | 15 May 2017, 15:10:53 UTC | overlays: Add Goodix overlay Add support for I2C connected Goodix gt9271 multiple touch controller using GPIOs 4 and 17 (pins 7 and 11 on GPIO header) for interrupt and reset. Signed-off-by: Ahmet Inan <inan@distec.de> | 21 July 2017, 14:30:39 UTC |
2385dac | Phil Elwell | 08 May 2017, 15:43:40 UTC | irq_bcm2836: Send event when onlining sleeping cores In order to reduce power consumption and bus traffic, it is sensible for secondary cores to enter a low-power idle state when waiting to be started. The wfe instruction causes a core to wait until an event or interrupt arrives before continuing to the next instruction. The sev instruction sends a wakeup event to the other cores, so call it from bcm2836_smp_boot_secondary, the function that wakes up the waiting cores during booting. It is harmless to use this patch without the corresponding change adding wfe to the ARMv7/ARMv8-32 stubs, but if the stubs are updated and this patch is not applied then the other cores will sleep forever. See: https://github.com/raspberrypi/linux/issues/1989 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:39 UTC |
fdf388a | Phil Elwell | 08 May 2017, 15:30:18 UTC | ARM: dts: bcm283x: Reserve first page for firmware The Raspberry Pi startup stub files for multi-core BCM27XX processors make the secondary CPUs spin until the corresponding mailbox is written. These stubs are loaded at physical address 0x00000xxx (as seen by the ARMs), but this page will be reused by the kernel unless it is explicitly reserved, causing the waiting cores to execute random code. Use the /memreserve/ Device Tree directive to mark the first page as off-limits to the kernel. See: https://github.com/raspberrypi/linux/issues/1989 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:38 UTC |
30730c8 | Scott Ellis | 25 April 2017, 17:05:42 UTC | BCM270X_DT: Add tmp102 to i2c sensor overlay Signed-off-by: Scott Ellis <scott@jumpnowtek.com> | 21 July 2017, 14:30:38 UTC |
e376ff0 | Scott Ellis | 25 April 2017, 14:46:09 UTC | config: Enable TI TMP102 temp sensor module Signed-off-by: Scott Ellis <scott@jumpnowtek.com> | 21 July 2017, 14:30:37 UTC |
ccfbc8d | Phil Elwell | 23 April 2017, 18:38:06 UTC | config: Add CONFIG_BMP280 (and CONFIG_BMP280_I2C) Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:37 UTC |
8106cc4 | Phil Elwell | 23 April 2017, 18:36:53 UTC | BCM270X_DT: Add bme280 and bmp180 to i2c-sensor overlay Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:36 UTC |
bc4ab40 | Matt Flax | 04 April 2017, 09:23:04 UTC | Audioinjector octo : Make the playback and capture symmetric This patch ensures that the sample rate and channel count of the audioinjector octo sound card are symmetric. | 21 July 2017, 14:30:36 UTC |
152abdd | Matt Flax | 04 April 2017, 09:20:59 UTC | Audioinjector : make the octo and pi sound cards have different driver names This patch gives the audioinjector octo and pi soundcards different driver names. This allows both the be loaded without clashing. | 21 July 2017, 14:30:35 UTC |
4f9f477 | Bilal Amarni | 09 July 2017, 15:56:19 UTC | rtl8192: switch to netdev->priv_destructor() When trying to build from the rpi-4.11.y branch, I'm getting the following error : drivers/net/wireless/realtek/rtl8192cu/os_dep/linux/ioctl_cfg80211.c:3464:10: error: 'struct net_device' has no member named 'destructor' It seems to occur since this upstream commit : https://github.com/torvalds/linux/commit/cf124db566e6b036b8bcbe8decbed740bdfac8c6 [...] netdev->priv_destructor() performs all actions to free up the private resources that used to be freed by netdev->destructor(), except for free_netdev(). netdev->needs_free_netdev is a boolean that indicates whether free_netdev() should be done at the end of unregister_netdevice(). Signed-off-by: Bilal Amarni <bilal.amarni@gmail.com> | 21 July 2017, 14:30:34 UTC |
ac11953 | Matthias Reichl | 07 May 2017, 14:24:57 UTC | ASoC: bcm2835: Enforce full symmetry bcm2835's configuration registers can't be changed when a stream is running, which means asymmetric configurations aren't supported. Channel and rate symmetry are already enforced by constraints but samplebits had been missed. As hw_params doesn't check for symmetry constraints by itself and just returns success if a stream is running this led to situations where asymmetric configurations were seeming to succeed but of course didn't work because the hardware wasn't configured at all. Fix this by adding the missing samplerate symmetry constraint. Signed-off-by: Matthias Reichl <hias@horus.com> | 21 July 2017, 14:30:34 UTC |
50be212 | Matthias Reichl | 07 May 2017, 14:19:54 UTC | ASoC: bcm2835: Support additional samplerates up to 384kHz Sample rates are only restricted by the capabilities of the clock driver, so use SNDRV_PCM_RATE_CONTINUOUS instead of SNDRV_PCM_RATE_8000_192000. Tests (eg with pcm5122) have shown that bcm2835 works fine in 384kHz/32bit stereo mode, so change the maximum allowed rate from 192kHz to 384kHz. Signed-off-by: Matthias Reichl <hias@horus.com> | 21 July 2017, 14:30:33 UTC |
66106af | Matthias Reichl | 07 May 2017, 13:30:50 UTC | ASoC: bcm2835: Support left/right justified and DSP modes DSP modes and left/right justified modes can be supported on bcm2835 by configuring the frame sync polarity and frame sync length registers and by adjusting the channel data position registers. Clock and frame sync polarity handling in hw_params has been refactored to make the interaction between logical rising/falling edge frame start and physical configuration (changed by normal/inverted polarity modes) clearer. Modes where the first active data bit is transmitted immediately after frame start (eg DSP mode B with slot 0 active) only work reliable if bcm2835 is configured as frame master. In frame slave mode channel swap (or shift, this isn't quite clear yet) can occur. Currently the driver only warns if an unstable configuration is detected but doensn't prevent using them. Signed-off-by: Matthias Reichl <hias@horus.com> | 21 July 2017, 14:30:33 UTC |
afb1c71 | Matthias Reichl | 07 May 2017, 09:34:26 UTC | ASoC: bcm2835: Add support for TDM modes bcm2835 supports arbitrary positioning of channel data within a frame and thus is capable of supporting TDM modes. Since the driver is limited to 2-channel operations only TDM setups with exactly 2 active slots are supported. Logical TDM slot numbering follows the usual convention: For I2S-like modes, with a 50% duty-cycle frame clock, slots 0, 2, ... are transmitted in the first half of a frame, slots 1, 3, ... are transmitted in the second half. For DSP modes slot numbering is ascending: 0, 1, 2, 3, ... Channel position calculation has been refactored to use TDM info and moved out of hw_params. set_tdm_slot, set_bclk_ratio and hw_params now check more strictly if the configuration is valid. Illegal configurations like odd number of slots in I2S mode, data lengths exceeding slot width or frame sizes larger than the hardware limit of 1024 are rejected. Also hw_params now properly checks for errors from clk_set_rate. Allowed PCM formats are already guarded by stream constraints, thus the formats check in hw_params has been removed and data_length is now retrieved via params_width(). Also standard functions like snd_soc_params_to_bclk are now being used instead of manual calculations to make the code more readable. Special care has been taken to ensure that set_bclk_ratio works as before. The bclk ratio is mapped to a 2-channel TDM config with a slot width of half the ratio. In order to support odd ratios, which can't be expressed via a TDM config, the ratio (frame length) is stored and used by hw_params. Signed-off-by: Matthias Reichl <hias@horus.com> | 21 July 2017, 14:30:32 UTC |
69b9dec | Phil Elwell | 27 June 2017, 14:07:14 UTC | SQUASH: mmc: Apply ERASE_BROKEN quirks correctly Squash with: mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:32 UTC |
021a18a | Phil Elwell | 20 May 2017, 21:10:14 UTC | overlays: README: remove vestigial SDIO parameters Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:31 UTC |
5dfec3b | Phil Elwell | 26 May 2017, 12:03:41 UTC | BCM270X_DT: Add midi-uart1 overlay Add a scaler to the ttyS0 clock so that requesting 38400 baud results in an approximately 31250 baud signal. This is analagous to midi-uart0, except for ttyS0, which may be useful on Pi3 and also may avoid an issue with ttyAMA0 failing to synchronise to an active data stream. See: https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=183860 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:31 UTC |
d06400e | Phil Elwell | 21 June 2017, 16:19:04 UTC | serial: 8250: Fix THRE flag usage for CAP_MINI The BCM2835 MINI UART has non-standard THRE semantics. Conventionally the bit means that the FIFO is empty (although there may still be a byte in the transmit register), but on 2835 it indicates that the FIFO is not empty. This causes interrupts after every byte is transmitted, with the FIFO providing some interrupt latency tolerance. A consequence of this difference is that the usual strategy of writing multiple bytes into the TX FIFO after checking THRE once is unsafe. In the worst case of 7 bytes in the FIFO, writing 8 bytes loses all but the first since by then the FIFO is full. There is an HFIFO ("Hidden FIFO") bit which is almost what is needed, but it only adds more bytes while both THRE and TEMT are set, i.e. when the TX side is completely idle. This is unnecessarily pessimistic. Add a new special case, predicated on CAP_MINI, that loops until THRE is no longer set. With this change, the FIFO fills quickly but subsequent writes are paced by the transmission rate. See: https://github.com/raspberrypi/linux/issues/1855 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:30 UTC |
1eb2efc | P33M | 20 June 2017, 12:44:01 UTC | dwc_otg: fiq_fsm: Add non-periodic TT exclusivity constraints Certain hub types do not discriminate between pipe direction (IN or OUT) when considering non-periodic transfers. Therefore these hubs get confused if multiple transfers are issued in different directions with the same device address and endpoint number. Constrain queuing non-periodic split transactions so they are performed serially in such cases. Related: https://github.com/raspberrypi/linux/issues/2024 | 21 July 2017, 14:30:29 UTC |
d456b51 | P33M | 12 June 2017, 15:10:03 UTC | dwc_otg: add module parameter int_ep_interval_min Add a module parameter (defaulting to ignored) that clamps the polling rate of high-speed Interrupt endpoints to a minimum microframe interval. The parameter is modifiable at runtime as it is used when activating new endpoints (such as on device connect). | 21 July 2017, 14:30:29 UTC |
fc9cb00 | popcornmix | 12 June 2017, 12:05:43 UTC | config: Add CONFIG_CAN_GS_USB | 21 July 2017, 14:30:28 UTC |
b40f3f3 | P33M | 26 May 2017, 11:50:31 UTC | dwc_otg: fiq_fsm: Make isochronous compatibility checks work properly Get rid of the spammy printk and local pointer mangling. Also, there is a nominal benefit for using fiq_fsm for isochronous transfers in FS mode (~1.1k IRQs per second vs 2.1k IRQs per second) so remove the root port speed check. | 21 July 2017, 14:30:28 UTC |
a4044a2 | Phil Elwell | 19 May 2017, 15:07:23 UTC | serial: 8250: Add CAP_MINI, set for bcm2835aux commit d087e7a991f1f61ee2c07db1be7c5cc2aa373f5d upstream. The AUX/mini-UART in the BCM2835 family of procesors is a cut-down 8250 clone. In particular it is lacking support for the following features: CSTOPB PARENB PARODD CMSPAR CS5 CS6 Add a new capability (UART_CAP_MINI) that exposes the restrictions to the user of the termios API by turning off the unsupported features in the request. N.B. It is almost possible to automatically discover the missing features by reading back the LCR register, but the CSIZE bits don't cooperate (contrary to the documentation, both bits are significant, but CS5 and CS6 are mapped to CS7) and the code is much longer. See: https://github.com/raspberrypi/linux/issues/1561 Signed-off-by: Phil Elwell <phil@raspberrypi.org> Acked-by: Eric Anholt <eric@anholt.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 21 July 2017, 14:30:27 UTC |
78d631d | P33M | 25 May 2017, 15:04:53 UTC | dwc_otg: make periodic scheduling behave properly for FS buses If the root port is in full-speed mode, transfer times at 12mbit/s would be calculated but matched against high-speed quotas. Reinitialise hcd->frame_usecs[i] on each port enable event so that full-speed bandwidth can be tracked sensibly. Also, don't bother using the FIQ for transfers when in full-speed mode - at the slower bus speed, interrupt frequency is reduced by an order of magnitude. Related issue: https://github.com/raspberrypi/linux/issues/2020 | 21 July 2017, 14:30:27 UTC |
3bd4441 | Bilal Amarni | 24 May 2017, 08:52:50 UTC | [ARM64] enable drivers for GPIO expander and vcio | 21 July 2017, 14:30:26 UTC |
1f7eba3 | Phil Elwell | 22 May 2017, 12:56:41 UTC | clk: bcm2835: Minimise clock jitter for PCM clock Fractional clock dividers generate accurate average frequencies but with jitter, particularly when the integer divisor is small. Introduce a new metric of clock accuracy to penalise clocks with a good average but worse jitter compared to clocks with an average which is no better but with lower jitter. The metric is the ideal rate minus the worse deviation from that ideal using the nearest integer divisors. Use this metric for parent selection for clocks requiring low jitter (currently just PCM). Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:26 UTC |
2006379 | Phil Elwell | 26 April 2017, 16:28:47 UTC | clk: bcm2835: Limit PCM clock to OSC and PLLD_PER It is unwise to use sources other than the oscillator and PLLD_PER for the PCM peripheral (and perhaps others - TBD) because their rate can change and they may even be switched off, so explicitly restrict the choice using dummy entries in the list of potential parents (item index is significant). See: https://github.com/raspberrypi/linux/issues/1949 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:25 UTC |
e3557cd | popcornmix | 16 May 2017, 18:34:52 UTC | config: Add CONFIG_I2C_ROBOTFUZZ_OSIF | 21 July 2017, 14:30:24 UTC |
9c3f9a7 | popcornmix | 16 May 2017, 14:58:00 UTC | config: Add CONFIG_TOUCHSCREEN_EDT_FT5X06 | 21 July 2017, 14:30:24 UTC |
8128372 | popcornmix | 18 May 2017, 10:40:43 UTC | config: Add FB_TFT_ST7789V module | 21 July 2017, 14:30:23 UTC |
fb5e99a | popcornmix | 15 May 2017, 15:40:05 UTC | config: Add CONFIG_TOUCHSCREEN_GOODIX | 21 July 2017, 14:30:23 UTC |
bbdff72 | P33M | 15 May 2017, 13:51:42 UTC | dwc_otg: remove unnecessary dma-mode channel halts on disconnect interrupt Host channels are already halted in kill_urbs_in_qh_list() with the subsequent interrupt processing behaving as if the URB was dequeued via HCD callback. There's no need to clobber the host channel registers a second time as this exposes races between the driver and host channel resulting in hcd->free_hc_list becoming corrupted. | 21 July 2017, 14:30:22 UTC |
38adc2c | P33M | 15 May 2017, 13:27:48 UTC | dwc_otg: delete hcd->channel_lock The lock serves no purpose as it is only held while the HCD spinlock is already being held. | 21 July 2017, 14:30:21 UTC |
ec433ae | P33M | 12 May 2017, 11:24:00 UTC | dwc_otg: fix several potential crash sources On root port disconnect events, the host driver state is cleared and in-progress host channels are forcibly stopped. This doesn't play well with the FIQ running in the background, so: - Guard the disconnect callback with both the host spinlock and FIQ spinlock - Move qtd dereference in dwc_otg_handle_hc_fsm() after the early-out so we don't dereference a qtd that has gone away - Turn catch-all BUG()s in dwc_otg_handle_hc_fsm() into warnings. | 21 July 2017, 14:30:21 UTC |
538a327 | Phil Elwell | 11 May 2017, 15:58:16 UTC | BCM270X_DT: Tidy up mmc, sdhost, sdio overlays The mmc, sdhost, sdio and sdio-1bit overlays had a few anachronisms and oddities which were overdue for fixing. The new versions should be functionally equivalent. Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:20 UTC |
71419dd | popcornmix | 18 April 2017, 20:43:46 UTC | vc4_fkms: Apply firmware overscan offset to hardware cursor | 21 July 2017, 14:30:20 UTC |
32b2124 | popcornmix | 10 May 2017, 20:39:45 UTC | squash: vc4_firmware_kms fixups | 21 July 2017, 14:30:19 UTC |
9982c2e | Eric Anholt | 02 February 2017, 17:42:18 UTC | drm/vc4: Fix sending of page flip completion events in FKMS mode. In the rewrite of vc4_crtc.c for fkms, I dropped the part of the CRTC's atomic flush handler that moved the completion event from the proposed atomic state change to the CRTC's current state. That meant that when full screen pageflipping happened (glxgears -fullscreen in X, compton, por weston), the app would end up blocked firever waiting to draw its next frame. Signed-off-by: Eric Anholt <eric@anholt.net> | 21 July 2017, 14:30:19 UTC |
8904b89 | Eric Anholt | 02 February 2017, 01:10:09 UTC | drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of fkms. Trying to debug weston on fkms involved figuring out what calls I was making to the firmware. Signed-off-by: Eric Anholt <eric@anholt.net> | 21 July 2017, 14:30:18 UTC |
83a548e | Eric Anholt | 02 February 2017, 01:09:18 UTC | drm/vc4: Name the primary and cursor planes in fkms. This makes debugging nicer, compared to trying to remember what the IDs are. Signed-off-by: Eric Anholt <eric@anholt.net> | 21 July 2017, 14:30:18 UTC |
f90d9f6 | Eric Anholt | 14 September 2016, 07:39:33 UTC | drm/vc4: Add a mode for using the closed firmware for display. Signed-off-by: Eric Anholt <eric@anholt.net> | 21 July 2017, 14:30:17 UTC |
a3df4d5 | Nisar Sayed | 09 May 2017, 17:51:42 UTC | According to RFC 2460, IPv6 UDP calculated checksum yields a result of zero must be changed to 0xffff, however this feature is not supported by smsc95xx family hence enable csum offload only for IPv4 TCP/UDP packets. Signed-off-by: Nisar Sayed <Nisar.Sayed@microchip.com> Reported-by: popcorn mix <popcornmix@gmail.com> | 21 July 2017, 14:30:17 UTC |
83e1965 | popcornmix | 04 May 2017, 16:38:22 UTC | bcm2708_fb: Avoid firmware mbox call in vc_mem_copy If firmware has locked up it is useful to get vcdbg log out without a firmware mbox response. Issue the mbox call at probe time instead. Signed-off-by: popcornmix <popcornmix@gmail.com> | 21 July 2017, 14:30:16 UTC |
1af7487 | P33M | 04 May 2017, 11:58:11 UTC | fiq_fsm: Use correct states when starting isoc OUT transfers In fiq_fsm_start_next_periodic() if an isochronous OUT transfer was selected, no regard was given as to whether this was a single-packet transfer or a multi-packet staged transfer. For single-packet transfers, this had the effect of repeatedly sending OUT packets with bogus data and lengths. Eventually if the channel was repeatedly enabled enough times, this would lock up the OTG core and no further bus transfers would happen. Set the FSM state up properly if we select a single-packet transfer. Fixes https://github.com/raspberrypi/linux/issues/1842 | 21 July 2017, 14:30:16 UTC |
2d5be3a | popcornmix | 02 May 2017, 15:36:05 UTC | vcsm: Treat EBUSY as success rather than SIGBUS Currently if two cores access the same page concurrently one will return VM_FAULT_NOPAGE and the other VM_FAULT_SIGBUS crashing the user code. Also report when mapping fails. Signed-off-by: popcornmix <popcornmix@gmail.com> | 21 July 2017, 14:30:15 UTC |
5ab62a4 | P33M | 02 May 2017, 15:31:15 UTC | dwc_otg: fix split transaction data toggle handling around dequeues See https://github.com/raspberrypi/linux/issues/1709 Fix several issues regarding endpoint state when URBs are dequeued - If the HCD is disconnected, flush FIQ-enabled channels properly - Save the data toggle state for bulk endpoints if the last transfer from an endpoint where URBs were dequeued returned a data packet - Reset hc->start_pkt_count properly in assign_and_init_hc() | 21 July 2017, 14:30:14 UTC |
bef8fb8 | P33M | 27 April 2017, 15:24:34 UTC | dwc_otg: make nak_holdoff work as intended with empty queues If URBs reading from non-periodic split endpoints were dequeued and the last transfer from the endpoint was a NAK handshake, the resulting qh->nak_frame value was stale which would result in unnecessarily long polling intervals for the first subsequent transfer with a fresh URB. Fixup qh->nak_frame in dwc_otg_hcd_urb_dequeue and also guard against a case where a single URB is submitted to the endpoint, a NAK was received on the transfer immediately prior to receiving data and the device subsequently resubmits another URB past the qh->nak_frame interval. Fixes https://github.com/raspberrypi/linux/issues/1709 | 21 July 2017, 14:30:14 UTC |
ea1074f | Yasunari Takiguchi | 22 December 2016, 06:34:12 UTC | BCM2708: Add Raspberry Pi TV HAT Device Tree Support This is an EXAMPLE CODE of Raspberry Pi TV HAT device tree overlay. Although this is not a part of our release code, it has been used to verify CXD2880 device driver with TV HAT. Add the following line to /boot/config.txt to enable TV HAT: dtoverlay=rpi-tv Reboot Raspberry Pi and check the existance of /proc/device-tree/soc/spi@7e204000/cxd2880@0. If exists, the installation is successful. you should be able to find the following three files. /dev/dvb/adapter0/frontend0 /dev/dvb/adapter0/demux0 /dev/dvb/adapter0/dvr0 Signed-off-by: Yasunari Takiguchi <Yasunari.Takiguchi@sony.com> Signed-off-by: Masayuki Yamamoto <Masayuki.Yamamoto@sony.com> Signed-off-by: Hideki Nozawa <Hideki.Nozawa@sony.com> Signed-off-by: Kota Yonezawa <Kota.Yonezawa@sony.com> Signed-off-by: Toshihiko Matsumoto <Toshihiko.Matsumoto@sony.com> Signed-off-by: Satoshi Watanabe <Satoshi.C.Watanabe@sony.com> | 21 July 2017, 14:30:13 UTC |
4cc5ed6 | Yasunari Takiguchi | 14 April 2017, 09:43:57 UTC | This is the driver for Sony CXD2880 DVB-T2/T tuner + demodulator. It includes the CXD2880 driver and the CXD2880 SPI adapter. The current CXD2880 driver version is 1.4.1 - 1.0.1 released on April 13, 2017. Signed-off-by: Yasunari Takiguchi <Yasunari.Takiguchi@sony.com> Signed-off-by: Masayuki Yamamoto <Masayuki.Yamamoto@sony.com> Signed-off-by: Hideki Nozawa <Hideki.Nozawa@sony.com> Signed-off-by: Kota Yonezawa <Kota.Yonezawa@sony.com> Signed-off-by: Toshihiko Matsumoto <Toshihiko.Matsumoto@sony.com> Signed-off-by: Satoshi Watanabe <Satoshi.C.Watanabe@sony.com> | 21 July 2017, 14:30:13 UTC |
744ba40 | BabuSubashChandar | 31 March 2017, 19:16:52 UTC | Add clock changes and mute gpios (#1938) Also improve code style and adhere to ALSA coding conventions. Signed-off-by: Baswaraj K <jaikumar@cem-solutions.net> Reviewed-by: Vijay Kumar B. <vijaykumar@zilogic.com> Reviewed-by: Raashid Muhammed <raashidmuhammed@zilogic.com> | 21 July 2017, 14:30:12 UTC |
223866f | BabuSubashChandar C | 30 March 2017, 14:47:27 UTC | Add support for new clock rate and mute gpios. Signed-off-by: Baswaraj K <jaikumar@cem-solutions.net> Reviewed-by: Deepak <deepak@zilogic.com> Reviewed-by: BabuSubashChandar <babusubashchandar@zilogic.com> | 21 July 2017, 14:30:12 UTC |
b25036f | BabuSubashChandar | 28 March 2017, 14:34:42 UTC | Add support for Allo Boss DAC add-on board for Raspberry Pi. (#1924) Signed-off-by: Baswaraj K <jaikumar@cem-solutions.net> Reviewed-by: Deepak <deepak@zilogic.com> Reviewed-by: BabuSubashChandar <babusubashchandar@zilogic.com> | 21 July 2017, 14:30:11 UTC |
79f0d4d | Raashid Muhammed | 27 March 2017, 07:05:00 UTC | Add support for Allo Piano DAC 2.1 plus add-on board for Raspberry Pi. The Piano DAC 2.1 has support for 4 channels with subwoofer. Signed-off-by: Baswaraj K <jaikumar@cem-solutions.net> Reviewed-by: Vijay Kumar B. <vijaykumar@zilogic.com> Reviewed-by: Raashid Muhammed <raashidmuhammed@zilogic.com> | 21 July 2017, 14:30:11 UTC |
20d83f4 | Peter Malkin | 27 March 2017, 23:38:21 UTC | Driver support for Google voiceHAT soundcard. | 21 July 2017, 14:30:10 UTC |
c797f2d | Matt Flax | 27 March 2017, 11:26:49 UTC | AudioInjector Octo: sample rates, regulators, reset This patch adds new sample rates to the Audioinjector Octo sound card. The new supported rates are (in kHz) : 96, 48, 32, 24, 16, 8, 88.2, 44.1, 29.4, 22.05, 14.7 Reference the bcm270x DT regulators in the overlay. This patch adds a reset GPIO for the AudioInjector.net octo sound card. | 21 July 2017, 14:30:09 UTC |
5696ef2 | popcornmix | 29 March 2017, 16:41:04 UTC | config: Add back MMC_BCM2835_DMA | 21 July 2017, 14:30:09 UTC |
4a423e7 | Phil Elwell | 28 March 2017, 16:41:30 UTC | leds-gpio: Remove stray assignment to brightness_set The brightness_set method is intended for use cases that must not block, and can only be used if the GPIO provider can never sleep. Remove an accidental initialisation (a copy-and-paste error) that sets it regardless, which has been seen to cause crashes with the gpio expander driver. Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:08 UTC |
38340e4 | Phil Elwell | 28 March 2017, 13:22:20 UTC | BCM270X_DT: Allow multiple instances of w1-gpio overlays Upcoming firmware will modify the address portion of node names when their "reg" property is written by a dtparam. Modify the w1-gpio overlays to write the gpiopin parameter value to "reg" properties, so that multiple instances can be loaded simultaneously. Note: The value of the "address" is unimportant - the w1 subsystem assigns instance numbers to buses sequentially from 1, and it is not necessary to know which bus a device is on in order to find it. | 21 July 2017, 14:30:08 UTC |
41b3e08 | Phil Elwell | 14 March 2017, 09:10:05 UTC | BCM270X_DT: Add lm75 to i2c-sensor overlay See: https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=177236 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:07 UTC |
529aaf8 | John Greb | 08 March 2017, 15:12:29 UTC | Match dwc2 device-tree fifo sizes to the hardware values. Since commit aa381a7259c3f53727bcaa8c5f9359e940a0e3fd was reverted with 3fa9538539ac737096c81f3315a14670b1609092 the g-tx-fifo-size array in the device-tree needs to match the preset values in the bcm2835. Resolves https://github.com/raspberrypi/linux/issues/1876 | 21 July 2017, 14:30:07 UTC |
8d98007 | Phil Elwell | 13 March 2017, 12:30:37 UTC | thermal: Compatible strings for bcm2836, bcm2837 The upstream dt-bindings documentation for bcm2835-thermal (which exists even though the driver isn't upstreamed) says to use dedicated compatible strings on bcm2836 and bcm2837, even though the downstream driver doesn't support them. The Pi2 DTB uses "brcm,bcm2836-thermal", so the driver doesn't load. The Pi3 DTB doesn't override the base value, but the arm64 Pi3 support uses "brcm,bcm2837-thermal". Solve the documentation problem by adding "brcm,bcm2836-thermal" and "brcm,bcm2837-thermal" as alternative compatible strings for the bcm2835-thermal driver. Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:06 UTC |
940f718 | Phil Elwell | 29 March 2017, 15:08:29 UTC | bcm2835-sdhost: mmc_card_blockaddr fix Get the definition of mmc_card_blockaddr from drivers/mmc/core/card.h. Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:06 UTC |
52c4b18 | Phil Elwell | 11 May 2016, 11:50:33 UTC | mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards Some SD cards have been found that corrupt data when small blocks are erased. Add a quirk to indicate that ERASE should not be used, and set it for cards of that type. Signed-off-by: Phil Elwell <phil@raspberrypi.org> mmc: Apply QUIRK_BROKEN_ERASE to other capacities Signed-off-by: Phil Elwell <phil@raspberrypi.org> mmc: Add card_quirks module parameter, log quirks Use mmc_block.card_quirks to override the quirks for all SD or MMC cards. The value is a bitfield using the bit positions defined in include/linux/mmc/card.h. If the module parameter is placed in the kernel command line (or bootargs) stored on the card then, assuming the device only has one SD card interface, the override effectively becomes card-specific. Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:05 UTC |
2f41c26 | Phil Elwell | 29 March 2017, 13:28:53 UTC | config: Re-enable the bcm2835-mmc driver With the patch to assign mmc device IDs based on DT aliases and appropriate aliases in the rpi DTBs, it is now safe to re-enable the bcm2835-mmc driver. Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:05 UTC |
86ff931 | Phil Elwell | 29 March 2017, 13:30:42 UTC | BCM270X_DT: Add numbered aliases for SD/MMC devices In order to force a specific ID assignment to SD/MMC devices, add numbered aliases to the DT: sdhost -> mmc0, mmc -> mmc1 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:04 UTC |
4575781 | Stefan Agner | 29 April 2016, 17:32:17 UTC | mmc: read mmc alias from device tree To get the SD/MMC host device ID, read the alias from the device tree. This is useful in case a SoC has multipe SD/MMC host controllers while the second controller should logically be the first device (e.g. if the second controller is connected to an internal eMMC). Combined with block device numbering using MMC/SD host device ID, this results in predictable name assignment of the internal eMMC block device. Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Dmitry Torokhov <dtor@chromium.org> [dianders: rebase + roll in http://crosreview.com/259916] Signed-off-by: Douglas Anderson <dianders@chromium.org> | 21 July 2017, 14:30:03 UTC |
b24e557 | Phil Elwell | 27 March 2017, 16:40:45 UTC | mkknlimg: Find some more downstream-only strings See: https://github.com/raspberrypi/linux/issues/1920 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:03 UTC |
581ebb3 | Phil Elwell | 23 March 2017, 17:08:44 UTC | BCM270X_DT: Enable AUX interrupt controller in DT See: https://github.com/raspberrypi/linux/issues/1484 https://github.com/raspberrypi/linux/issues/1573 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:02 UTC |
20699c2 | Phil Elwell | 23 March 2017, 16:34:46 UTC | bcm2835-aux: Add aux interrupt controller The AUX block has a shared interrupt line with a register indicating which devices have active IRQs. Expose this as a nested interrupt controller to avoid sharing problems. See: https://github.com/raspberrypi/linux/issues/1484 https://github.com/raspberrypi/linux/issues/1573 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:02 UTC |
9d6d67c | Phil Elwell | 23 March 2017, 10:06:56 UTC | ASoC: Add prompt for ICS43432 codec Without a prompt string, a config setting can't be included in a defconfig. Give CONFIG_SND_SOC_ICS43432 a prompt so that Pi soundcards can use the driver. Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:01 UTC |
4491d29 | Phil Elwell | 17 March 2017, 12:24:41 UTC | config: Make spidev a loadable module spidev isn't required early in the boot process, and not all users need it (spi_bcm2835 is a module), so make it a loadable module. See: https://github.com/raspberrypi/linux/issues/1897 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 21 July 2017, 14:30:01 UTC |
5af260d | popcornmix | 17 March 2017, 13:40:41 UTC | config: disable MMC driver temporarily for now. Currently causes a breakage to sdhost driver. However when MMC is disabled Pi3 wifi will not work | 21 July 2017, 14:30:00 UTC |
18cb72f | Dave Stevenson | 14 March 2017, 14:23:06 UTC | bcm2835-gpio-exp: Copy/paste error adding base twice brcmexp_gpio_set was adding gpio->gc.base to the offset twice, so passing an invalid number to the mailbox service. The firmware treated it modulo-8 anyway, but was logging an assert every time. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 21 July 2017, 14:30:00 UTC |
b17ef8a | Dave Stevenson | 07 March 2017, 12:18:20 UTC | BCM270X_DT: Invert Pi3 power LED to match fw change Firmware expgpio driver reworked due to complaint over hotplug detect. Requires power LED to change sense as firmware is no longer inverting the read value. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 21 July 2017, 14:29:59 UTC |
0ab43d7 | Phil Elwell | 24 February 2015, 13:40:50 UTC | pinctrl-bcm2835: Fix interrupt handling for GPIOs 28-31 and 46-53 Contrary to the documentation, the BCM2835 GPIO controller actually has four interrupt lines - one each for the three IRQ groups and one common. Rather confusingly, the GPIO interrupt groups don't correspond directly with the GPIO control banks. Instead, GPIOs 0-27 generate IRQ GPIO0, 28-45 GPIO1 and 46-53 GPIO2. Awkwardly, the GPIOS for IRQ GPIO1 straddle two 32-entry GPIO banks, so it is cleaner to split out a function to process the interrupts for a single GPIO bank. This bug has only just been observed because GPIOs above 27 can only be accessed on an old Raspberry Pi with the optional P5 header fitted, where the pins are often used for I2S instead. | 21 July 2017, 14:29:59 UTC |
f5abd50 | Eric Anholt | 10 May 2016, 00:28:18 UTC | clk: bcm2835: Mark GPIO clocks enabled at boot as critical. These divide off of PLLD_PER and are used for the ethernet and wifi PHYs source PLLs. Neither of them is currently represented by a phy device that would grab the clock for us. This keeps other drivers from killing the networking PHYs when they disable their own clocks and trigger PLLD_PER's refcount going to 0. v2: Skip marking as critical if they aren't on at boot. Signed-off-by: Eric Anholt <eric@anholt.net> | 21 July 2017, 14:29:58 UTC |
67674d8 | Khem Raj | 11 February 2017, 01:57:08 UTC | build/arm64: Add rules for .dtbo files for dts overlays We now create overlays as .dtbo files. Signed-off-by: Khem Raj <raj.khem@gmail.com> | 21 July 2017, 14:29:58 UTC |
085f3cb | Michael Zoran | 11 February 2017, 09:18:31 UTC | ARM64: Force hardware emulation of deprecated instructions. | 21 July 2017, 14:29:57 UTC |
e6b06f4 | Michael Zoran | 15 January 2017, 05:45:03 UTC | ARM64: Enable DWC_OTG Driver In ARM64 Build Config(bcmrpi3_defconfig) Signed-off-by: Michael Zoran <mzoran@crowfest.net> | 21 July 2017, 14:29:57 UTC |
d230a37 | Michael Zoran | 15 January 2017, 05:43:57 UTC | ARM64: Round-Robin dispatch IRQs between CPUs. IRQ-CPU mapping is round robined on ARM64 to increase concurrency and allow multiple interrupts to be serviced at a time. This reduces the need for FIQ. Signed-off-by: Michael Zoran <mzoran@crowfest.net> | 21 July 2017, 14:29:56 UTC |