aboutsummaryrefslogtreecommitdiffstats
path: root/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0001-soc-renesas-rcar-sysc-Update-power-control-flow-for-.patch
diff options
context:
space:
mode:
authorKhang Nguyen <khang.nguyen.xv@rvc.renesas.com>2018-06-11 09:16:50 +0700
committerKhang Nguyen <khang.nguyen.xv@rvc.renesas.com>2018-06-18 17:55:58 +0700
commitc38c37303164d16e514236655f629e8d186137ae (patch)
tree2e05582a9af9b2fd40739ae9064c13bb497b8234 /meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0001-soc-renesas-rcar-sysc-Update-power-control-flow-for-.patch
parentc93db19426c1367ffcbc25b777fbab6b5923646c (diff)
rcar-gen3: linux-renesas: Upgrade Linux BSP to v3.7.0
This commit upgrades Linux BSP to v3.7.0 for following updates: [Kernel] - Change Linux version to v4.14.35 from v4.14. - Add support ZG clock divider for R8A77990 (R-Car E3). - Remove patch for Identifing R-Car M3 Ver.1.2 or later. [Power Management] - Fix "Using plain integer as NULL pointer" in rcar_ems_ctrl.c. - Add AVS support for gsx_opp_table. - Update SYSC power ON/OFF flow. [Display driver] - Fix procedure for extal and dotclkin selection for R-Car E3. - Add shutdown callback function in platform_driver". - Fix state flag in case of dual link mode for R-Car E3. [Ethernet driver] - Move reset-gpios property to EthernetAVB node for R-Car E3 Ebisu board. [I2C driver] - Fix handling of the RESTART phase and STOP phase. [MSIOF driver] - Add 2 clock delay by R-Car H3 Ver.3.0 only specification. [SD/MMC driver] - Fix eMMC HS400 mode setting. - Delete wait in tuning process. [USB2.0 Function] - Avoid wrong list handling in printer_write(). [USB2.0 Host driver] - Avoid the problem of Suspend to RAM in case of connecting USB mouse by removing following patches: <commit ID:cad25bf1> phy: rcar-gen3-usb2: Add the interrupt disabled in suspend <commit ID:318b535> phy: rcar-gen3-usb2: Support System Suspend To RAM [Video Capture driver] - Fix IFMD table information for R8A77990 (R-Car E3). Signed-off-by: Khang Nguyen <khang.nguyen.xv@rvc.renesas.com> Signed-off-by: Takamitsu Honda <takamitsu.honda.pv@renesas.com>
Diffstat (limited to 'meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0001-soc-renesas-rcar-sysc-Update-power-control-flow-for-.patch')
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0001-soc-renesas-rcar-sysc-Update-power-control-flow-for-.patch108
1 files changed, 0 insertions, 108 deletions
diff --git a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0001-soc-renesas-rcar-sysc-Update-power-control-flow-for-.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0001-soc-renesas-rcar-sysc-Update-power-control-flow-for-.patch
deleted file mode 100644
index a8403b5..0000000
--- a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0001-soc-renesas-rcar-sysc-Update-power-control-flow-for-.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From c8623487a0716301221dfbceee63856ed6f0c15f Mon Sep 17 00:00:00 2001
-From: Dien Pham <dien.pham.ry@renesas.com>
-Date: Wed, 11 Apr 2018 16:19:03 +0700
-Subject: [PATCH 1/6] soc: renesas: rcar-sysc: Update power control flow for
- SYSCEXTMASK register
-
-On H3 v3.0, it can observe the system hang up after changing
-power domains many times (~2000 times) continuously.
-This occurs because there is conflict when changing state
-of power domains.
-
-To overcome this issue, power domain on/off control flow
-need to be updated. It needs to set/clear value of SYSCEXTMASK register.
-
-This patch is updated for above purpose.
-
-Signed-off-by: Dien Pham <dien.pham.ry@renesas.com>
----
- drivers/soc/renesas/rcar-sysc.c | 22 +++++++++++++++++++++-
- drivers/soc/renesas/rcar-sysc.h | 8 ++++++++
- 2 files changed, 29 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/soc/renesas/rcar-sysc.c b/drivers/soc/renesas/rcar-sysc.c
-index a063887..b170f9b 100644
---- a/drivers/soc/renesas/rcar-sysc.c
-+++ b/drivers/soc/renesas/rcar-sysc.c
-@@ -96,10 +96,24 @@
-
- static void __iomem *rcar_sysc_base;
- static DEFINE_SPINLOCK(rcar_sysc_lock); /* SMP CPUs + I/O devices */
--
-+static struct rcar_sysc_extra_regs *extra_regs;
-
- static const char *to_pd_name(const struct rcar_sysc_ch *sysc_ch);
-
-+static void rcar_sysc_extmask_ctrl(bool on)
-+{
-+ u32 extmask_msks = 0;
-+
-+ if (!extra_regs || !extra_regs->sysc_extmask_msks)
-+ return;
-+
-+ if (on)
-+ extmask_msks = extra_regs->sysc_extmask_msks;
-+
-+ iowrite32(extmask_msks,
-+ rcar_sysc_base + extra_regs->sysc_extmask_offs);
-+}
-+
- static int rcar_sysc_pwr_on_off(const struct rcar_sysc_ch *sysc_ch, bool on)
- {
- unsigned int sr_bit, reg_offs;
-@@ -147,6 +161,7 @@ static int rcar_sysc_power(const struct rcar_sysc_ch *sysc_ch, bool on)
-
- spin_lock_irqsave(&rcar_sysc_lock, flags);
-
-+ rcar_sysc_extmask_ctrl(1); /* set EXTMSK0 */
- iowrite32(isr_mask, rcar_sysc_base + SYSCISCR);
-
- /* Submit power shutoff or resume request until it was accepted */
-@@ -181,6 +196,7 @@ static int rcar_sysc_power(const struct rcar_sysc_ch *sysc_ch, bool on)
- iowrite32(isr_mask, rcar_sysc_base + SYSCISCR);
-
- out:
-+ rcar_sysc_extmask_ctrl(0); /* clear EXTMSK0 */
- spin_unlock_irqrestore(&rcar_sysc_lock, flags);
-
- pr_debug("sysc power %s domain %d: %08x -> %d\n", on ? "on" : "off",
-@@ -436,6 +452,10 @@ static int __init rcar_sysc_pd_init(void)
-
- rcar_sysc_base = base;
-
-+ /* Check and get extra registers */
-+ if (info->extra_regs)
-+ extra_regs = info->extra_regs;
-+
- domains = kzalloc(sizeof(*domains), GFP_KERNEL);
- if (!domains) {
- error = -ENOMEM;
-diff --git a/drivers/soc/renesas/rcar-sysc.h b/drivers/soc/renesas/rcar-sysc.h
-index cfc7e30..1c3aedb 100644
---- a/drivers/soc/renesas/rcar-sysc.h
-+++ b/drivers/soc/renesas/rcar-sysc.h
-@@ -38,6 +38,13 @@ struct rcar_sysc_area {
- unsigned int flags; /* See PD_* */
- };
-
-+/*
-+ * List of registers that are not common in all platform.
-+ */
-+struct rcar_sysc_extra_regs {
-+ u16 sysc_extmask_offs; /* Offset of SYSCEXTMASK register */
-+ u32 sysc_extmask_msks; /* Mask value of SYSCEXTMASK register */
-+};
-
- /*
- * SoC-specific Power Area Description
-@@ -47,6 +54,7 @@ struct rcar_sysc_info {
- int (*init)(void); /* Optional */
- const struct rcar_sysc_area *areas;
- unsigned int num_areas;
-+ struct rcar_sysc_extra_regs *extra_regs;
- };
-
- extern const struct rcar_sysc_info r8a7743_sysc_info;
---
-1.9.1
-