061dccc | Phil Elwell | 11 January 2017, 13:01:21 UTC | BCM270X_DT: Add pi3-disable-wifi overlay pi3-disable-wifi is a minimal overlay to disable the onboard WiFi. Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 11 January 2017, 15:22:37 UTC |
ad9bae6 | Giedrius Trainavicius | 05 January 2017, 00:38:16 UTC | pisound improvements: * Added a writable sysfs object to enable scripts / user space software to blink MIDI activity LEDs for variable duration. * Improved hw_param constraints setting. * Added compatibility with S16_LE sample format. * Exposed some simple placeholder volume controls, so the card appears in volumealsa widget. Signed-off-by: Giedrius Trainavicius <giedrius@blokas.io> | 08 January 2017, 11:42:15 UTC |
02d7b76 | Phil Elwell | 03 January 2017, 21:27:46 UTC | Document the si7020 option | 08 January 2017, 11:42:14 UTC |
271ab04 | Alex Tucker | 13 December 2016, 19:50:18 UTC | Add support for Silicon Labs Si7013/20/21 humidity/temperature sensor. | 08 January 2017, 11:42:13 UTC |
c013faf | popcornmix | 06 December 2016, 17:05:39 UTC | bcm2835-rng: Avoid initialising if already enabled Avoids the 0x40000 cycles of warmup again if firmware has already used it | 08 January 2017, 11:42:12 UTC |
0cbb49a | Ioan-Adrian Ratiu | 27 September 2016, 18:41:37 UTC | Revert "HID: dragonrise: fix HID Descriptor for 0x0006 PID" [ Upstream commit 1bcaa05ebee115213e34f1806cc6a4f7a6175a88 ] This reverts commit 18339f59c3a6 ("HID: dragonrise: fix HID...") because it breaks certain dragonrise 0079:0006 gamepads. While it may fix a breakage caused by commit 79346d620e9d ("HID: input: force generic axis to be mapped to their user space axis"), it is probable that the manufacturer released different hardware with the same PID so this fix works for only a subset and breaks the other gamepads sharing the PID. What is needed is another more generic solution which fixes 79346d620e9d ("HID: input: force generic axis ...") breakage for this controller: we need to add an exception for this driver to make it keep the old behaviour previous to the initial breakage (this is done in patch 2 of this series). Signed-off-by: Ioan-Adrian Ratiu <adi@adirat.com> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> | 08 January 2017, 11:42:11 UTC |
c630929 | Georgii Staroselskii | 07 December 2016, 12:10:27 UTC | BCM270X_DT: overlays/*-overlay.dtb -> overlays/*.dtbo (#1752) We now create overlays as .dtbo files. | 08 January 2017, 11:42:10 UTC |
cec40bb | Phil Elwell | 05 December 2016, 17:10:44 UTC | BCM270X_DT: Add i2c-sensor overlay The i2c-sensor overlay is a container for various pressure and temperature sensors, currently bmp085 and bmp280. The standalone bmp085_i2c-sensor overlay is now deprecated. Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 08 January 2017, 11:42:09 UTC |
e918b20 | popcornmix | 06 December 2016, 18:54:24 UTC | config: fixup | 08 January 2017, 11:42:08 UTC |
41a1a82 | Jonas Pfeil | 07 November 2016, 23:18:39 UTC | drm/vc4: Add fragment shader threading support FS threading brings performance improvements of 0-20% in glmark2. The validation code checks for thread switch signals and ensures that the registers of the other thread are not touched, and that our clamps are not live across thread switches. It also checks that the threading and branching instructions do not interfere. (Original patch by Jonas, changes by anholt for style cleanup, removing validation the kernel doesn't need to do, and adding the flag for userspace). v2: Minor style fixes from checkpatch. Signed-off-by: Jonas Pfeil <pfeiljonas@gmx.de> Signed-off-by: Eric Anholt <eric@anholt.net> (cherry picked from commit c778cc5df944291dcdb1ca7a6bb781fbc22550c5) | 08 January 2017, 11:42:07 UTC |
0a4e3e8 | Eric Anholt | 04 November 2016, 22:58:38 UTC | drm/vc4: Use runtime autosuspend to avoid thrashing V3D power state. The pm_runtime_put() we were using immediately released power on the device, which meant that we were generally turning the device off and on once per frame. In many profiles I've looked at, that added up to about 1% of CPU time, but this could get worse in the case of frequent rendering and readback (as may happen in X rendering). By keeping the device on until we've been idle for a couple of frames, we drop the overhead of runtime PM down to sub-.1%. Signed-off-by: Eric Anholt <eric@anholt.net> (cherry picked from commit 3a62234680d86efa0239665ed8a0e908f1aef147) | 08 January 2017, 11:42:06 UTC |
12e9f2d | Eric Anholt | 04 November 2016, 01:53:10 UTC | drm/vc4: Add support for rendering with ETC1 textures. The validation for it ends up being quite simple, but I hadn't got around to it before merging the driver. For backwards compatibility, we also need to add a flag so that the userspace GL driver can easily tell if the kernel will allow ETC1 textures (on an old kernel, it will continue to convert to RGBA8) Signed-off-by: Eric Anholt <eric@anholt.net> (cherry picked from commit 7154d76fedf549607afbc0d13db9aaf02da5cebf) | 08 January 2017, 11:42:05 UTC |
9a96575 | Eric Anholt | 20 October 2016, 23:48:12 UTC | drm/vc4: Fix termination of the initial scan for branch targets. The loop is scanning until the original max_ip (size of the BO), but we want to not examine any code after the PROG_END's delay slots. There was a block trying to do that, except that we had some early continue statements if the signal wasn't a PROG_END or a BRANCH. The failure mode would be that a valid shader is rejected because some undefined memory after the PROG_END slots is parsed as a branch and the rest of its setup is illegal. I haven't seen this in the wild, but valgrind was complaining when about this up in the userland simulator mode. Signed-off-by: Eric Anholt <eric@anholt.net> (cherry picked from commit 457e67a728696c4f8e6423c64e93def50530db9a) | 08 January 2017, 11:42:05 UTC |
2229784 | Dan Carpenter | 13 October 2016, 08:54:31 UTC | drm/vc4: Fix a couple error codes in vc4_cl_lookup_bos() If the allocation fails the current code returns success. If copy_from_user() fails it returns the number of bytes remaining instead of -EFAULT. Fixes: d5b1a78a772f ("drm/vc4: Add support for drawing 3D frames.") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Eric Anholt <eric@anholt.net> (cherry picked from commit b2cdeb19f16ad984eb5bb9193f793d05a8101511) | 08 January 2017, 11:42:04 UTC |
2cda828 | Eric Anholt | 14 September 2016, 07:52:26 UTC | BCM270X: Add an overlay for enabling the vc4 driver in firmware-KMS mode. This gets us normal 3D support on top of the existing firmware display stack. There's no real modesetting support, no async pageflips (hurting performance), etc., but it means that the desktop can at least run until we get full native modesetting. Signed-off-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:42:03 UTC |
291921a | Daniel Vetter | 10 August 2016, 16:52:34 UTC | drm/fb-helper: Add a dummy remove_conflicting_framebuffers Lots of drivers don't properly compile without this when CONFIG_FB=n. It's kinda a hack, but since CONFIG_FB doesn't stub any fucntions when it's disabled I think it makes sense to add it to drm_fb_helper.h. Long term we probably need to rethink all the logic to unload firmware framebuffer drivers, at least if we want to be able to move away from CONFIG_FB and fbcon. v2: Unfortunately just stubbing out remove_conflicting_framebuffers in drm_fb_helper.h upset gcc about static vs. non-static declarations, so a new wrapper it needs to be. Means more churn :( Cc: Tobias Jakobi <tjakobi@math.uni-bielefeld.de> Cc: Noralf Trønnes <noralf@tronnes.org> Cc: tomi.valkeinen@ti.com Cc: dh.herrmann@gmail.com Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1470847958-28465-2-git-send-email-daniel.vetter@ffwll.ch | 08 January 2017, 11:42:02 UTC |
245dafe | 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> | 08 January 2017, 11:42:01 UTC |
930d519 | Eric Anholt | 29 September 2016, 22:34:44 UTC | drm/vc4: Add support for double-clocked modes. Now that we have infoframes to report the pixel repeat flag, we can start using it. Fixes locking the 720x480i and 720x576i modes on my Dell 2408WFP. Like the 1920x1080i case, they don't fit properly on the screen, though. Signed-off-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:42:00 UTC |
4e3c762 | Eric Anholt | 29 September 2016, 22:34:43 UTC | drm/vc4: Set up the AVI and SPD infoframes. Fixes a purple bar on the left side of the screen with my Dell 2408WFP. It will also be required for supporting the double-clocked video modes. Signed-off-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:59 UTC |
01b8f70 | Eric Anholt | 29 September 2016, 00:30:25 UTC | drm/vc4: Fix support for interlaced modes on HDMI. We really do need to be using the halved V fields. I had been confused by the code I was using as a reference because it stored halved vsync fields but not halved vdisplay, so it looked like I only needed to divide vdisplay by 2. This reverts part of Mario's timestamping fixes that prevented CRTC_HALVE_V from applying, and instead adjusts the timestamping code to not use the crtc field in that case. Fixes locking of 1920x1080x60i on my Dell 2408WFP. There are black bars on the top and bottom, but I suspect that might be an under/overscan flags problem as opposed to video timings. Signed-off-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:58 UTC |
5aed627 | Eric Anholt | 29 September 2016, 00:21:05 UTC | drm/vc4: Increase timeout for HDMI_SCHEDULER_CONTROL changes. Fixes occasional debug spew at boot when connected directly through HDMI, and probably confusing the HDMI state machine when we go trying to poke registers for the enable sequence too soon. Signed-off-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:57 UTC |
ed7f5cb | Eric Anholt | 14 September 2016, 18:21:29 UTC | drm/vc4: Fall back to using an EDID probe in the absence of a GPIO. On Pi0/1/2, we use an external GPIO line for hotplug detection, since the HDMI_HOTPLUG register isn't connected to anything. However, with the Pi3 the HPD GPIO line has moved off to a GPIO expander that will be tricky to get to (the firmware is constantly polling the expander using i2c0, so we'll need to coordinate with it). As a stop-gap, if we don't have a GPIO line, use an EDID probe to detect connection. Fixes HDMI display on the pi3. Signed-off-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:56 UTC |
6a63898 | Eric Anholt | 16 September 2016, 09:59:45 UTC | drm/vc4: Enable limited range RGB output on HDMI with CEA modes. Fixes broken grayscale ramps on many HDMI monitors, where large areas at the ends of the ramp would all appear as black or white. Signed-off-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:55 UTC |
9234bfa | Masahiro Yamada | 12 September 2016, 18:35:20 UTC | drm/vc4: cleanup with list_first_entry_or_null() The combo of list_empty() check and return list_first_entry() can be replaced with list_first_entry_or_null(). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:54 UTC |
2dfacb6 | Tom Gundersen | 21 September 2016, 14:59:19 UTC | drm: Don't swallow error codes in drm_dev_alloc() There are many reasons other than ENOMEM that drm_dev_init() can fail. Return ERR_PTR rather than NULL to be able to distinguish these in the caller. Signed-off-by: Tom Gundersen <teg@jklm.no> Signed-off-by: Sean Paul <seanpaul@chromium.org> Link: http://patchwork.freedesktop.org/patch/msgid/20160921145919.13754-2-teg@jklm.no | 08 January 2017, 11:41:53 UTC |
d2574eb | Liu Ying | 29 August 2016, 09:12:03 UTC | drm/atomic-helper: Add NO_DISABLE_AFTER_MODESET flag support for plane commit Drivers may set the NO_DISABLE_AFTER_MODESET flag in the 'flags' parameter of the helper drm_atomic_helper_commit_planes() if the relevant display controllers(e.g., IPUv3 for imx-drm) require to disable a CRTC's planes when the CRTC is disabled. The helper would skip the ->atomic_disable call for a plane if the CRTC of the old plane state needs a modesetting operation. Of course, the drivers need to disable the planes in their CRTC disable callbacks since no one else would do that. Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Philipp Zabel <p.zabel@pengutronix.de> Cc: David Airlie <airlied@linux.ie> Cc: Russell King <linux@armlinux.org.uk> Cc: Peter Senna Tschudin <peter.senna@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Liu Ying <gnuiyl@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1472461923-14364-1-git-send-email-gnuiyl@gmail.com | 08 January 2017, 11:41:52 UTC |
4894e91 | Eric Anholt | 03 August 2016, 00:17:52 UTC | drm/vc4: Don't force new binner overflow allocation per draw. This came from the initial bringup code, which always idled the GPU and always reset the overflow. That massively increases the size of the working set when you're doing lots of small draws, though, as is common on X desktops or piglit. Signed-off-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:52 UTC |
5b26d32 | Mario Kleiner | 19 July 2016, 18:59:01 UTC | drm/vc4: Enable/Disable vblanks properly in crtc en/disable. Add missing drm_crtc_vblank_on/off() calls so vblank irq handling/updating/timestamping never runs with a crtc shut down or during its shutdown/startup, as that causes large jumps in vblank count and trouble for compositors. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:51 UTC |
174f5be | Mario Kleiner | 19 July 2016, 18:59:00 UTC | drm/vc4: Enable precise vblank timestamping for interlaced modes. On top of the interlaced video mode fix and with some additional adjustments, this now works well. It has almost the same accuracy as on regular progressive scan modes. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:50 UTC |
6212ad0 | Mario Kleiner | 19 July 2016, 18:58:59 UTC | drm/vc4: Reject doublescan modes. We can't handle doublescan modes at the moment, so if userspace tries to set one, reject the mode set. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:49 UTC |
c946faf | Mario Kleiner | 19 July 2016, 18:58:58 UTC | drm/vc4: Fix handling of interlaced video modes. We must not apply CRTC_INTERLACE_HALVE_V to interlaced modes during mode enumeration, as drm_helper_probe_single_connector_modes does, so wrap it and reset the effect of CRTC_INTERLACE_HALVE_V on affected interlaced modes. Also mode_fixup interlaced modes passed in from user space. This fixes the vblank timestamping constants and entries in the mode->crtc_xxx fields needed for precise vblank timestamping. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:48 UTC |
87b26c6 | Mario Kleiner | 19 July 2016, 18:58:57 UTC | drm/vc4: Disallow interlaced modes on DPI. We already don't expose such modes to userspace, but make sure userspace can't sneak some interlaced mode in. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:47 UTC |
f5378fc | Laurent Pinchart | 19 August 2016, 08:39:29 UTC | drm: Don't implement empty prepare_fb()/cleanup_fb() The plane .prepare_fb() and .cleanup_fb() helpers are optional, there's no need to implement empty stubs, and no need to explicitly set the function pointers to NULL either. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> [danvet: Resolved conflicts with Chris' patch.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> | 08 January 2017, 11:41:46 UTC |
12c8c96 | Daniel Vetter | 10 August 2016, 16:52:34 UTC | drm/fb-helper: Add a dummy remove_conflicting_framebuffers Lots of drivers don't properly compile without this when CONFIG_FB=n. It's kinda a hack, but since CONFIG_FB doesn't stub any fucntions when it's disabled I think it makes sense to add it to drm_fb_helper.h. Long term we probably need to rethink all the logic to unload firmware framebuffer drivers, at least if we want to be able to move away from CONFIG_FB and fbcon. v2: Unfortunately just stubbing out remove_conflicting_framebuffers in drm_fb_helper.h upset gcc about static vs. non-static declarations, so a new wrapper it needs to be. Means more churn :( Cc: Tobias Jakobi <tjakobi@math.uni-bielefeld.de> Cc: Noralf Trønnes <noralf@tronnes.org> Cc: tomi.valkeinen@ti.com Cc: dh.herrmann@gmail.com Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1470847958-28465-2-git-send-email-daniel.vetter@ffwll.ch | 08 January 2017, 11:41:45 UTC |
bd6d762 | Eric Anholt | 14 September 2016, 08:16:19 UTC | raspberrypi-firmware: Export the general transaction function. The vc4-firmware-kms module is going to be doing the MBOX FB call. Signed-off-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:44 UTC |
c5cc721 | Eric Anholt | 14 September 2016, 08:18:09 UTC | raspberrypi-firmware: Define the MBOX channel in the header. Signed-off-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:43 UTC |
b9bba8a | Phil Elwell | 06 December 2016, 17:27:50 UTC | BCM270X_DT: Add midi-uart0 overlay MIDI requires 31.25kbaud, a baudrate unsupported by Linux. The midi-uart0 overlay configures uart0 (ttyAMA0) to use a fake clock so that requesting 38.4kbaud actually gets 31.25kbaud. Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 08 January 2017, 11:41:42 UTC |
5a491f6 | Gerhard de Clercq | 02 December 2016, 11:45:06 UTC | RPI-FT5406: Enable aarch64 support through explicit iomem interface Signed-off-by: Gerhard de Clercq <gerharddeclercq@outlook.com> | 08 January 2017, 11:41:41 UTC |
5a1ce92 | Alan Yiding Wang | 04 December 2016, 04:22:02 UTC | BCM270X_DT: Add overlay for enc28j60 on SPI2 Works on SPI2 for compute module | 08 January 2017, 11:41:40 UTC |
d3fbdeb | Gerhard de Clercq | 02 December 2016, 10:15:26 UTC | Add overlays symlink and dtbo target for ARM64 (#1739) Signed-off-by: Gerhard de Clercq <gerharddeclercq@outlook.com> | 08 January 2017, 11:41:39 UTC |
8a098af | Phil Elwell | 01 December 2016, 22:58:07 UTC | BCM2835 DT: Add DTC_FLAGS to support overlays Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 08 January 2017, 11:41:39 UTC |
9e859e1 | popcornmix | 01 December 2016, 15:32:23 UTC | hifiberry: Make driver names unique in first 15 characters See: LibreELEC PR1001 | 08 January 2017, 11:41:38 UTC |
c4d0f39 | Dave Stevenson | 30 November 2016, 20:17:14 UTC | BCM2835-v4l2: Fix a conformance test failure Format ioctls: test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK warn: v4l2-test-formats.cpp(1195): S_PARM is supported but doesn't report V4L2_CAP_TIMEPERFRAME. fail: v4l2-test-formats.cpp(1118): node->has_frmintervals && !cap->capability | 08 January 2017, 11:41:37 UTC |
eba2ee7 | Phil Elwell | 25 November 2016, 15:01:15 UTC | config: Add AK4554 audio codec driver See: https://github.com/raspberrypi/linux/issues/1730 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 08 January 2017, 11:41:36 UTC |
a26053b | Phil Elwell | 23 November 2016, 14:19:40 UTC | config: Add ABX80X RTC driver and overlay Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 08 January 2017, 11:41:35 UTC |
e413e40 | Phil Elwell | 26 November 2016, 14:01:52 UTC | ARM: dts: Restore dtbs_install functionality Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 08 January 2017, 11:41:34 UTC |
d958b10 | Matt Flax | 20 November 2016, 08:15:24 UTC | [Audioinjector] Fix bit offsets for equal volume and add 8 kHz operation (#1727) Applying to the audioinjector sound card only. This patch offsets channel 2 correctly from the LR clock. This ensures that channel 2 doesn't loose any bits during capture. It also results in both channels 1 and 2 having the same volume. This commit also adds 8 kHz operation. Signed-off-by: Matt Flax <flatmax@flatmax.org> | 08 January 2017, 11:41:33 UTC |
819b419 | Phil Elwell | 18 November 2016, 10:52:49 UTC | ARM: dts: Visit overlays subdir unconditionally make clean processing occurs without loading the configuration, so the overlays subdir must be added unconditionally. See: https://github.com/raspberrypi/linux/issues/1723 | 08 January 2017, 11:41:32 UTC |
be6cd1f | popcornmix | 17 November 2016, 16:49:33 UTC | fixup: fb: Use struct device for dma_alloc_coherent | 08 January 2017, 11:41:31 UTC |
6e8404e | popcornmix | 16 November 2016, 21:17:27 UTC | fixup: fb: Use correct bus address for dest of dma memcpy | 08 January 2017, 11:41:30 UTC |
0f9af80 | Phil Elwell | 15 November 2016, 15:58:49 UTC | mkknlimg: Retain downstream-kernel detection With the death of ARCH_BCM2708 and ARCH_BCM2709, a new way is needed to determine if this is a "downstream" build that wants the firmware to load a bcm27xx .dtb. The vc_cma driver is used downstream but not upstream, making vc_cma_init a suitable predicate symbol. | 08 January 2017, 11:41:29 UTC |
3ad1561 | Noralf Trønnes | 12 November 2016, 19:28:47 UTC | Drop ARCH_BCM2708 and ARCH_BCM2709 They are not necessary anymore since both are based on ARCH_BCM2835. Also use the compatible strings "brcm,bcm2835", "brcm,bcm2836" and "brcm,bcm2837". Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:41:28 UTC |
87ad2d6 | Noralf Trønnes | 12 November 2016, 19:28:25 UTC | BCM270x_DT: Drop using ARCH_BCM2708 and ARCH_BCM2709 Both are based on ARCH_BCM2835 so use that instead. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:41:28 UTC |
2238a2f | popcornmix | 14 November 2016, 22:05:30 UTC | fixup: fb: Use basic types for dma addresses as these are also included from user code | 08 January 2017, 11:41:27 UTC |
d03df89 | popcornmix | 09 November 2016, 22:42:39 UTC | brcmvirt_gpio: Create coherent buffer and push to firmware | 08 January 2017, 11:41:26 UTC |
788cba9 | popcornmix | 11 November 2016, 19:32:54 UTC | rpi-ft5406: Create coherent buffer and push to firmware | 08 January 2017, 11:41:25 UTC |
9c08695 | popcornmix | 05 November 2016, 14:14:43 UTC | bcm2708_fb: Add ioctl for reading gpu memory through dma | 08 January 2017, 11:41:24 UTC |
540dd14 | popcornmix | 01 November 2016, 13:10:05 UTC | config: Add CONFIG_HTU21 module | 08 January 2017, 11:41:23 UTC |
45eef9a | Eric Anholt | 30 September 2016, 17:07:27 UTC | clk: bcm2835: Clamp the PLL's requested rate to the hardware limits. Fixes setting low-resolution video modes on HDMI. Now the PLLH_PIX divider adjusts itself until the PLLH is within bounds. Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> | 08 January 2017, 11:41:22 UTC |
2f81034 | Noralf Trønnes | 11 November 2016, 17:24:26 UTC | BCM270X_DT: Add fallback overlay for i2c-bcm2708 Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:41:21 UTC |
127efd3 | Noralf Trønnes | 01 November 2016, 14:42:55 UTC | BCM270X_DT: Use i2c-bcm2835 as default i2c-bcm2835 has gotten an overhaul so we can now use as default. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:41:20 UTC |
6d6f625 | Noralf Trønnes | 01 November 2016, 19:03:29 UTC | config: Enable i2c-bcm2835 Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:41:19 UTC |
e7b94d0 | Noralf Trønnes | 01 November 2016, 14:15:41 UTC | i2c: bcm2835: Add debug support This adds a debug module parameter to aid in debugging transfer issues by printing info to the kernel log. When enabled, status values are collected in the interrupt routine and msg info in bcm2835_i2c_start_transfer(). This is done in a way that tries to avoid affecting timing. Having printk in the isr can mask issues. debug values (additive): 1: Print info on error 2: Print info on all transfers 3: Print messages before transfer is started The value can be changed at runtime: /sys/module/i2c_bcm2835/parameters/debug Example output, debug=3: [ 747.114448] bcm2835_i2c_xfer: msg(1/2) write addr=0x54, len=2 flags= [i2c1] [ 747.114463] bcm2835_i2c_xfer: msg(2/2) read addr=0x54, len=32 flags= [i2c1] [ 747.117809] start_transfer: msg(1/2) write addr=0x54, len=2 flags= [i2c1] [ 747.117825] isr: remain=2, status=0x30000055 : TA TXW TXD TXE [i2c1] [ 747.117839] start_transfer: msg(2/2) read addr=0x54, len=32 flags= [i2c1] [ 747.117849] isr: remain=32, status=0xd0000039 : TA RXR TXD RXD [i2c1] [ 747.117861] isr: remain=20, status=0xd0000039 : TA RXR TXD RXD [i2c1] [ 747.117870] isr: remain=8, status=0x32 : DONE TXD RXD [i2c1] Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:41:18 UTC |
33325bf | Noralf Trønnes | 26 September 2016, 23:00:08 UTC | i2c: bcm2835: Add support for dynamic clock Support a dynamic clock by reading the frequency and setting the divisor in the transfer function instead of during probe. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> Reviewed-by: Martin Sperl <kernel@martin.sperl.org> | 08 January 2017, 11:41:18 UTC |
12964e0 | Noralf Trønnes | 23 September 2016, 02:57:17 UTC | i2c: bcm2835: Support i2c-dev ioctl I2C_TIMEOUT Use i2c_adapter->timeout for the completion timeout value. The core default is 1 second. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> Reviewed-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:17 UTC |
c29177d | Noralf Trønnes | 23 September 2016, 02:54:27 UTC | i2c: bcm2835: Add support for Repeated Start Condition Documentation/i2c/i2c-protocol states that Combined transactions should separate messages with a Start bit and end the whole transaction with a Stop bit. This patch adds support for issuing only a Start between messages instead of a Stop followed by a Start. This implementation differs from downstream i2c-bcm2708 in 2 respects: - it uses an interrupt to detect that the transfer is active instead of using polling. There is no interrupt for Transfer Active, but by not prefilling the FIFO it's possible to use the TXW interrupt. - when resetting/disabling the controller between transfers it writes CLEAR to the control register instead of just zero. Using just zero gave many errors. This might be the reason why downstream had to disable this feature and make it available with a module parameter. I have run thousands of transfers to a DS1307 (rtc), MMA8451 (accel) and AT24C32 (eeprom) in parallel without problems. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> Acked-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:16 UTC |
7958300 | Noralf Trønnes | 22 September 2016, 20:05:50 UTC | i2c: bcm2835: Can't support I2C_M_IGNORE_NAK The controller can't support this flag, so remove it. Documentation/i2c/i2c-protocol states that all of the message is sent: I2C_M_IGNORE_NAK: Normally message is interrupted immediately if there is [NA] from the client. Setting this flag treats any [NA] as [A], and all of message is sent. From the BCM2835 ARM Peripherals datasheet: The ERR field is set when the slave fails to acknowledge either its address or a data byte written to it. So when the controller doesn't receive an ack, it sets ERR and raises an interrupt. In other words, the whole message is not sent. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> Reviewed-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:15 UTC |
b496c52 | Noralf Trønnes | 19 September 2016, 15:19:41 UTC | i2c: bcm2835: Use dev_dbg logging on transfer errors Writing to an AT24C32 generates on average 2x i2c transfer errors per 32-byte page write. Which amounts to a lot for a 4k write. This is due to the fact that the chip doesn't respond during it's internal write cycle when the at24 driver tries and retries the next write. Only a handful drivers use dev_err() on transfer error, so switch to dev_dbg() instead. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> Reviewed-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:14 UTC |
e77d626 | Noralf Trønnes | 23 September 2016, 16:24:38 UTC | i2c: bcm2835: Protect against unexpected TXW/RXR interrupts If an unexpected TXW or RXR interrupt occurs (msg_buf_remaining == 0), the driver has no way to fill/drain the FIFO to stop the interrupts. In this case the controller has to be disabled and the transfer completed to avoid hang. (CLKT | ERR) and DONE interrupts are completed in their own paths, and the controller is disabled in the transfer function after completion. Unite the code paths and do disabling inside the interrupt routine. Clear interrupt status bits in the united completion path instead of trying to do it on every interrupt which isn't necessary. Only CLKT, ERR and DONE can be cleared that way. Add the status value to the error value in case of TXW/RXR errors to distinguish them from the other S_LEN error. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> Reviewed-by: Eric Anholt <eric@anholt.net> | 08 January 2017, 11:41:13 UTC |
b409033 | Noralf Trønnes | 17 September 2016, 13:07:10 UTC | i2c: bcm2835: Fix hang for writing messages larger than 16 bytes Writing messages larger than the FIFO size results in a hang, rendering the machine unusable. This is because the RXD status flag is set on the first interrupt which results in bcm2835_drain_rxfifo() stealing bytes from the buffer. The controller continues to trigger interrupts waiting for the missing bytes, but bcm2835_fill_txfifo() has none to give. In this situation wait_for_completion_timeout() apparently is unable to stop the madness. The BCM2835 ARM Peripherals datasheet has this to say about the flags: TXD: is set when the FIFO has space for at least one byte of data. RXD: is set when the FIFO contains at least one byte of data. TXW: is set during a write transfer and the FIFO is less than full. RXR: is set during a read transfer and the FIFO is or more full. Implementing the logic from the downstream i2c-bcm2708 driver solved the hang problem. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Martin Sperl <kernel@martin.sperl.org> | 08 January 2017, 11:41:12 UTC |
bc96e07 | Phil Elwell | 08 November 2016, 21:35:38 UTC | spi-bcm2835: Remove unused code | 08 January 2017, 11:41:11 UTC |
d47b3dc | Michael Zoran | 04 November 2016, 23:13:07 UTC | bcmrpi3_defconfig: Update config to be compatible with latest Kconfig changes. This new config has been run through make savedefconfig. | 08 January 2017, 11:41:10 UTC |
89120ac | popcornmix | 31 October 2016, 17:35:57 UTC | dwc_otg: Warn if dma_alloc_coherent fails | 08 January 2017, 11:41:09 UTC |
40ec221 | popcornmix | 31 October 2016, 17:35:31 UTC | bcm2835: Increase coherent allocation to 1M for dwc_otg bounce buffers | 08 January 2017, 11:41:08 UTC |
a84f3aa | Noralf Trønnes | 27 October 2016, 19:58:09 UTC | firmware: bcm2835: Don't turn on USB power The raspberrypi-power driver is now used to turn on USB power. This partly reverts commit: firmware: bcm2835: Support ARCH_BCM270x Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:41:07 UTC |
a09f782 | Noralf Trønnes | 27 October 2016, 19:57:56 UTC | BCM270X_DT: Use raspberrypi-power to turn on USB power Use the raspberrypi-power driver to turn on USB power. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:41:06 UTC |
d980a5b | Phil Elwell | 28 October 2016, 12:55:36 UTC | bcm270x: Use dma-ranges unconditionally on bcm2710 See: https://github.com/raspberrypi/linux/pull/1699 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 08 January 2017, 11:41:05 UTC |
8462279 | Noralf Trønnes | 25 October 2016, 15:32:02 UTC | kconfig: Just use ARCH_BCM2835 for depends on ARCH_BCM2708 and ARCH_BCM2709 selects ARCH_BCM2835 now, so the dependencies can be simplified. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:41:04 UTC |
84412aa | Noralf Trønnes | 25 October 2016, 14:02:39 UTC | bcm2709: Convert to ARCH_MULTIPLATFORM Convert to multi platform and base it on ARCH_BCM2835. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:41:04 UTC |
e62b4a7 | Noralf Trønnes | 25 October 2016, 14:00:07 UTC | bcm2708: Convert to ARCH_MULTIPLATFORM Convert to multi platform and base it on ARCH_BCM2835. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:41:03 UTC |
1f535d5 | Noralf Trønnes | 25 October 2016, 13:55:09 UTC | dts: Remove bcm2835-rpi-cm.dts This file doesn't build anymore and isn't used so remove it. It was added as part of my ARCH_BCM2835 work last year, but the future didn't pan out as expected. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:41:02 UTC |
392e412 | Noralf Trønnes | 19 October 2016, 14:16:48 UTC | bcm270x: Drop NEED_MACH_MEMORY_H and use DT dma-ranges Drop NEED_MACH_MEMORY_H and use dma-ranges from the Device Tree to get the bus address, like ARCH_BCM2835 does. This means that we go from this: arch/arm/mach-bcm270x/include/mach/memory.h: define __virt_to_bus(x) ((x) + (BUS_OFFSET - PAGE_OFFSET)) define __bus_to_virt(x) ((x) - (BUS_OFFSET - PAGE_OFFSET)) define __pfn_to_bus(x) (__pfn_to_phys(x) + BUS_OFFSET) define __bus_to_pfn(x) __phys_to_pfn((x) - BUS_OFFSET To this: arch/arm/include/asm/memory.h: define __virt_to_bus __virt_to_phys define __bus_to_virt __phys_to_virt define __pfn_to_bus(x) __pfn_to_phys(x) define __bus_to_pfn(x) __phys_to_pfn(x) Drivers now have to use the DMA API to get to the bus address. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:41:01 UTC |
53ab5ec | Noralf Trønnes | 19 October 2016, 14:05:36 UTC | mmc: bcm2835-sdhost: Pass struct device to dma_alloc*() This makes it possible to get the bus address from Device Tree. At the same time move the call to log_init() after getting the clock to avoid allocating twice due to deferred probing. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:41:00 UTC |
f0cedd1 | Noralf Trønnes | 19 October 2016, 14:01:01 UTC | dwc_otg: Pass struct device to dma_alloc*() This makes it possible to get the bus address from Device Tree. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:40:59 UTC |
8a002bf | Noralf Trønnes | 19 October 2016, 13:54:41 UTC | bcm270x: Remove NEED_MACH_IO_H NEED_MACH_IO_H isn't necessary since we don't have PC card/PCI/ISA IO space. The __io macro is only used in the {in,out}[bwl] macros. arch/arm/include/asm/io.h will give these defaults now: define __io(a) __typesafe_io((a) & IO_SPACE_LIMIT) define IO_SPACE_LIMIT ((resource_size_t)0) This is the same as ARCH_BCM2835. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:40:58 UTC |
7dcc9be | Noralf Trønnes | 19 October 2016, 14:25:41 UTC | bcm270x: Remove bcm2708_reboot_mode parameter This isn't used anymore now that the watchdog driver does restart/poweroff. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:40:57 UTC |
51f1a7c | Giedrius Trainavicius | 24 October 2016, 22:47:20 UTC | FIXUP: pisound: Fix a warning in DEBUG builds Also change a macro that enables debug level printing from DEBUG to PISOUND_DEBUG. | 08 January 2017, 11:40:56 UTC |
d1d16f5 | gtrainavicius | 23 October 2016, 09:06:53 UTC | Support for Blokas Labs pisound board | 08 January 2017, 11:40:55 UTC |
b9d3a9f | Electron752 | 15 October 2016, 18:49:52 UTC | ARM64: Modify default config to get raspbian to boot (#1686) 1. Enable emulation of deprecated instructions. 2. Enable ARM 8.1 and 8.2 features which are not detected at runtime. 3. Switch the default governer to powersave. 4. Include the watchdog timer driver in the kernel image rather then a module. Tested with raspbian-jessie 2016-09-23. | 08 January 2017, 11:40:54 UTC |
e19052c | Phil Elwell | 12 October 2016, 14:10:14 UTC | mmc: info (not err) msg on clock probe deferral | 08 January 2017, 11:40:53 UTC |
13661d5 | Phil Elwell | 10 October 2016, 14:06:20 UTC | BCM270X_DT: Update CM3 to use sdhost interface | 08 January 2017, 11:40:52 UTC |
717b32f | Scott Ellis | 27 September 2016, 08:29:00 UTC | Add Adafruit pitft35 touchscreen support (#1657) The dts comes from the Adafruit repository https://github.com/adafruit/Adafruit-Pi-Kernel-o-Matic/blob/pitft/pitft35r-overlay.dts Reformatted slightly to match conventions in the pitft28-resistive-overlay. Signed-off-by: Scott Ellis <scott@jumpnowtek.com> | 08 January 2017, 11:40:51 UTC |
f6927e7 | Martin Sperl | 02 September 2016, 15:45:27 UTC | Register the clocks early during the boot process, so that special/critical clocks can get enabled early on in the boot process avoiding the risk of disabling a clock, pll_divider or pll when a claiming driver fails to install propperly - maybe it needs to defer. Signed-off-by: Martin Sperl <kernel@martin.sperl.org> | 08 January 2017, 11:40:51 UTC |
cf98105 | Phil Elwell | 11 October 2016, 16:48:07 UTC | Use DT rather than modules params for board rev and serial | 08 January 2017, 11:40:50 UTC |
6378583 | Noralf Trønnes | 10 October 2016, 17:37:06 UTC | bcm270x: Use DT_MACHINE_START We are all DT now so use DT_MACHINE_START. Also drop the extra BCM2709-BCM2708 mix entry. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:40:49 UTC |
e78ba0c | Noralf Trønnes | 10 October 2016, 17:26:42 UTC | bcm270x: Drop map_io device mapping All drivers map their own io now so it's not necessary to do this mapping anymore. The mapping for the uart debug console is handled by debug_ll_io_init() if necessary. Remove local uart debug code and rely on mainline. Use these kconfig options to enable: CONFIG_DEBUG_BCM2835 CONFIG_DEBUG_BCM2836 Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:40:48 UTC |
7100bbe | Noralf Trønnes | 10 October 2016, 15:46:27 UTC | bcm270x: Remove 4MB dma coherent pool Drop the call to init_dma_coherent_pool_size(). The default 256kB is enough since vchiq dropped that atomic allocation some time back. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:40:47 UTC |
1a984d0 | Noralf Trønnes | 10 October 2016, 15:41:26 UTC | bcm270x: Remove unnecessary of_platform_populate Since 4.8 of_platform_default_populate_init() does the same and it is called at arch_initcall_sync. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:40:46 UTC |
75bb10a | Noralf Trønnes | 10 October 2016, 15:37:43 UTC | bcm270x: Drop bcm2835-aux-uart hack The gated bcm2835-aux clock is now used to enable uart1 so drop this hack. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:40:45 UTC |
0d72bcb | Noralf Trønnes | 10 October 2016, 15:35:40 UTC | bcm270x: Remove dead files include/mach/vmalloc.h has not been used since 2011. include/mach/entry-macro.S is leftover from the move to the mainline irq driver. Signed-off-by: Noralf Trønnes <noralf@tronnes.org> | 08 January 2017, 11:40:44 UTC |