diff options
author | Thuy Tran <thuy.tran.xh@rvc.renesas.com> | 2017-12-23 11:16:02 +0700 |
---|---|---|
committer | Thuy Tran <thuy.tran.xh@rvc.renesas.com> | 2018-01-30 10:00:50 +0700 |
commit | f86189b4063883c3fb50bc4561960515feff836f (patch) | |
tree | 5079c634189a48f94bd5c8dfe6b581224829077c /meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0016-Revert-hwspinlock-rcar-Add-support-for-R-Car-Gen3-Ha.patch | |
parent | 7acbf5e2f99c59478adbc73c6a40d314589a3009 (diff) |
rcar-gen3: linux-renesas: Upgrade Linux BSP to v3.6.0
This commit upgrades Linux BSP to v3.6.0 for supporting
Kernel v4.14 stable and updating following items:
[Kernel]
- Add support for WDIOF_CARDRESET.
[Power Management]
- Add missing iounmap to rcar_avs.c.
- Add big.LITTLE CAS support.
- Add CA53 CPUIdle support.
- Add CA53 EMS support.
- Add CA53 CPUFreq support.
[Audio driver]
- Confirm rmmod command operation of snd-soc-rcar.
- Skip disabled-SSI nodes.
- Care ssi_parent_mod and remove NULL check from
rsnd_mod_name()/rsnd_mod_id().
- Revert IOMMU support so far.
- Don't use runtime->sample_bits.
- More clear rsnd_get_dalign() for DALIGN.
- Clear SSI_MODE for non TDM Extended modes.
[Display driver]
- Confirm the Fence function.
- Add support for colorkey alpha blending.
- Disable vsp1 interrupt when startup.
[DMA Engine driver]
- Fix array-bounds warning refer chcr_ts[].
[PWM driver]
- Enable PWM2 in device tree.
[USB2.0 Function]
- Fix the problem that the interrupt becomes long time when
disconnecting the USB cable.
[Video Capture driver]
- Add V4L2_FIELD_SEQ_TB/BT function support.
- Add ARGB8888 caputre format support and overflow debug message
option.
- Fix cropping procedure.
[RWDT driver]
- Add support for WDIOF_CARDRESET.
Signed-off-by: Thuy Tran <thuy.tran.xh@rvc.renesas.com>
Signed-off-by: Takamitsu Honda <takamitsu.honda.pv@renesas.com>
Diffstat (limited to 'meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0016-Revert-hwspinlock-rcar-Add-support-for-R-Car-Gen3-Ha.patch')
-rw-r--r-- | meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0016-Revert-hwspinlock-rcar-Add-support-for-R-Car-Gen3-Ha.patch | 220 |
1 files changed, 0 insertions, 220 deletions
diff --git a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0016-Revert-hwspinlock-rcar-Add-support-for-R-Car-Gen3-Ha.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0016-Revert-hwspinlock-rcar-Add-support-for-R-Car-Gen3-Ha.patch deleted file mode 100644 index 7fd5650..0000000 --- a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0016-Revert-hwspinlock-rcar-Add-support-for-R-Car-Gen3-Ha.patch +++ /dev/null @@ -1,220 +0,0 @@ -From 90628b9c9b731cff9071a6d587431e0a4b8e5c0a Mon Sep 17 00:00:00 2001 -From: Hiroki Negishi <hiroki.negishi.bx@renesas.com> -Date: Mon, 13 Nov 2017 11:57:53 +0900 -Subject: [PATCH 16/23] Revert "hwspinlock: rcar: Add support for R-Car Gen3 - Hardware Spinlock" - -This reverts commit 18ff508d5241 ("hwspinlock: rcar: Add support -for R-Car Gen3 Hardware Spinlock") - -Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com> ---- - drivers/hwspinlock/Kconfig | 13 --- - drivers/hwspinlock/Makefile | 1 - - drivers/hwspinlock/rcar_hwspinlock.c | 162 ----------------------------------- - 3 files changed, 176 deletions(-) - delete mode 100644 drivers/hwspinlock/rcar_hwspinlock.c - -diff --git a/drivers/hwspinlock/Kconfig b/drivers/hwspinlock/Kconfig -index f0c0a35..73a4016 100644 ---- a/drivers/hwspinlock/Kconfig -+++ b/drivers/hwspinlock/Kconfig -@@ -53,17 +53,4 @@ config HSEM_U8500 - - If unsure, say N. - --config HWSPINLOCK_RCAR -- bool "R-Car Hardware Spinlock functionality" -- depends on ARCH_RENESAS -- select HWSPINLOCK -- default y -- help -- Say y here to support the R-Car Hardware Spinlock functionality, which -- provides a synchronisation mechanism for the various processor on the -- SoC. -- This function is implemented with MFIS device. -- -- If unsure, say N. -- - endmenu -diff --git a/drivers/hwspinlock/Makefile b/drivers/hwspinlock/Makefile -index 4ee4001..6b59cb5a 100644 ---- a/drivers/hwspinlock/Makefile -+++ b/drivers/hwspinlock/Makefile -@@ -6,5 +6,4 @@ obj-$(CONFIG_HWSPINLOCK) += hwspinlock_core.o - obj-$(CONFIG_HWSPINLOCK_OMAP) += omap_hwspinlock.o - obj-$(CONFIG_HWSPINLOCK_QCOM) += qcom_hwspinlock.o - obj-$(CONFIG_HWSPINLOCK_SIRF) += sirf_hwspinlock.o --obj-$(CONFIG_HWSPINLOCK_RCAR) += rcar_hwspinlock.o - obj-$(CONFIG_HSEM_U8500) += u8500_hsem.o -diff --git a/drivers/hwspinlock/rcar_hwspinlock.c b/drivers/hwspinlock/rcar_hwspinlock.c -deleted file mode 100644 -index 8b45c49..0000000 ---- a/drivers/hwspinlock/rcar_hwspinlock.c -+++ /dev/null -@@ -1,162 +0,0 @@ --/* -- * rcar_hwspinlock.c -- * -- * Copyright (C) 2017 Renesas Electronics Corporation -- * -- * This program is free software; you can redistribute it and/or modify -- * it under the terms of the GNU General Public License version 2 -- * as published by the Free Software Foundation. -- * -- * This program is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- * GNU General Public License for more details. -- */ --#include <linux/hwspinlock.h> --#include <linux/kernel.h> --#include <linux/module.h> --#include <linux/pm_runtime.h> --#include <linux/of.h> --#include <linux/of_device.h> --#include <linux/of_address.h> --#include <linux/platform_device.h> --#include <linux/io.h> --#include <linux/sys_soc.h> -- --#include "hwspinlock_internal.h" -- --#define MFISLCKR0_OFFSET 0x000000C0 --#define MFISLCKR8_OFFSET 0x00000724 --#define MFISLCKR_NUM_8 8 /* r8a7795 ES1.*, r8a7796 ES1.* */ --#define MFISLCKR_NUM_64 64 -- --static int rcar_hwspinlock_trylock(struct hwspinlock *lock) --{ -- void *addr = lock->priv; -- -- return !ioread32((void __iomem *)addr); --} -- --static void rcar_hwspinlock_unlock(struct hwspinlock *lock) --{ -- void *addr = lock->priv; -- -- iowrite32(0, (void __iomem *)addr); --} -- --static const struct hwspinlock_ops rcar_hwspinlock_ops = { -- .trylock = rcar_hwspinlock_trylock, -- .unlock = rcar_hwspinlock_unlock, --}; -- --static const struct soc_device_attribute mfislock_quirks_match[] = { -- { .soc_id = "r8a7795", .revision = "ES1.*" }, -- { .soc_id = "r8a7796", .revision = "ES1.*" }, -- { /* sentinel */ } --}; -- --static const struct of_device_id rcar_hwspinlock_of_match[] = { -- { .compatible = "renesas,mfis-lock" }, -- { }, --}; --MODULE_DEVICE_TABLE(of, rcar_hwspinlock_of_match); -- --static int rcar_hwspinlock_probe(struct platform_device *pdev) --{ -- int ch; -- int num_locks = MFISLCKR_NUM_64; -- int ret = 0; -- u32 __iomem *addr; -- struct resource *res; -- struct hwspinlock_device *bank; -- -- /* allocate hwspinlock control info */ -- bank = devm_kzalloc(&pdev->dev, sizeof(*bank) -- + sizeof(struct hwspinlock) * MFISLCKR_NUM_64, -- GFP_KERNEL); -- if (!bank) { -- dev_err(&pdev->dev, "Failed to allocate memory.\n"); -- ret = -ENOMEM; -- goto out; -- } -- -- res = platform_get_resource(pdev, IORESOURCE_MEM, 0); -- -- /* map MFIS lock register */ -- addr = (u32 __iomem *)devm_ioremap_nocache(&pdev->dev, -- res->start, -- resource_size(res)); -- if (!addr) { -- dev_err(&pdev->dev, "Failed to remap register.\n"); -- ret = PTR_ERR(addr); -- goto out; -- } -- -- /* create lock for MFISLCKR0-7 */ -- for (ch = 0; ch < 8; ch++) -- bank->lock[ch].priv = (void __force *)addr + MFISLCKR0_OFFSET -- + sizeof(u32) * ch; -- -- /* create lock for MFISLCKR8-63 */ -- for (ch = 8; ch < 64; ch++) -- bank->lock[ch].priv = (void __force *)addr + MFISLCKR8_OFFSET -- + sizeof(u32) * (ch - 8); -- -- platform_set_drvdata(pdev, bank); -- -- ret = of_platform_populate(pdev->dev.of_node, NULL, NULL, &pdev->dev); -- if (ret) -- goto out; -- -- pm_runtime_enable(&pdev->dev); -- -- /* register hwspinlock */ -- if (soc_device_match(mfislock_quirks_match)) -- num_locks = MFISLCKR_NUM_8; -- -- ret = hwspin_lock_register(bank, &pdev->dev, &rcar_hwspinlock_ops, -- 0, num_locks); -- if (ret) -- pm_runtime_disable(&pdev->dev); -- --out: -- return ret; --} -- --static int rcar_hwspinlock_remove(struct platform_device *pdev) --{ -- int ret; -- -- ret = hwspin_lock_unregister(platform_get_drvdata(pdev)); -- if (ret) { -- dev_err(&pdev->dev, "%s failed: %d\n", __func__, ret); -- return ret; -- } -- -- pm_runtime_disable(&pdev->dev); -- -- return 0; --} -- --static struct platform_driver rcar_hwspinlock_driver = { -- .probe = rcar_hwspinlock_probe, -- .remove = rcar_hwspinlock_remove, -- .driver = { -- .name = "rcar_hwspinlock", -- .of_match_table = rcar_hwspinlock_of_match, -- }, --}; -- --static int __init rcar_hwspinlock_init(void) --{ -- return platform_driver_register(&rcar_hwspinlock_driver); --} --core_initcall(rcar_hwspinlock_init); -- --static void __exit rcar_hwspinlock_exit(void) --{ -- platform_driver_unregister(&rcar_hwspinlock_driver); --} --module_exit(rcar_hwspinlock_exit); -- --MODULE_LICENSE("GPL v2"); --- -1.9.1 - |