Age | Commit message (Collapse) | Author |
|
Conflicting files:
arch/arm64/configs/defconfig
|
|
this patch will be ported uefi. in order to verify other driver,
this patch temporary use it. When uefi replace it, it will delete
it.
Signed-off-by: Xinwei Kong <kong.kongxinwei@hisilicon.com>
|
|
Add Hi6220 mtcmos regulator driver.
Signed-off-by: Fei Wang <w.f@huawei.com>
|
|
Add Hi655x regulator driver.
Signed-off-by: Fei Wang <w.f@huawei.com>
|
|
Add core files for Hi655x MFD driver.
Signed-off-by: Fei Wang <w.f@huawei.com>
|
|
Add driver for Hi6220 mailbox, the mailbox communicates with MCU; for
sending data, it can support two methods for low level implementation:
one is to use interrupt as acknowledge, another is automatic mode which
without any acknowledge. These two methods have been supported in the
driver. For receiving data, it will depend on the interrupt to notify
the channel has incoming message; enhance rx channel's message queue,
which is based on the code in drivers/mailbox/omap-mailbox.c.
Now mailbox driver is used to send message to MCU to control dynamic
voltage and frequency scaling for CPU, GPU and DDR.
Signed-off-by: Leo Yan <leo.yan@linaro.org>
|
|
Conflicts:
linaro/configs/vexpress64.conf
|
|
Conflicts:
arch/arm64/boot/dts/arm/juno-base.dtsi
linaro/configs/vexpress64.conf
|
|
Conflicts:
linaro/configs/vexpress64.conf
|
|
|
|
|
|
merge-linux-linaro-core-tracking
|
|
Needed on Linux 4.3 for clk_set_rate_range definition
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
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>
|
|
ion_buffer_create() will allocate a buffer and then create a DMA
mapping for it, but it forgot to set the length of the page entries.
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
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>
|
|
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>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
For designs where EEPROMs are not connected to PCI Yukon2
chips we need to get the MAC address from the firmware.
Add a module parameter called 'mac_address' for this. It
will be used if no DT node can be found and the B2_MAC
register holds an invalid value.
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
On building for Linux 4.3 we get
drivers/gpu/arm/midgard/mali_kbase_gpu_memory_debugfs.c: In function 'kbasep_gpu_memory_seq_show':
drivers/gpu/arm/midgard/mali_kbase_gpu_memory_debugfs.c:46:7: error: void value not ignored as it ought to be
ret = seq_printf(sfile, "%-16s %10u\n",
^
so remove all use of 'ret'.
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
This is now done in the simple_ondemand devfreq governor.
Signed-off-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Setting up the OPPs via a module relies on the module being loaded at
the right time. For Juno that means that it has to be loaded after the
SCPI clocks are loaded but before the core mali driver. Getting that
ordering right is quite a pain and now that the SCPI is a platform
driver, using module_init is a guarantee for failure, as it's always
going to happen before any platform driver is loaded.
Instead, make setting up the opps a function that the driver
provides as a weak, dummy function that can be overridden by platforms
providing a strong function if they need to set up OPPs.
Signed-off-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Clocks are also registered as a module platform driver and you can't
ensure that the clocks will be registered before the Mali driver so
defer the probe of the Mali driver until the clocks are ready.
Signed-off-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Fix juno_mali_opp.c for the LSK 3.18 kernel. This still needs to be
called at the right point in time, that is to say after SCPI has been
initialised and before the Mali GPU driver gets initialised.
[Commit message wording by Guillaume Tucker <guillaume.tucker@arm.com>]
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Fix juno_soc/Kbuild for both built-in and module
mali_kbase.ko configurations. The juno_mali_opp.ko
needs to be inserted manually first.
Signed-off-by: Guillaume Tucker <guillaume.tucker@arm.com>
|
|
Add drivers/gpu/arm/midgard and drivers/base/ump to
top-level Kconfig and Kbuild files.
Signed-off-by: Guillaume Tucker <guillaume.tucker@arm.com>
|
|
Import all the files from TX011-BU-00001-r6p0-02rel0.
Signed-off-by: Guillaume Tucker <guillaume.tucker@arm.com>
|
|
To make display colours look right on Versatile Express
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>
|
|
On some ARM based systems, a separate Cortex-M based System Control
Processor(SCP) provides the overall power, clock, reset and system
control including CPU DVFS. SCPI Message Protocol is used to
communicate with the SCPI.
This patch adds a interface driver for adding OPPs and registering
the arm_big_little cpufreq driver for such systems.
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: linux-pm@vger.kernel.org
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
The clocks for the CPUs are provided by SCP and are managed by this
clock driver. So the cpufreq device needs to be added only after the
clock get registered and removed when this driver is unloaded.
This patch manages the cpufreq virtual device based on the clock
availability.
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Mike Turquette <mturquette@baylibre.com>
Cc: Liviu Dudau <Liviu.Dudau@arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Jon Medhurst (Tixy) <tixy@linaro.org>
Cc: linux-clk@vger.kernel.org
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
On some ARM based systems, a separate Cortex-M based System Control
Processor(SCP) provides the overall power, clock, reset and system
control. System Control and Power Interface(SCPI) Message Protocol
is defined for the communication between the Application Cores(AP)
and the SCP.
This patch adds support for the clocks provided by SCP using SCPI
protocol.
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Cc: Mike Turquette <mturquette@baylibre.com>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Liviu Dudau <Liviu.Dudau@arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Jon Medhurst (Tixy) <tixy@linaro.org>
Cc: linux-clk@vger.kernel.org
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
This patch adds support for System Control and Power Interface (SCPI)
Message Protocol used between the Application Cores(AP) and the System
Control Processor(SCP). The MHU peripheral provides a mechanism for
inter-processor communication between SCP's M3 processor and AP.
SCP offers control and management of the core/cluster power states,
various power domain DVFS including the core/cluster, certain system
clocks configuration, thermal sensors and many others.
This protocol driver provides interface for all the client drivers using
SCPI to make use of the features offered by the SCP.
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Reviewed-by: Jon Medhurst (Tixy) <tixy@linaro.org>
Cc: Jassi Brar <jassisinghbrar@gmail.com>
Cc: Liviu Dudau <Liviu.Dudau@arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
The check for correct frequency being set in bL_cpufreq_set_rate is
broken when the big.LITTLE switcher is active, for two reasons.
1. The 'new_rate' variable gets overwritten before the test by the
code calculating the frequency of the old cluster.
2. The frequency returned by bL_cpufreq_get_rate will be the virtual
frequency, not the actual one the intended version of new_rate contains.
This means the function always returns an error causing an endless
stream of: "cpufreq: __target_index: Failed to change cpu frequency: -5"
As the comment for the test indicates that it is temporary and limited
lets not bother fixing it to work when the bL switcher is active and
instead just bypass the test in that case.
Fixes: 0a95e630b49a ("cpufreq: arm_big_little: check if the frequency is set correctly")
Signed-off-by: Jon Medhurst <tixy@linaro.org>
|
|
Pull md fixes from Neil Brown:
"Assorted fixes for md in 4.3-rc.
Two tagged for -stable, and one is really a cleanup to match and
improve kmemcache interface.
* tag 'md/4.3-fixes' of git://neil.brown.name/md:
md/bitmap: don't pass -1 to bitmap_storage_alloc.
md/raid1: Avoid raid1 resync getting stuck
md: drop null test before destroy functions
md: clear CHANGE_PENDING in readonly array
md/raid0: apply base queue limits *before* disk_stack_limits
md/raid5: don't index beyond end of array in need_this_block().
raid5: update analysis state for failed stripe
md: wait for pending superblock updates before switching to read-only
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fixes from Thomas Gleixner:
"This update contains:
- Fix for a long standing race affecting /proc/irq/NNN
- One line fix for ARM GICV3-ITS counting the wrong data
- Warning silencing in ARM GICV3-ITS. Another GCC trying to be
overly clever issue"
* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
irqchip/gic-v3-its: Count additional LPIs for the aliased devices
irqchip/gic-v3-its: Silence warning when its_lpi_alloc_chunks gets inlined
genirq: Fix race in register_irq_proc()
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer fixes from Ingo Molnar:
"An abs64() fix in the watchdog driver, and two clocksource driver
NO_IRQ assumption fixes"
* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
clocksource: Fix abs() usage w/ 64bit values
clocksource/drivers/keystone: Fix bad NO_IRQ usage
clocksource/drivers/rockchip: Fix bad NO_IRQ usage
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull EFI fixes from Ingo Molnar:
"Two EFI fixes: one for x86, one for ARM, fixing a boot crash bug that
can trigger under newer EFI firmware"
* 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
arm64/efi: Fix boot crash by not padding between EFI_MEMORY_RUNTIME regions
x86/efi: Fix boot crash by mapping EFI memmap entries bottom-up at runtime, instead of top-down
|