aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-07-27Merge branch '4.4-armlt-mali' into 4.4-armlttesting-4.4-armltRyan Harkin
2017-07-27Merge branch '4.4-armlt-ipa' into 4.4-armltRyan Harkin
2017-07-27Merge branch '4.4-armlt-hdlcd' into 4.4-armltRyan Harkin
2017-07-27Merge branch '4.4-armlt-tda998x' into 4.4-armltRyan Harkin
2017-07-27Merge branch '4.4-armlt-scpi' into 4.4-armltRyan Harkin
2017-07-27Merge branch '4.4-armlt-hacks' into 4.4-armltRyan Harkin
2017-07-27Merge branch '4.4-armlt-fvp' into 4.4-armltRyan Harkin
2017-07-27Merge branch 'v4.4/topic/optee' of ↵Ryan Harkin
git://git.linaro.org/kernel/linux-linaro-stable into 4.4-armlt
2017-07-27Merge branch '4.4-armlt-optee' into 4.4-armltRyan Harkin
2017-07-27Merge branch '4.4-armlt-base' into 4.4-armltRyan Harkin
2017-05-11mali: fix for LSK 4.44.4-armlt-maliRyan Harkin
The function kstrtobool_from_user is added to the Mali code, but has also been cherry-picked into Linux 4.4.28. To resolve compilation problems, we remove the Mali version. Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
2017-05-11configs: vexpress64: Disable devfreq for mali driver4.4-armlt-ipaManish Pandey
Mali devfreq is currently incompatible with runtime power management which we want enabled. So disable devfreq for now. Signed-off-by: Manish Pandey <manish.pandey2@arm.com> [Commit message rewritten] Signed-off-by: Jon Medhurst <tixy@linaro.org> Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11configs: vexpress64: Add devfreq configsJon Medhurst
Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11configs: vexpress64: Add thermal configsJon Medhurst
Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11cpufreq: arm_big_little: Add support to register a cpufreq cooling devicePunit Agrawal
Register passive cooling devices when initialising cpufreq on big.LITTLE systems. If the device tree provides a dynamic power coefficient for the CPUs then the bound cooling device will support the extensions that allow it to be used with all the existing thermal governors including the power allocator governor. A cooling device will be created per individual frequency domain and can be bound to thermal zones via the thermal DT bindings. Signed-off-by: Punit Agrawal <punit.agrawal@arm.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> (cherry picked from commit 2f7e8a175db72bdaf377235962fd85796edb3fbc) Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11devicetree: bindings: Add optional dynamic-power-coefficient propertyPunit Agrawal
The dynamic power consumption of a device is proportional to the square of voltage (V) and the clock frequency (f). It can be expressed as Pdyn = dynamic-power-coefficient * V^2 * f. The coefficient represents the running time dynamic power consumption in units of mw/MHz/uVolt^2 and can be used in the above formula to calculate the dynamic power in mW. Signed-off-by: Punit Agrawal <punit.agrawal@arm.com> Acked-by: Rob Herring <robh@kernel.org> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> (cherry picked from commit 3be3f8f36e7349006f19c8c8f0d686e98462a993) Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11fixup! HACK: drm: hdlcd: Swap red and blue outputs on 32-bit ARM4.4-armlt-hdlcdJon Medhurst
Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11configs: vexpress64: Add sounds configsJon Medhurst
Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11Juno: Add I2S and TDA998x audio CODEC support.Andrew Jackson
Signed-off-by: Andrew Jackson <Andrew.Jackson@arm.com> [Updated over multiple rebases] Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11arm64: dts: Add i2s clock to Juno SCPIJon Medhurst
Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm: hdlcd: Update for API changes in 4.4 (part 2)Jon Medhurst
Update HDLCD driver for changes in b44f84081b8d ("drm: Stop using drm_vblank_count() as the hw frame counter") Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm: hdlcd: Update for API changes in 4.4Jon Medhurst
Update HDLCD driver for changes in commit 88e72717c2de ("drm/irq: Use unsigned int pipe in public API") Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm: hdlcd: Add ioctl interface for getting dma_buf of framebufferJon Medhurst
Heavily based on earlier version of HDLCD driver by Liviu Dudau <Liviu.Dudau@arm.com> Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm: hdlcd: Create frame buffers with a virtual height twice physical heightJon Medhurst
This is what Android expects so it can do double buffering. Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm: hdlcd: Fork drm_fb_cma_helper -> hdlcd_fb_helperJon Medhurst
Because we need to modify it to get Android and Mali working hdlcd_fb_helper files generated with cp drivers/gpu/drm/drm_fb_cma_helper.c drivers/gpu/drm/arm/hdlcd_fb_helper.c sed -e s/drm_fb_cma/hdlcd_fb/g -i drivers/gpu/drm/arm/hdlcd_fb_helper.c sed -e s/drm_fbdev_cma/hdlcd_drm_fbdev/g -i drivers/gpu/drm/arm/hdlcd_fb_helper.c sed -e s/fbdev_cma/hdlcd_fbdev/g -i drivers/gpu/drm/arm/hdlcd_fb_helper.c sed -e s/fb_cma/hdlcd_fb/g -i drivers/gpu/drm/arm/hdlcd_fb_helper.c sed -e 's/<drm\/hdlcd_fb_helper\.h>/\"hdlcd_fb_helper\.h\"/' -i drivers/gpu/drm/arm/hdlcd_fb_helper.c cp include/drm/drm_fb_cma_helper.h drivers/gpu/drm/arm/hdlcd_fb_helper.h sed -e s/drm_fb_cma/hdlcd_fb/g -i drivers/gpu/drm/arm/hdlcd_fb_helper.h sed -e s/drm_fbdev_cma/hdlcd_drm_fbdev/g -i drivers/gpu/drm/arm/hdlcd_fb_helper.h sed -e s/fbdev_cma/hdlcd_fbdev/g -i drivers/gpu/drm/arm/hdlcd_fb_helper.h Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm: hdlcd: Use drm_gem_cma_prime_get_sg_tableJon Medhurst
Rather than a custom implementation. This is possible since commit 1d1ddf67dc3b ("arm64: dma-mapping: implement dma_get_sgtable()") Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm: hdlcd: Set default colour depth to match Android's expectationsJon Medhurst
Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm: hdlcd: Make sure hardware is in a safe reset state at startupJon Medhurst
If hardware is already initialised (e.g. by UEFI) then that seems to cause us problems. Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm: hdlcd: Implement a wait for scanout change to be in effectJon Medhurst
User-side code doing double-buffering expects this in the situations that ends up using mode_set_base. Also only set scanout as needed, not on every interrupt, as that isn't required and is unsafe if the framebuffer state is part way through being updated. Code adapted from an earlier version of the driver which was written by Liviu Dudau <Liviu.Dudau@arm.com> Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm: hdlcd: Add implementation of mode_set_baseJon Medhurst
This prevents drm_crtc_helper_set_config from doing a full mode_set when just the the framebuffer start address is changed. E.g. when userside is implementing double buffering. Without this change, such uses cause monitors to be in a permanent state of lost signal synchronisation. Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11HACK: drm: hdlcd: Swap red and blue outputs on 32-bit ARMJon Medhurst
To make display colours look right on Versatile Express Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11config: vexpress: Enable HDLCDJon Medhurst
Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11configs: vexpress64: Enable HDLCDJon Medhurst
Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11arm64: Juno: Comment out the secondary HDLCD controllerLiviu Dudau
The HDLCD controllers on Juno share the same PLL for the pixel clock output. If the secondary output is not connected to a monitor with the same resolution as the primary output, or to a monitor with VGA resolution, it will cause the pixel clock to be set to the wrong value for the primary output. Comment out the secondary HDLCD controller for now. Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com> Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11Juno: Change I2C bus speed used for HDMI to 100kHz.Liviu Dudau
The I2C bus driver has problems under heavy load to keep the FIFO filled. Combined with the auto-STOP setting baked into the hardware, it spells disaster for conversations with HDMI chip, specially around the boot time when we want to retrieve the EDID information. Change the bus speed to 100kHz to increase the chance of servicing the "FIFO empty" interrupt in time. Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com> Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11ARM: dts: Wire up HDLCD on vexpressJon Medhurst
The HDLCD DRM driver won't work without these. Also disable the motherboard CLCD device because we can only have one active display on vexpress and we want that to be the fast, high-res, HDLCD on the CoreTiles, not the slow CLCD on the motherboard. Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm/i2c: dummy: Update dummy_encoder_get_modes for Linux 3.18Jon Medhurst
drm_do_get_edid doesn't exist in 3.18 Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm/i2c: dummy: Add dummy HDMI deviceJon Medhurst
ARM Versatile Express motherboards contain a Silicon Image SiI9022 HDMI encoder which unfortunately can not be reliably accessed by the kernel. To work around this we provide a dummy driver to provide the interfaces DRM drivers might expect but which doesn't actually access the hardware in any way. Setup of the HDMI encoder hardware must therefore be achieved through other means. On Versatile Express this can be done with the DVIMODE and MUXFPGA values in config.txt This dummy driver was constructed by copying tda998x_drv.c and stripping out code and renaming functions. It contains a hard coded EDID for a 1024x768 display (generated from Documentation/EDID/Makefile). Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm: hdlcd: Specify an implementation of set_busidJon Medhurst
Otherwise we get kernel warnings like: WARNING: CPU: 1 PID: 1699 at drivers/gpu/drm/drm_ioctl.c:141 drm_setversion+0xdf/0xe0() No drm_driver.set_busid() implementation provided by 0xc07817c8. Use drm_dev_set_unique() to set the unique name explicitly. Modules linked in: CPU: 1 PID: 1699 Comm: Xorg Not tainted 4.2.0-rc2-00284-gb0edcd8-dirty #18 [<c001123d>] (show_stack) from [<c04ae6b5>] (dump_stack+0x69/0x74) [<c04ae6b5>] (dump_stack) from [<c002151d>] (warn_slowpath_common+0x69/0x90) [<c002151d>] (warn_slowpath_common) from [<c0021567>] (warn_slowpath_fmt+0x23/0x2c) [<c0021567>] (warn_slowpath_fmt) from [<c0318717>] (drm_setversion+0xdf/0xe0) [<c0318717>] (drm_setversion) from [<c03183eb>] (drm_ioctl+0x25f/0x3f0) [<c03183eb>] (drm_ioctl) from [<c00dfa1b>] (do_vfs_ioctl+0x2f7/0x44c) [<c00dfa1b>] (do_vfs_ioctl) from [<c00dfbbd>] (SyS_ioctl+0x4d/0x58) [<c00dfbbd>] (SyS_ioctl) from [<c000e481>] (ret_fast_syscall+0x1/0x4c) Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm: hdlcd: Initialise driver with late_initcall instead of module_initJon Medhurst
This is a workaround to ensure the i2c driver is loaded first and should let us now have the driver built-in rather than as a loadable module. Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm: hdlcd: Return an error when failing to allocate memory for framebuffer.Liviu Dudau
Existing code was not checking the "error encoded as a pointer" return of the drm_fbdev_cma_init() which causes crashes if the DRM framework fails to allocate CMA memory for the framebuffer. Fix this and call the cleanup function on the failure path. Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com> Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm: hdlcd: Get clock when driver is loadedJon Medhurst
This got accidentally omitted during a code reog. Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm: Add support for ARM's HDLCD controller.Liviu Dudau
The HDLCD controller is a display controller that supports resolutions up to 4096x4096 pixels. It is present on various development boards produced by ARM Ltd and emulated by the latest Fast Models from the company. Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com> Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11drm: arm: Add DT bindings documentation for HDLCD driver.Liviu Dudau
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com> Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11Revert "ASoC: dwc: fix dma stop transferring issue"4.4-armlt-tda998xJon Medhurst
This reverts commit 924eb475126fd6bc23c475ac742a69fc466c0b75. because breaks audio on Juno and looks wrong, see: http://www.spinics.net/lists/arm-kernel/msg475915.html
2017-05-11drm: i2c: tda998x: Select appropriate sound clock rateAndrew Jackson
The average CTS value is based upon the (pixel) clock rate. Signed-off-by: Andrew Jackson <Andrew.Jackson@arm.com> Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11ASoC: tda998x: add a codec to the HDMI transmitterJean-Francois Moine
This patch adds a CODEC function to the NXP TDA998x HDMI transmitter. The CODEC handles both I2S and S/PDIF input and does dynamic input switch in the TDA998x I2C driver on start/stop audio streaming. Signed-off-by: Jean-Francois Moine <moinejf@free.fr> [added reg documentation for the DT bindings] Signed-off-by: Andrew Jackson <Andrew.Jackson@arm.com> Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com> [Rebased multiple times between kernel versions] Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11HACK: juno: Limit CPU frequency when running AArch32 kernels4.4-armlt-hacksJon Medhurst
The silicon doesn't seem to be able to cope with max frequency on the big core. Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11Revert "dmaengine: pl330: improve pl330_tx_status() function"Jon Medhurst
Commit aee4d1fac887 ("dmaengine: pl330: improve pl330_tx_status() function") is buggy because of various race conditions. A fix for a major part of the issue was proposed for mainline kernel [1] but rejected. As even with that fix is seems residue calculations go wrong occasionally the best thing if probably to be to revert the offending commit and go back to per-segment granularity residue calculation which seems much more reliable. [1] http://www.spinics.net/lists/dmaengine/msg08306.html Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-05-11HACK: Revert "cpufreq: arm_big_little: check if the frequency is set correctly"Jon Medhurst
This reverts commit 0a95e630b49a ("cpufreq: arm_big_little: check if the frequency is set correctly") Juno hardware and firmware are unreliable when changing CPU frequency so checking the result of these just generates pointless warnings and backraces we can't do anything about. Signed-off-by: Jon Medhurst <tixy@linaro.org>