aboutsummaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2015-10-08Automatically merging tracking-integration-linux-qcomlt into merge-linux-linaroll-20151008.0ll_20151008.0Andrey Konovalov
Conflicting files: arch/arm64/configs/defconfig
2015-10-08hisilicon: iic: add sloving reset functionXinwei Kong
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>
2015-10-08mtcmos: Hi6220: Add Hi6220 mtcmos regulator driverFei Wang
Add Hi6220 mtcmos regulator driver. Signed-off-by: Fei Wang <w.f@huawei.com>
2015-10-08regulator: Hi655x: Add support for Hi655x regulatorFei Wang
Add Hi655x regulator driver. Signed-off-by: Fei Wang <w.f@huawei.com>
2015-10-08mfd: Hi655x: Add support for PMIC Hi655x MFDFei Wang
Add core files for Hi655x MFD driver. Signed-off-by: Fei Wang <w.f@huawei.com>
2015-10-08mailbox: Hi6220: add mailbox driverLeo Yan
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>
2015-10-06Merge branch 'tracking-armlt-juno-pci' into integration-linaro-vexpresstracking-integration-linaro-vexpress-ll-20151016.0tracking-integration-linaro-vexpress-ll-20151014.0tracking-integration-linaro-vexpress-ll-20151008.0Jon Medhurst
Conflicts: linaro/configs/vexpress64.conf
2015-10-06Merge branch 'tracking-armlt-mali' into integration-linaro-vexpressJon Medhurst
Conflicts: arch/arm64/boot/dts/arm/juno-base.dtsi linaro/configs/vexpress64.conf
2015-10-06Merge branch 'tracking-armlt-hdlcd' into integration-linaro-vexpressJon Medhurst
Conflicts: linaro/configs/vexpress64.conf
2015-10-06Merge branch 'tracking-armlt-juno' into integration-linaro-vexpressJon Medhurst
2015-10-06Merge branch 'tracking-armlt-fixes' into integration-linaro-vexpressJon Medhurst
2015-10-06Merge branch 'tracking-linaro-android-llct' into ↵Andrey Konovalov
merge-linux-linaro-core-tracking
2015-10-06clk: scpi: Add missing include <linux/clk.h>Jon Medhurst
Needed on Linux 4.3 for clk_set_rate_range definition Signed-off-by: Jon Medhurst <tixy@linaro.org>
2015-10-06drm: 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>
2015-10-06drm: 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>
2015-10-06drm: hdlcd: Fork drm_fb_cma_helper -> hdlcd_fb_helperJon Medhurst
Because we need to modify it to get Android and Mali working Signed-off-by: Jon Medhurst <tixy@linaro.org>
2015-10-06drm: 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>
2015-10-06staging: android: ion: Set the length of the DMA sg entries in buffer.Liviu Dudau
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>
2015-10-06drm: hdlcd: Set default colour depth to match Android's expectationsJon Medhurst
Signed-off-by: Jon Medhurst <tixy@linaro.org>
2015-10-06drm: 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>
2015-10-06drm: 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>
2015-10-06drm: 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>
2015-10-06drm: 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>
2015-10-06ASoC: 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> Signed-off-by: Jon Medhurst <tixy@linaro.org>
2015-10-05sky2: Add module parameter for passing the MAC addressLiviu Dudau
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>
2015-10-05mali: Fix "error: void value not ignored as it ought to be"Jon Medhurst
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>
2015-10-05mali: Compilation fix for Linux 4.0Jon Medhurst
Signed-off-by: Jon Medhurst <tixy@linaro.org>
2015-10-05mali: don't update devfreq's last_statusJavi Merino
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>
2015-10-05mali: make setting up the OPPs a weak functionJavi Merino
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>
2015-10-05mali: defer driver registration until the clock has been registeredJavi Merino
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>
2015-10-05mali: update juno_mali_opp.c for LSK 3.18 SCPI versionJon Medhurst
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>
2015-10-05mali: fix Kbuild for juno_soc platformGuillaume Tucker
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>
2015-10-05drivers/gpu: add ARM Mali driver to Kconfig and KbuildGuillaume Tucker
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>
2015-10-05mali: add TX011-BU-00001-r6p0-02rel0Guillaume Tucker
Import all the files from TX011-BU-00001-r6p0-02rel0. Signed-off-by: Guillaume Tucker <guillaume.tucker@arm.com>
2015-10-05HACK: 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>
2015-10-05drm/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>
2015-10-05drm: 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>
2015-10-05drm: 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>
2015-10-05drm: 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>
2015-10-05drm: hdlcd: Get clock when driver is loadedJon Medhurst
This got accidentally omitted during a code reog. Signed-off-by: Jon Medhurst <tixy@linaro.org>
2015-10-05drm: 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>
2015-10-05cpufreq: arm_big_little: add SCPI interface driverSudeep Holla
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>
2015-10-05clk: scpi: add support for cpufreq virtual deviceSudeep Holla
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>
2015-10-05clk: add support for clocks provided by SCP(System Control Processor)Sudeep Holla
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>
2015-10-05firmware: add support for ARM System Control and Power Interface(SCPI) protocolSudeep Holla
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>
2015-10-05cpufreq: arm_big_little: fix frequency check when bL switcher is activeJon Medhurst
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>
2015-10-04Merge tag 'md/4.3-fixes' of git://neil.brown.name/mdLinus Torvalds
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
2015-10-04Merge branch 'irq-urgent-for-linus' of ↵Linus Torvalds
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()
2015-10-03Merge branch 'timers-urgent-for-linus' of ↵Linus Torvalds
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
2015-10-03Merge branch 'core-urgent-for-linus' of ↵Linus Torvalds
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