45407db | Phil Elwell | 05 April 2019, 13:44:36 UTC | Audiophonics fixups | 05 April 2019, 13:44:36 UTC |
5c5e346 | FERHAT Nicolas | 05 April 2019, 12:06:42 UTC | Audiophonics I-Sabre 9038Q2M DAC driver | 05 April 2019, 12:06:42 UTC |
1026f58 | Mark Brown | 26 March 2019, 13:10:13 UTC | ASoC: tlv320aic32x4: Only enable with common clock commit 64f01d2b5ccc621c3aa66b82daf9154f5581f36a upstream. Some architectures do not yet support the common clock API at all but the tlv320aic32x4 driver now requires it. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Mark Brown <broonie@kernel.org> | 02 April 2019, 11:56:30 UTC |
4efa454 | Annaliese McDermond | 22 March 2019, 00:58:54 UTC | ASoC: tlv320aic32x4: Allow 192000 Sample Rate commit 6d56ee1550b8a81bc63c80051ff78d8d704b09ba upstream. The clocking and processing blocks are now properly set up to support 192000 sample rates. Allow drivers to ask for that. Signed-off-by: Annaliese McDermond <nh6z@nh6z.net> Signed-off-by: Mark Brown <broonie@kernel.org> | 02 April 2019, 11:56:30 UTC |
2e65a92 | Annaliese McDermond | 22 March 2019, 00:58:53 UTC | ASoC: tlv320aic32x4: Remove mclk references commit 78f2d58a289302e56a7def96a783a7686ebf27e2 upstream. mclk is not used by anything anymore. Remove support for it. All that information now comes from the clock tree. Signed-off-by: Annaliese McDermond <nh6z@nh6z.net> Signed-off-by: Mark Brown <broonie@kernel.org> | 02 April 2019, 11:56:30 UTC |
0c863e5 | Annaliese McDermond | 22 March 2019, 00:58:52 UTC | ASoC: tlv320aic32x4: Restructure set_dai_sysclk commit aa6a60f7be925210d5156f0e8025f3afe1f4f54d upstream. The sysclk is now managed by the CCF. Change this function to merely find the system clock and set it using clk_set_rate. Signed-off-by: Annaliese McDermond <nh6z@nh6z.net> Signed-off-by: Mark Brown <broonie@kernel.org> | 02 April 2019, 11:56:30 UTC |
af468c2 | Annaliese McDermond | 22 March 2019, 00:58:51 UTC | ASoC: tlv320aic32x4: Dynamically Determine Clocking commit 96c3bb00239de4fb5f4ddca42c1f90d6d9b3c697 upstream. The existing code uses a static lookup table to determine the settings of the various clock devices on board the chip. This is limiting in a couple of ways. First, this doesn't allow for any master clock rates other than the three that have been precalculated. Additionally, new sample rates are difficult to add to the table. Witness that the chip is capable of 192000 Hz sampling, but it is not provided by this driver. Last, if the driver is clocked by something that isn't a crystal, the upstream clock may not be able to achieve exactly the rate requested in the driver. This will mean that clocking will be slightly off for the sampling clock or that it won't work at all. This patch determines the settings for all of the clocks at runtime considering the real conditions of the clocks in the system. The rules for the clocks are in TI's SLAA557 application guide on pages 37, 51 and 77. Signed-off-by: Annaliese McDermond <nh6z@nh6z.net> Signed-off-by: Mark Brown <broonie@kernel.org> | 02 April 2019, 11:56:30 UTC |
0cfab22 | Annaliese McDermond | 22 March 2019, 00:58:50 UTC | ASoC: tlv320aic32x4: Move aosr and dosr setting to separate functions commit fbafbf6517274a797e6e6508c18dd8dba5920c89 upstream. Move these to separate helper functions. This looks cleaner and fits better with the new clock setting in CCF. Signed-off-by: Annaliese McDermond <nh6z@nh6z.net> Signed-off-by: Mark Brown <broonie@kernel.org> | 02 April 2019, 11:56:29 UTC |
1ff9262 | Annaliese McDermond | 22 March 2019, 00:58:49 UTC | ASoC: tlv320aic32x4: Control clock gating with CCF commit d25970b5fd51e9fcf0afbe190908ea4049454da4 upstream. Control the clock gating to the various clock components to use the CCF. This allows us to prepare_enalbe only 3 clocks and the relationships assigned to them will cause upstream clockss to enable automatically. Additionally we can do this in a single call to the CCF. Signed-off-by: Annaliese McDermond <nh6z@nh6z.net> Signed-off-by: Mark Brown <broonie@kernel.org> | 02 April 2019, 11:56:29 UTC |
6c7172c | Annaliese McDermond | 22 March 2019, 00:58:48 UTC | ASoC: tlv320aic32x4: Model BDIV divider in CCF commit 9b484124ebd906c4d6bc826cc0d417e80cc1105c upstream. Model and manage BDIV divider as components in the Core Clock Framework. This should allow us to do some more complex clock management and power control. Also, some of the on-board chip clocks can be exposed to the outside, and this change will make those clocks easier to consume by other parts of the kernel. Signed-off-by: Annaliese McDermond <nh6z@nh6z.net> Signed-off-by: Mark Brown <broonie@kernel.org> | 02 April 2019, 11:56:29 UTC |
994d907 | Annaliese McDermond | 22 March 2019, 00:58:47 UTC | ASoC: tlv320aic32x4: Model DAC/ADC dividers in CCF commit a51b50062091619915c5155085bbe13a7aca6903 upstream. Model and manage DAC/ADC dividers as components in the Core Clock Framework. This should allow us to do some more complex clock management and power control. Also, some of the on-board chip clocks can be exposed to the outside, and this change will make those clocks easier to consume by other parts of the kernel. Signed-off-by: Annaliese McDermond <nh6z@nh6z.net> Signed-off-by: Mark Brown <broonie@kernel.org> | 02 April 2019, 11:56:29 UTC |
1a6744f | Annaliese McDermond | 22 March 2019, 00:58:46 UTC | ASoC: tlv320aic32x4: Model CODEC_CLKIN in CCF commit fd2df3aeafa4b4cc468d58e147e0822967034b71 upstream. Model and manage codec clock input as a component in the Core Clock Framework. This should allow us to do some more complex clock management and power control. Also, some of the on-board chip clocks can be exposed to the outside, and this change will make those clocks easier to consume by other parts of the kernel. Signed-off-by: Annaliese McDermond <nh6z@nh6z.net> Signed-off-by: Mark Brown <broonie@kernel.org> | 02 April 2019, 11:56:29 UTC |
6cf51ed | Annaliese McDermond | 22 March 2019, 00:58:45 UTC | ASoC: tlv320aic32x4: Model PLL in CCF commit 514b044cba667e4b7c383ec79b42b997e624b91d upstream. Model and manage the on-board PLL as a component in the Core Clock Framework. This should allow us to do some more complex clock management and power control. Also, some of the on-board chip clocks can be exposed to the outside, and this change will make those clocks easier to consume by other parts of the kernel. Signed-off-by: Annaliese McDermond <nh6z@nh6z.net> Signed-off-by: Mark Brown <broonie@kernel.org> | 02 April 2019, 11:56:28 UTC |
e4f495a | Annaliese McDermond | 21 March 2019, 02:38:44 UTC | ASoC: tlv320aic32x4: Properly Set Processing Blocks commit c95e3a4b96293403a427b5185e60fad28af51fdd upstream. Different processing blocks are required for different sampling rates and power parameters. Set the processing blocks based on this information. Signed-off-by: Annaliese McDermond <nh6z@nh6z.net> Signed-off-by: Mark Brown <broonie@kernel.org> | 02 April 2019, 11:56:28 UTC |
33320fd | Annaliese McDermond | 19 March 2019, 03:37:44 UTC | ASoC: tlv320aic32x4: Break out clock setting into separate function commit bf31cbfbe25001036e1e096b1c260bf871766ea5 upstream. Break the clock setting logic out from the main hw_params. It's rather large and unweildy and makes for a large function. This also better enables some of the following changes to the clock tree access in the driver. Signed-off-by: Annaliese McDermond <nh6z@nh6z.net> Signed-off-by: Mark Brown <broonie@kernel.org> | 02 April 2019, 11:56:28 UTC |
0eac317 | b-ak | 09 January 2019, 17:11:21 UTC | ASoC: tlv320aic32x4: SND_SOC_DAPM_MICBIAS is deprecated commit 04d979d7a7bac2f645cd827ea37e5ffa5b4e1f97 upstream. SND_SOC_DAPM_MICBIAS is deprecated, replace it with SND_SOC_DAPM_SUPPLY. MICBIAS voltage wasn't supplied to the microphone with the older SND_SOC_DAPM_MICBIAS widget, hence the microphone wouldn't work. This patch fixes the problem. Signed-off-by: b-ak <anur.bhargav@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org> | 02 April 2019, 11:56:28 UTC |
9abdcab | Phil Elwell | 28 March 2019, 13:26:59 UTC | overlays: Add rv3028 to i2c-rtc See: https://github.com/raspberrypi/linux/issues/2912 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 02 April 2019, 11:56:27 UTC |
2843f82 | Phil Elwell | 28 March 2019, 13:13:52 UTC | configs: Add RTC_DRV_RV3028=m See: https://github.com/raspberrypi/linux/issues/2912 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 02 April 2019, 11:56:27 UTC |
5eba128 | Alexandre Belloni | 12 February 2019, 23:21:36 UTC | rtc: rv3028: add new driver upstream commit e6e7376cfd7b3f9b63de3a22792f64d9bfb2ab53. Add a driver for the MicroCrystal RV-3028. It is a SMT Real-Time Clock Module that incorporates an integrated CMOS circuit together with an XTAL. It has an i2c interface. The driver handles date/time, alarms, trickle charging, timestamping, frequency offset correction, EEPROM and NVRAM. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> | 02 April 2019, 11:56:27 UTC |
3ee2af3 | Alexandre Belloni | 30 November 2018, 11:53:20 UTC | nvmem: add type attribute commit 16688453661b6d5159be558a1f8c1f54463a420f upstream. Add a type attribute so userspace is able to know how the data is stored as this can help taking the correct decision when selecting which device to use. This will also help program display the proper warnings when burning fuses for example. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 02 April 2019, 11:56:27 UTC |
6bd6438 | Dave Stevenson | 20 March 2019, 10:06:51 UTC | staging: bcm2835-codec: Refactor default resolution code The default resolution code was different for each role as compressed formats need to pass bytesperline as 0 and set up customised buffer sizes. This is common setup, therefore amend get_sizeimage and get_bytesperline to do the correct thing whether compressed or uncompressed. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:27 UTC |
197b6c2 | Dave Stevenson | 05 March 2019, 15:43:27 UTC | media: bcm2835-unicam: Add support for enum framesizes and frameintervals vidioc_enum_framesizes and vidioc_enum_frameintervals weren't implemented, therefore clients couldn't enumerate the supported resolutions. Implement them by forwarding on to the sensor driver. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:26 UTC |
3d52926 | P33M | 26 March 2019, 09:48:25 UTC | defconfigs: disable memory and IO cgroups (#2908) Due to an upstream bug, memory is leaked in the inode cache when cgroups are enabled. Disable as this is causing crashes. See: https://github.com/raspberrypi/linux/issues/2829 | 02 April 2019, 11:56:26 UTC |
71cd178 | Phil Elwell | 25 March 2019, 18:03:48 UTC | overlays: Add max17040 support to i2c-sensor See: https://github.com/raspberrypi/linux/issues/2906 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 02 April 2019, 11:56:26 UTC |
39d1f02 | Phil Elwell | 25 March 2019, 17:54:05 UTC | configs: Add CONFIG_BATTERY_MAX17040 See: https://github.com/raspberrypi/linux/issues/2906 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 02 April 2019, 11:56:26 UTC |
4d70e4b | Lukas Wunner | 19 January 2019, 07:42:40 UTC | bcm2835-mmc: Deduplicate reset of driver data on remove The BCM2835 MMC host driver sets the device's driver data pointer to NULL on ->remove() even though the driver core subsequently does the same in __device_release_driver(). Drop the duplicate assignment. Signed-off-by: Lukas Wunner <lukas@wunner.de> Cc: Frank Pavlic <f.pavlic@kunbus.de> | 02 April 2019, 11:56:25 UTC |
4ec21c4 | Lukas Wunner | 22 January 2019, 11:29:45 UTC | bcm2835-mmc: Handle mmc_add_host() errors The BCM2835 MMC host driver calls mmc_add_host() but doesn't check its return value. Errors occurring in that function are therefore not handled. Fix it. Signed-off-by: Lukas Wunner <lukas@wunner.de> Cc: Frank Pavlic <f.pavlic@kunbus.de> | 02 April 2019, 11:56:25 UTC |
2297c20 | Lukas Wunner | 19 January 2019, 08:00:26 UTC | bcm2835-mmc: Fix duplicate free_irq() on remove The BCM2835 MMC host driver requests its interrupt as a device-managed resource, so the interrupt is automatically freed after the driver is unbound. However on driver unbind, bcm2835_mmc_remove() frees the interrupt explicitly to avoid invocation of the interrupt handler after driver structures have been torn down. The interrupt is thus freed twice, leading to a WARN splat in __free_irq(). Fix by not requesting the interrupt as a device-managed resource. Signed-off-by: Lukas Wunner <lukas@wunner.de> Cc: Frank Pavlic <f.pavlic@kunbus.de> | 02 April 2019, 11:56:25 UTC |
0a80e5c | Lukas Wunner | 19 January 2019, 07:06:48 UTC | bcm2835-mmc: Fix struct mmc_host leak on probe The BCM2835 MMC host driver requests the bus address of the host's register map on probe. If that fails, the driver leaks the struct mmc_host allocated earlier. Fix it. Signed-off-by: Lukas Wunner <lukas@wunner.de> Cc: Frank Pavlic <f.pavlic@kunbus.de> | 02 April 2019, 11:56:25 UTC |
737dba8 | Lukas Wunner | 16 January 2019, 11:22:32 UTC | bcm2835-mmc: Fix DMA channel leak The BCM2835 MMC host driver requests a DMA channel on probe but neglects to release the channel in the probe error path and on driver unbind. I'm seeing this happen on every boot of the Compute Module 3: On first driver probe, DMA channel 2 is allocated and then leaked with a "could not get clk, deferring probe" message. On second driver probe, channel 4 is allocated. Fix it. Signed-off-by: Lukas Wunner <lukas@wunner.de> Cc: Frank Pavlic <f.pavlic@kunbus.de> | 02 April 2019, 11:56:24 UTC |
a59a096 | Phil Elwell | 24 March 2019, 20:54:25 UTC | configs: Re-enable CONFIG_NETFILTER_XT_MATCH_SOCKET A Kconfig change in 4.10 caused the xt_socket module to no-longer be included in Raspbian builds. Fix the defconfigs to re-enable it. See: https://github.com/raspberrypi/linux/issues/2905 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 02 April 2019, 11:56:24 UTC |
ef97a69 | Phil Elwell | 22 March 2019, 16:44:47 UTC | overlays: Fix multiple-instantiation of sc16is7xx* The registration of the fixed clocks uses the node name as the clock name, causing a clash if two clock nodes have the same name, regardless of the path to the node. Fix the issue by overwriting the clock node names using the value of the "addr" parameter, providing a crude disambiguation. (A bit of string pasting to form "sc16is752_clk_<addr>" would have been nice, but that is outside the abilities of the overlay parameter mechanism.) Also give the sc16is750-i2c overlay the xtal parameter for symmetry. See: https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=235650 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 02 April 2019, 11:56:24 UTC |
48aeaec | Adrien RICCIARDI | 22 March 2019, 10:35:30 UTC | overlays: sdio: Added 4-bit support on GPIOs 34-39. (#2903) | 02 April 2019, 11:56:24 UTC |
a787898 | Phil Elwell | 13 March 2019, 14:19:11 UTC | bcm2835-sdhost: Allow for sg entries that cross pages The dma_complete handling code calculates a virtual address for a page then adds an offset, but if the offset is more than a page and HIGHMEM is in use then the summed address could be in an unmapped (or just incorrect) page. The upstream SDHOST driver allows for this possibility - copy the code that does so. Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 02 April 2019, 11:56:24 UTC |
e90495d | Stefan Wahren | 07 March 2019, 18:27:05 UTC | configs: Enable MT76 USB wifi Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> | 02 April 2019, 11:56:23 UTC |
fbb00dd | Dave Stevenson | 08 March 2019, 11:26:00 UTC | staging: bcm2835_codec: Clean up logging on unloading the driver The log line was missing a closing \n, so wasn't added to the log immediately. Adds the function of the V4L2 device that is being unregistered too. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:23 UTC |
e990942 | Dave Stevenson | 08 March 2019, 11:11:46 UTC | staging: vc-sm-cma: Ensure mutex and idr are destroyed map_lock and kernelid_map are created in probe, but not released in release should the vcsm service not connect (eg running the cutdown firmware). Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:23 UTC |
8c11f98 | Dave Stevenson | 08 March 2019, 11:09:49 UTC | staging: vc-sm-cma: Don't fail if debugfs calls fail. Return codes from debugfs calls should never alter the flow of the main code. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:23 UTC |
22a6b60 | Dave Stevenson | 08 March 2019, 11:06:41 UTC | staging: vc-sm-cma: Use devm_ allocs for sm_state. Use managed allocations for sm_state, removing reliance on manual management. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:22 UTC |
f5fad2e | Dave Stevenson | 08 March 2019, 10:49:17 UTC | staging: vc-sm-cma: Remove the debugfs directory on remove Without removing that, reloading the driver fails. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:22 UTC |
455676a | Dave Stevenson | 19 March 2019, 17:55:09 UTC | staging: bcm2835-codec: NULL component handle on queue_setup failure queue_setup tries creating the relevant MMAL component and configures the input and output ports as we're expecting to start streaming. If the port configuration failed then it destroyed the component, but failed to clear the component handle, therefore release tried destroying the component again. Adds some logging should the port config fail as well. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:22 UTC |
bfed23f | Kieran Bingham | 18 March 2019, 17:17:40 UTC | vcsm: Reduce scope of local functions The functions: vc_vchi_sm_send_msg vc_sm_ioctl_alloc vc_sm_ioctl_alloc_share vc_sm_ioctl_import_dmabuf Are declared without a prototype. They are not used outside of this module, thus - convert them to static functions. Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> | 02 April 2019, 11:56:22 UTC |
bf34c66 | Kieran Bingham | 18 March 2019, 17:16:41 UTC | vcsm: Remove set but unused variable The 'success' variable is set by the call to vchi_service_close() but never checked. Remove it, keeping the call in place. Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> | 02 April 2019, 11:56:21 UTC |
ea9e037 | Kieran Bingham | 18 March 2019, 17:14:51 UTC | vcsm: Fix makefile include on out-of-tree builds The vc_sm module tries to include the 'fs' directory from the $(srctree). $(srctree) is already provided by the build system, and causes the include path to be duplicated. With -Werror this fails to compile. Remove the unnecessary variable. Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> | 02 April 2019, 11:56:21 UTC |
cb00ad2 | Dave Stevenson | 08 March 2019, 10:38:59 UTC | staging: vc_sm_cma: Remove erroneous misc_deregister Code from the misc /dev node was still present in bcm2835_vc_sm_cma_remove, which caused a NULL deref. Remove it. See #2885. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:21 UTC |
2bb9dab | Dave Stevenson | 27 February 2019, 17:30:33 UTC | video: bcm2708_fb: Try allocating on the ARM and passing to VPU Currently the VPU allocates the contiguous buffer for the framebuffer. Try an alternate path first where we use dma_alloc_coherent and pass the buffer to the VPU. Should the VPU firmware not support that path, then free the buffer and revert to the old behaviour of using the VPU allocation. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:21 UTC |
0e25932 | Phil Elwell | 05 March 2019, 09:51:22 UTC | lan78xx: EEE support is now a PHY property Now that EEE support is a property of the PHY, use the PHY's DT node when querying the EEE-related properties. See: https://github.com/raspberrypi/linux/issues/2882 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 02 April 2019, 11:56:20 UTC |
3871bc4 | Jaikumar | 07 June 2018, 15:52:45 UTC | Added mute stream func Signed-off-by: Jaikumar <jaikumar@cem-solutions.net> | 02 April 2019, 11:56:20 UTC |
11206b4 | Phil Elwell | 27 February 2019, 20:08:48 UTC | config: Add CONFIG_FB_TFT_SH1106=m See: https://github.com/raspberrypi/linux/issues/2876 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 02 April 2019, 11:56:20 UTC |
9d22e7e | Giedrius | 27 February 2019, 14:27:28 UTC | Fix for Pisound kernel module in Real Time kernel configuration. When handler of data_available interrupt is fired, queue_work ends up getting called and it can block on a spin lock which is not allowed in interrupt context. The fix was to run the handler from a thread context instead. | 02 April 2019, 11:56:20 UTC |
7061cea | Eric Anholt | 05 February 2018, 18:53:18 UTC | drm/vc4: Don't wait for vblank on fkms cursor updates. We don't use the same async update path between fkms and normal kms, and the normal kms workaround ended up making us wait. This became a larger problem in rpi-4.14.y, as the USB HID update rate throttling got (accidentally?) dropped. Signed-off-by: Eric Anholt <eric@anholt.net> | 02 April 2019, 11:56:19 UTC |
a6efa26 | Dave Stevenson | 18 February 2019, 15:56:42 UTC | staging: bcm2835_codec: Include timing info in SPS headers Inserting timing information into the VUI block of the SPS is optional with the VPU encoder. GStreamer appears to require them when using V4L2 M2M, therefore set the option to enable them from the encoder. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:19 UTC |
616ae25 | Dave Stevenson | 18 February 2019, 15:52:29 UTC | staging: mmal-vchiq: Update mmal_parameters.h with recently defined params mmal_parameters.h hasn't been updated to reflect additions made over the last few years. Update it to reflect the currently supported parameters. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:19 UTC |
c391b1f | Dave Stevenson | 15 February 2019, 11:38:45 UTC | staging: bcm2835_codec: Fix handling of VB2_MEMORY_DMABUF buffers If the queue is configured as VB2_MEMORY_DMABUF then vb2_core_expbuf fails as it ensures the queue is defined as VB2_MEMORY_MMAP. Correct the handling so that we unmap the buffer from vcsm and the VPU on cleanup, and then correctly get the dma buf of the new buffer. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:19 UTC |
cb5ea9f | Dave Stevenson | 15 February 2019, 11:36:14 UTC | staging: bcm2835_codec: Add an option for ignoring Bayer formats. This is a workaround for GStreamer currently not identifying Bayer as a raw format, therefore any device that supports it does not match the criteria for v4l2convert. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:18 UTC |
e87fd37 | Dave Stevenson | 13 February 2019, 14:07:52 UTC | staging: bcm2835_codec: Add support for the ISP as an M2M device The MMAL ISP component can also use this same V4L2 wrapper to provide a M2M format conversion and resizer. Instantiate 3 V4L2 devices now, one for each of decode, encode, and isp. The ISP currently doesn't expose any controls via V4L2, but this can be extended in the future. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:18 UTC |
c93ff0f | Dave Stevenson | 13 February 2019, 13:44:00 UTC | staging: bcm2835_codec: Query supported formats from the component The driver was previously working with hard coded tables of which video formats were supported by each component. The components advertise this information via a MMAL parameter, so retrieve the information from there during probe, and store in the state structure for that device. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:18 UTC |
0942781 | Dave Stevenson | 13 February 2019, 12:51:03 UTC | staging: mmal-vchiq: If the VPU returns an error, don't negate it There is an enum for the errors that the VPU can return. port_parameter_get was negating that value, but also using -EINVAL from the Linux error codes. Pass the VPU error code as positive values. Should the function need to pass a Linux failure, then return that as negative. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:18 UTC |
95f3642 | Dave Stevenson | 13 February 2019, 12:36:56 UTC | staging: mmal-vchiq: Always return the param size from param_get mmal-vchiq is a reimplementation of the userland library for MMAL. When getting a parameter, the client provides the storage and the size of the storage. The VPU then returns the size of the parameter that it wished to return, and as much as possible of that parameter is returned to the client. The implementation previously only returned the size provided by the VPU should it exceed the buffer size. So for parameters such as the supported encodings list the client had no idea how much of the provided storage had been populated. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:17 UTC |
0e63dc9 | Dave Stevenson | 13 February 2019, 12:33:29 UTC | staging: mmal_vchiq: Add in the Bayer encoding formats The list of formats was copied before Bayer support was added. The ISP supports Bayer and is being supported by the bcm2835_codec driver, so add in the encodings for them. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:17 UTC |
e806977 | Dave Stevenson | 19 February 2019, 15:18:25 UTC | drm: vc4: Programming the CTM is conditional on running full KMS vc4_ctm_commit writes to HVS registers, so this is only applicable when in full KMS mode, not in firmware KMS mode. Add this conditional. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:17 UTC |
32fdc4d | Dave Stevenson | 19 February 2019, 15:06:31 UTC | gpu:vc4-fkms: Update driver to not use plane->crtc. Following on from commit 2f958af7fc248 ("drm/vc4: Stop updating plane->fb/crtc") do the same in the firmwarekms driver and look at plane_state->crtc instead. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:16 UTC |
054f10a | Phil Elwell | 18 February 2019, 15:43:30 UTC | Revert "brcmfmac: Mute expected startup 'errors'" This reverts commit 34eba9138ccf8d84552ab9dae37d8f348640e663. Upstream patch 26e537884a ("brcmfmac: Do not complain about country code "00") fixes the same issue, so drop this downstream patch. Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 02 April 2019, 11:56:16 UTC |
a8012ee | Zahari Petkov | 08 February 2019, 11:33:47 UTC | configs: Add CONFIG_LEDS_PCA963X=m Enable support for PCA963x I2C chip. Needed for the balenaFin v1.1.0 carrier board for the Raspberry Pi Compute Module 3/3+ Lite. Signed-off-by: Zahari Petkov <zahari@balena.io> | 02 April 2019, 11:56:16 UTC |
39eaf8d | Zahari Petkov | 08 February 2019, 11:03:38 UTC | overlays: balenaFin v1.1.0 carrier board update A backward compatible update for the balenaFin carrier board for the Raspberry Pi Compute Module 3/3+ Lite. The updated overlay includes: * support for the newly introduced RGB LEDs * i2c-gpio and SDIO improvements * DT based Marvell 88W8887 configuration Signed-off-by: Zahari Petkov <zahari@balena.io> | 02 April 2019, 11:56:16 UTC |
f7385c2 | Phil Elwell | 07 February 2019, 18:16:25 UTC | configs: Enable the AD193x codecs See: https://github.com/raspberrypi/linux/issues/2850 Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 02 April 2019, 11:56:15 UTC |
b214a9f | Dave Stevenson | 05 February 2019, 12:31:23 UTC | config: Add IPVLAN module to bcmrpi3_defconfig It's built for the 32bit kernels, but not for the 64bit ones. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:15 UTC |
3a7c932 | Dave Stevenson | 04 February 2019, 13:42:51 UTC | configs: Add V4L2 codec driver to bcmrpi3_defconfig As this is now fixed to work with 64bit kernels, add it to the defconfig. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:15 UTC |
e0dcf26 | Dave Stevenson | 04 February 2019, 12:45:25 UTC | configs: Add VIDEO_BCM2835 to bcmrpi3_defconfig This is now shown to work with 64 bit kernels, so add it to the defconfig. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:15 UTC |
5d39f7b | Dave Stevenson | 04 February 2019, 12:35:06 UTC | configs: Add Unicam and subdevices to bcmrpi3_defconfig The bcm2835-unicam, tc358743, adv7180 (for adv7282m) and ov5647 have been tested on a 64bit kernel and shown to work. Add them to the config. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:14 UTC |
3d98cc1 | Dave Stevenson | 29 January 2019, 16:32:57 UTC | staging: vc-sm-cma: Fix up for 64bit builds There were a number of logging lines that were using inappropriate formatting under 64bit kernels. The kernel_id field passed to/from the VPU was being abused for storing the struct vc_sm_buffer *. This breaks with 64bit kernels, so change to using an IDR. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:14 UTC |
6c5c416 | Dave Stevenson | 29 January 2019, 16:29:00 UTC | staging: vc-sm-cma: Use a void* pointer as the handle within the kernel The driver was using an unsigned int as the handle to the outside world, and doing a nasty cast to the struct dmabuf when handed it back. This breaks badly with a 64 bit kernel where the pointer doesn't fit in an unsigned int. Switch to using a void* within the kernel. Reality is that it is a struct dma_buf*, but advertising it as such to other drivers seems to encourage the use of it as such, and I'm not sure on the implications of that. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:14 UTC |
d678f50 | Dave Stevenson | 29 January 2019, 16:24:41 UTC | staging: vc-sm-cma: Correct DMA configuration. Now that VCHIQ is setting up the DMA configuration as our parent device, don't try to configure it during probe. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:14 UTC |
4d3fbf2 | Dave Stevenson | 29 January 2019, 16:13:25 UTC | staging: vchiq_arm: Set up dma ranges on child devices The VCHIQ driver now loads the audio, camera, codec, and vc-sm drivers as platform drivers. However they were not being given the correct DMA configuration. Call of_dma_configure with the parent (VCHIQ) parameters to be inherited by the child. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:13 UTC |
79fdb9e | Dave Stevenson | 30 January 2019, 17:47:51 UTC | usb: dwc_otg: Use dma allocation for mphi dummy_send buffer The FIQ driver used a kzalloc'ed buffer for dummy_send, passing a kernel virtual address to the hardware block. The buffer is only ever used for a dummy read, so it should be harmless, but there is the chance that it will cause exceptions. Use a dma allocation so that we have a genuine bus address, and read from that. Free the allocation when done for good measure. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:13 UTC |
3e05d01 | Dave Stevenson | 25 January 2019, 16:03:31 UTC | usb: dwc_otg: Clean up build warnings on 64bit kernels No functional changes. Almost all are changes to logging lines. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:13 UTC |
c3a0ee6 | Dan Carpenter | 21 December 2018, 09:11:20 UTC | ASoC: pcm512x: Fix a double unlock in pcm512x_digital_mute() [ Upstream commit 28b698b7342c7d5300cfe217cd77ff7d2a55e03d ] We accidentally call mutex_unlock(&pcm512x->mutex); twice in a row. I re-wrote the error handling to use "goto unlock;" instead of returning directly. Hopefully, it makes the code a little simpler. Fixes: 3500f1c589e9 ("ASoC: pcm512x: Implement the digital_mute interface") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviwed-by: Dimitris Papavasiliou <dpapavas@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org> | 02 April 2019, 11:56:13 UTC |
28a0d2d | Dimitris Papavasiliou | 24 November 2018, 20:05:42 UTC | ASoC: pcm512x: Implement the digital_mute interface [ Upstream commit 3500f1c589e92e0b6b1f8d31b4084fbde08d49cb ] Clicks and pops of various volumes can be produced while the device is opened, closed, put into and taken out of standby, or reconfigured. Fix this, by implementing the digital_mute interface, so that the output is muted during such operations. Signed-off-by: Dimitris Papavasiliou <dpapavas@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org> | 02 April 2019, 11:56:12 UTC |
b82107b | Phil Elwell | 20 July 2018, 21:08:05 UTC | bcm283x: Set the DISDEBUG flag for SD transfers Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 02 April 2019, 11:56:12 UTC |
aab6f4b | Phil Elwell | 20 July 2018, 21:03:41 UTC | bcm2835-dma: Add support for per-channel flags Add the ability to interpret the high bits of the dreq specifier as flags to be included in the DMA_CS register. The motivation for this change is the ability to set the DISDEBUG flag for SD card transfers to avoid corruption when using the VPU debugger. Signed-off-by: Phil Elwell <phil@raspberrypi.org> | 02 April 2019, 11:56:12 UTC |
662669d | Dave Stevenson | 25 January 2019, 17:32:54 UTC | video: bcm2708_fb: Clean up coding style issues Now checkpatch clean except for 2 long lines, missing SPDX header, and no DT documentation. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:12 UTC |
852d66a | Dave Stevenson | 25 January 2019, 17:11:39 UTC | video: bcm2708_fb: Fix warnings on 64 bit builds Fix up logging lines where the wrong format specifiers were being used. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:11 UTC |
19b3c92 | Dave Stevenson | 25 January 2019, 17:12:54 UTC | video: bcm2708_fb: Add compat_ioctl support. When using a 64 bit kernel with 32 bit userspace we need compat ioctl handling for FBIODMACOPY as one of the parameters is a pointer. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:11 UTC |
685e09b | Dave Stevenson | 24 January 2019, 16:36:19 UTC | staging: bcm2835-codec: Fix potentially uninitialised vars src_m2m_buf and dst_m2m_buf were printed in log messages when there are code paths that don't initialise them. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:11 UTC |
4eaeebb | Dave Stevenson | 24 January 2019, 16:40:01 UTC | staging: bcm2835-codec: variable vb2 may be used uninitialised In op_buffer_cb, the failure path checked whether there was an associated vb2 buffer before the variable vb2 had been assigned. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:11 UTC |
d044b3e | Dave Stevenson | 24 January 2019, 16:20:38 UTC | staging: bcm2835-camera: Correct ctrl min/max/step/def to 64bit The V4L2 control API was expanded to take 64 bit values in commit 0ba2aeb6dab (Apr 16 2014), but as this driver wasn't in the mainline kernel at that point this was overlooked. Update to use 64 bit values. This also fixes a couple of warnings in 64 bit builds. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:10 UTC |
31ef714 | Matt Flax | 29 January 2019, 03:56:03 UTC | audioinjector-octo: revert to dummy supplies The Audio Injector Octo has had a lot of reports of not coming up on power cycles. By reverting to dummy supplies, the card comes up reliably. | 02 April 2019, 11:56:10 UTC |
67028c8 | Dave Stevenson | 29 January 2019, 15:56:10 UTC | media:bcm2835-unicam: Power on subdev on open/release, not streaming The driver was powering on the source subdevice as part of STREAMON, and powering it off in STREAMOFF. This isn't so great if there is a significant amount of setup required for your device. Copy the approach taken in the Atmel ISC driver where s_power(1) is called on first file handle open, and s_power(0) is called on the last release. See https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=232437 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:10 UTC |
34355b4 | Dave Stevenson | 18 September 2018, 10:08:51 UTC | media: ov5647: Use gpiod_set_value_cansleep All calls to the gpio library are in contexts that can sleep, therefore there is no issue with having those GPIOs controlled by controllers which require sleeping (eg I2C GPIO expanders). Switch to using gpiod_set_value_cansleep instead of gpiod_set_value to avoid triggering the warning in gpiolib should the GPIO controller need to sleep. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:10 UTC |
666663f | Dave Stevenson | 18 September 2018, 09:47:38 UTC | dtoverlays: Correct DT handling camera GPIOs The firmware has support for updating overrides with the correct GPIO settings for the camera GPIOs, but the wrong device tree setup ended up being merged. Correct the DT configuration so that the firmware does set it up correctly. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:09 UTC |
18566ca | Dave Stevenson | 28 January 2019, 14:42:34 UTC | input: rpi-ft5406: Clear build warning on 64 bit builds. Resolve 64 bit build warning over using %x with a dma_addr_t. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:09 UTC |
74f38f3 | Dave Stevenson | 28 January 2019, 14:40:16 UTC | gpu: vc4_firmware_kms: Fix up 64 bit compile warnings. Resolve two build warnings with regard using incorrectly sized parameters in logging messages on 64 bit builds. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:09 UTC |
122cf25 | Serge Schneider | 29 January 2019, 12:05:49 UTC | mfd: Add rpi_sense_core of compatible string | 02 April 2019, 11:56:09 UTC |
7a2aa46 | Dave Stevenson | 24 January 2019, 15:09:28 UTC | clk: clk-bcm2835: Use %zd when printing size_t The debug text for how many clocks have been registered uses "%d" with a size_t. Correct it to "%zd". Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:08 UTC |
9694b08 | Dave Stevenson | 23 January 2019, 18:37:29 UTC | char: vc_mem: Fix all coding style issues. Cleans up all checkpatch errors in vc_mem.c and vc_mem.h No functional change to the code. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:08 UTC |
aaf17eb | Dave Stevenson | 23 January 2019, 18:25:50 UTC | char: vc_mem: Fix up compat ioctls for 64bit kernel compat_ioctl wasn't defined, so 32bit user/64bit kernel always failed. VC_MEM_IOC_MEM_PHYS_ADDR was defined with parameter size unsigned long, so the ioctl cmd changes between sizes. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:08 UTC |
b80370b | Dave Stevenson | 15 January 2019, 16:32:33 UTC | staging: bcm2835-camera: Set the field value within each buffer Fixes a v4l2-compliance failure v4l2-test-buffers.cpp(415): g_field() == V4L2_FIELD_ANY The driver only ever produces progresive frames, so field should always be set to V4L2_FIELD_NONE. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:08 UTC |
d57fa7c | Dave Stevenson | 15 January 2019, 15:35:24 UTC | staging: bcm2835-camera: Add sanity checks for queue_setup/CREATE_BUFS Fixes a v4l2-compliance failure when passed a buffer that is too small. queue_setup wasn't handling the case where !(*nplanes), as used from CREATE_BUFS and requiring the driver to sanity check the provided buffer parameters. It was assuming that it was always being used in the REQBUFS case where it provides the buffer properties. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:07 UTC |
9cc8ca0 | Dave Stevenson | 22 January 2019, 12:04:09 UTC | staging: mmal-vchiq: Fix client_component for 64 bit kernel The MMAL client_component field is used with the event mechanism to allow the client to identify the component for which the event is generated. The field is only 32bits in size, therefore we can't use a pointer to the component in a 64 bit kernel. Component handles are already held in an array per VCHI instance, so use the array index as the client_component handle to avoid having to create a new IDR for this purpose. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:07 UTC |
7dab6b4 | Dave Stevenson | 24 January 2019, 14:03:28 UTC | char: vcio: Fail probe if rpi_firmware is not found. Device Tree is now the only supported config mechanism, therefore uncomment the block of code that fails the probe if the firmware node can't be found. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | 02 April 2019, 11:56:07 UTC |