- Sep 13, 2019
-
-
Maxime Ripard authored
commit e08ab74b upstream. Rewrite the command line parser in order to get away from the state machine parsing the video mode lines. Hopefully, this will allow to extend it more easily to support named modes and / or properties set directly on the command line. Reviewed-by: Noralf Trønnes <noralf@tronnes.org> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Link: https://patchwork.freedesktop.org/patch/msgid/e32cd4009153b184103554009135c7bf7c9975d7.1560783090.git-series.maxime.ripard@bootlin.com
-
Maxime Ripard authored
commit 772cd52c upstream. The struct drm_cmdline_mode holds the result of the command line parsers. However, it wasn't documented so far, so let's do that. Reviewed-by: Noralf Trønnes <noralf@tronnes.org> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Link: https://patchwork.freedesktop.org/patch/msgid/963c893c16c6a25fc469b53c726f493d99bdc578.1560783090.git-series.maxime.ripard@bootlin.com
-
Dave Stevenson authored
Some HDMI monitors do not abide by the full or limited (16-235) range RGB flags in the AVI infoframe. This can result in images looking washed out (if given limited and interpreting as full), or detail disappearing at the extremes (given full and interpreting as limited). Copy the Intel i915 driver's approach of adding an override property ("Broadcast RGB") to force one mode or the other. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
-
Jonathan Bell authored
These wireless mouse/keyboard combo remote control devices specify multiple "wheel" events in their report descriptors. The wheel events are incorrectly defined and apparently map to accelerometer data, leading to spurious mouse scroll events being generated at an extreme rate when the device is moved. As a workaround, use HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE to mask feeding the extra wheel events to the input subsystem. See: https://github.com/raspberrypi/firmware/issues/1189 Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
-
Phil Elwell authored
Provide transitional support for the previous names of the character devices. Signed-off-by: Phil Elwell <phil@raspberrypi.org>
-
Phil Elwell authored
Replace the old code name with a more appropriate name - RPiVid. Signed-off-by: Phil Elwell <phil@raspberrypi.org>
-
James Hughes authored
If an errant interrupt flag was received from a non-existent display, a NULL pointer access was made. Protect against this by checking if a second display is present prior to checking the interrupt flags.
-
Phil Elwell authored
Some boards take longer than 5ms to power up after a reset, so allow a few retry attempts before giving up. See: https://github.com/raspberrypi/linux/issues/2767 Signed-off-by: Phil Elwell <phil@raspberrypi.org>
-
Phil Elwell authored
The recent vc4-kms-v3d commit has changed the content of the upstream overlay (even though the extra fragment is disabled). Signed-off-by: Phil Elwell <phil@raspberrypi.org>
-
Phil Elwell authored
The audio parameter to the vc4-kms-v3d overlay allows audio support to be disabled (it defaults to on) by adding "audio=off" to the dtoverlay parameters. See: https://github.com/raspberrypi/linux/issues/2489 Signed-off-by: Phil Elwell <phil@raspberrypi.org>
-
Phil Elwell authored
Overlays are unable to remove properties in the base DTB, but they can overwrite them. Allow a present but empty 'dmas' property to also disable the HDMI audio interface. See: https://github.com/raspberrypi/linux/issues/2489 Signed-off-by: Phil Elwell <phil@raspberrypi.org>
-
allo-com authored
Update Katana minimum volume to get the exact 0.5 dB value in each step. Signed-off-by: Sudeep Kumar <sudeepkumar@cem-solutions.net>
-
Joerg Schambacher authored
This adds the driver for the DAC+ADC PRO version of the Hifiberry soundcard with software controlled PCM1863 ADC Signed-off-by: Joerg Schambacher <joerg@i2audio.com>
-
Jonathan Bell authored
The GIC has a virtual interface maintenance interrupt and the PMU interrupts need affinity mappings as they are wired to generic SPIs. Also, delete incorrect PMU compatible string. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
-
Dave Stevenson authored
The compiler is warning that default_zpos can be used uninitialised as there is no default case to catch all plane types. No other plane types should ever be presented to vc4_fkms_plane_init, but add a default case regardless. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
-
Dave Stevenson authored
Allows for overscan to be configured under FKMS. NB This is rescaling the planes, not reducing the size of the display mode. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
-
Boris Brezillon authored
Commit db999538 upstream. Now that the plane code takes the margins setup into account, we can safely attach margin props to the HDMI connector. We also take care of filling AVI infoframes correctly to expose the top/botton/left/right bar. Note that those margin props match pretty well the overscan_{left,right,top,bottom} properties defined in config.txt and parsed by the VC4 firmware. Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> Reviewed-by: Eric Anholt <eric@anholt.net> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20181206142439.10441-6-boris.brezillon@bootlin.com
-
Boris Brezillon authored
Commit 666e7358 upstream. Applyin margins is just a matter of scaling all planes appropriately and adjusting the CRTC X/Y offset to account for the left/right/top/bottom borders. Create a vc4_plane_margins_adj() function doing that and call it from vc4_plane_setup_clipping_and_scaling() so that we are ready to attach margins properties to the HDMI connector. Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> Reviewed-by: Eric Anholt <eric@anholt.net> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20181206142439.10441-5-boris.brezillon@bootlin.com
-
Boris Brezillon authored
Commit 6c4f52dc upstream. TV margins properties can only be added as part of the SDTV TV connector properties creation, but we might need those props for HDMI TVs too, so let's move the margins props creation in a separate function and expose it to drivers. We also add an helper to attach margins props to a connector. Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> Reviewed-by: Eric Anholt <eric@anholt.net> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20181206142439.10441-4-boris.brezillon@bootlin.com
-
Boris Brezillon authored
Commit 56406e15 upstream. All margins are expressed in pixels. Clarify that in the doc. Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> Reviewed-by: Eric Anholt <eric@anholt.net> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20181206142439.10441-3-boris.brezillon@bootlin.com
-
Boris Brezillon authored
Commit eda6887f upstream. The in the kernel-doc header did not match the function name. Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> Reviewed-by: Eric Anholt <eric@anholt.net> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20181206142439.10441-2-boris.brezillon@bootlin.com
-
Phil Elwell authored
PWM audio can also be used on GPIOs 18 and 19, so add the pins_18_19 parameter to select that location. pins_12_13 explicitly chooses GPIOs 12 and 13, although this is the default behaviour so is there only for completeness. See: https://github.com/raspberrypi/firmware/issues/1178 Signed-off-by: Phil Elwell <phil@raspberrypi.org>
-
Dave Stevenson authored
More for completeness than need, but use drm_mode_vrefresh to compute the vrefresh value, and pass that down to the firmware on mode set. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
-
Dave Stevenson authored
Allow custom HDMI modes to be specified from config.txt, and these then override EDID parsing. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
-
yaroslavros authored
Ported pcie-brcmstb bounce buffer implementation to ARM64. This enables full 4G RAM usage on Raspberry Pi in 64-bit mode. Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
-
- Jul 19, 2019
-
-
Jonathan Bell authored
PCIe advanced error reporting is supported by the root complex, so make use of it. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
-
Aapo Vienamo authored
Signed-off-by: Aapo Vienamo <aapo.vienamo@iki.fi>
-
Andrei Gherzan authored
On RaspberryPi, only the first 1Gb can be used for DMA[1]. [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2019-July/665986.html Signed-off-by: Andrei Gherzan <andrei@balena.io>
-
Giedrius authored
-
Phil Elwell authored
The new i2c overlays for pi4 (i2c3, i2c4, i2c5, i2c6) have a standardised interface that allows pin groups to be chosen atomically rather than as individual pins. Add i2c0 and i2c1 overlays to fit the naming scheme and parameter usage, deprecating i2c0-bcm2708 and i2c1-bcm2708. Signed-off-by: Phil Elwell <phil@raspberrypi.org>
-
Phil Elwell authored
The dpi overlays use the fb device tree node as a place to hang the necessary pinctrl changes. With one of the VC4 overlays loaded, the fb node is disabled so the changes have no effect. Modify the overlays to also use the vc4 node, to cover both use cases. Signed-off-by: Phil Elwell <phil@raspberrypi.org>
-
Allen Wild authored
The Raspberry Pi 4 uses the brcmstb thermal driver rather than brcm2835, based on the device tree compatible string 'brcm,avs-tmon-bcm2838'. With CONFIG_BRCMSTB_THERMAL enabled, reading temperature from /sys/class/thermal/thermal_zone0/temp works as expected instead of returning EINVAL. Fixes: https://github.com/raspberrypi/linux/issues/3071 Signed-off-by: Allen Wild <allenwild93@gmail.com>
-
Phil Elwell authored
Add support for the PCF2129 RTC to i2c-rtc and i2c-rtc-gpio overlays. Also add rv3028 to i2c-rtc-gpio (it was missed previously), and don't attempt to set an alternate address for the PCF2127. Signed-off-by: Phil Elwell <phil@raspberrypi.org>
-
Eric Anholt authored
commit 7a9b6be9 upstream. When adding the MFD dependency for power domains and WDT in bcm2835, I added it only on the arm32 side and missed it for arm64. Fixes: 5e6acc3e ("bcm2835-pm: Move bcm2835-watchdog's DT probe to an MFD.") Signed-off-by: Eric Anholt <eric@anholt.net> Reported-by: Stefan Wahren <stefan.wahren@i2se.com> Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
-
Phil Elwell authored
The BCM2835 I2C blocks have a register to set the clock-stretch timeout - how long the device is allowed to hold SCL low - in bus cycles. The current driver doesn't write to the register, therefore the default value of 64 cycles is being used for all devices. Set the timeout to the value recommended for SMBus - 35ms. See: https://github.com/raspberrypi/linux/issues/3064 Signed-off-by: Phil Elwell <phil@raspberrypi.org>
-
Jonathan Bell authored
Seen on a VLI VL805 PCIe to USB controller. For non-stream endpoints at least, if the xHC halts on a particular TRB due to an error then the DCS field in the Out Endpoint Context maintained by the hardware is not updated with the current cycle state. Using the quirk XHCI_EP_CTX_BROKEN_DCS and instead fetch the DCS bit from the TRB that the xHC stopped on. See: https://github.com/raspberrypi/linux/issues/3060 Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
-
Phil Elwell authored
pl011_tx_chars takes a "from_irq" parameter to reduce the number of register accesses. When from_irq is true the function assumes that the FIFO is half empty and writes up to half a FIFO's worth of bytes without polling the FIFO status register, the reasoning being that the function is being called as a result of the TX interrupt being raised. This logic would work were it not for the fact that pl011_rx_chars, called from pl011_int before pl011_tx_chars, releases the spinlock before calling tty_flip_buffer_push. A user thread writing to the UART claims the spinlock and ultimately calls pl011_tx_chars with from_irq set to false. This reverts to the older logic that polls the FIFO status register before sending every byte. If this happen on an SMP system during the section of the IRQ handler where the spinlock has been released, then by the time the TX interrupt handler is called, the FIFO may already be full, and any further writes are likely to be lost. The fix involves adding a per-port flag that is true iff running from within the interrupt handler and the spinlock has not yet been released. This flag is then used as the value for the from_irq parameter of pl011_tx_chars, causing polling to be used in the unsafe case. Fixes: 1e84d223 ("serial/amba-pl011: Refactor and simplify TX FIFO handling") Signed-off-by: Phil Elwell <phil@raspberrypi.org>
-
Phil Elwell authored
The "bus" parameter has two functions - providing unique names for multiple instances of the overlay, and allowing the number of the bus (i.e. "i2c-<bus>") to be specified. The second function hasn't worked as intended because the overlay doesn't include a "reg" property and the firmware intentionally won't create a "reg" property if one doesn't already exist. Allow the bus numbering scheme to work as intended by providing a "reg" with a default value that means "the next available one". See: https://github.com/raspberrypi/linux/issues/3062 Signed-off-by: Phil Elwell <phil@raspberrypi.org>
-
Annaliese McDermond authored
Commit 9de93b04 upstream. Probe function fails to recognize that upstream clock actually doesn't yet exist because clock driver has not been initialized. Actually try to go get the clock and test for its existence before trying to set up a downstream clock based upon it. This fixes a bug that causes the i2c driver not to work with monolithic kernels. Fixes: bebff81f ("i2c: bcm2835: Model Divider in CCF") Signed-off-by: Annaliese McDermond <nh6z@nh6z.net> Acked-by: Stefan Wahren <wahrenst@gmx.net> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
-
Annaliese McDermond authored
Commit 4a5cfa39 upstream. If any of the clock code in the probe fails and returns, the IRQ will not be freed. Moving the IRQ request to last allows it to be freed on any errors further up in the probe function. devm_ calls can apparently not be used because there are some potential race conditions that will arise. Fixes: bebff81f ("i2c: bcm2835: Model Divider in CCF") Signed-off-by: Annaliese McDermond <nh6z@nh6z.net> Acked-by: Stefan Wahren <wahrenst@gmx.net> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
-