Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
git://git.linaro.org/kernel/linux-linaro-stable into 4.4-armlt
|
|
|
|
|
|
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>
|
|
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>
|
|
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
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>
|
|
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>
|
|
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Signed-off-by: Andrew Jackson <Andrew.Jackson@arm.com>
[Updated over multiple rebases]
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
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>
|
|
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>
|
|
Heavily based on earlier version of HDLCD driver by
Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
This is what Android expects so it can do double buffering.
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
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>
|
|
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>
|
|
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
If hardware is already initialised (e.g. by UEFI) then that seems to
cause us problems.
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
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>
|
|
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>
|
|
To make display colours look right on Versatile Express
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
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>
|
|
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>
|
|
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>
|
|
drm_do_get_edid doesn't exist in 3.18
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
This got accidentally omitted during a code reog.
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
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>
|
|
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
This reverts commit 924eb475126fd6bc23c475ac742a69fc466c0b75.
because breaks audio on Juno and looks wrong, see:
http://www.spinics.net/lists/arm-kernel/msg475915.html
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|