[linux-yocto] [PATCH 5/5] arm64: dts: r8a7795-h3ulcb: Add reserved memory regions
From: Yusuke Goda commit 1d40ccc5723b9b3028829194c422a01cf8afd2a3 from git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-bsp.git This patch adds reserved memory regions: - Lossy Decompression 48 MiB : 0x005400 -> 0x0056ff - Default CMA area 400 MiB : 0x005700 -> 0x006fff - CMA area for MMP 256 MiB : 0x007000 -> 0x007fff Signed-off-by: Yusuke Goda [takeshi.kihara.df: fix W=1 dtc unit_address_vs_reg warnings] Signed-off-by: Takeshi Kihara Signed-off-by: Meng Li --- .../arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 29 ++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts index 54515eaf0310..b9088a4e0a4a 100644 --- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts +++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts @@ -2,7 +2,7 @@ /* * Device Tree Source for the H3ULCB (R-Car Starter Kit Premier) board * - * Copyright (C) 2016 Renesas Electronics Corp. + * Copyright (C) 2016-2017 Renesas Electronics Corp. * Copyright (C) 2016 Cogent Embedded, Inc. */ @@ -34,6 +34,33 @@ device_type = "memory"; reg = <0x7 0x 0x0 0x4000>; }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + /* device specific region for Lossy Decompression */ + lossy_decompress: linux,lossy_decompress@5400 { + no-map; + reg = <0x 0x5400 0x0 0x0300>; + }; + + /* global autoconfigured region for contiguous allocations */ + linux,cma@5700 { + compatible = "shared-dma-pool"; + reusable; + reg = <0x 0x5700 0x0 0x1900>; + linux,cma-default; + }; + + /* device specific region for contiguous allocations */ + mmp_reserved: linux,multimedia@7000 { + compatible = "shared-dma-pool"; + reusable; + reg = <0x 0x7000 0x0 0x1000>; + }; + }; }; { -- 2.17.1 -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
[linux-yocto] [PATCH 3/5] pci: pcie-rcar: add regulators support
From: Andrey Gusakov Add PCIe regulators for KingFisher board. Signed-off-by: Meng Li --- arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 47 + drivers/pci/controller/pcie-rcar.c | 64 2 files changed, 111 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi index 8986a7e6e099..82e463c32a37 100644 --- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi +++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi @@ -50,6 +50,25 @@ startup-delay-us = <7>; enable-active-high; }; + + mpcie_3v3: regulator-mpcie_3v3 { + compatible = "regulator-fixed"; + regulator-name = "mPCIe 3v3"; + regulator-min-microvolt = <330>; + regulator-max-microvolt = <330>; + gpio = <_exp_77 14 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + mpcie_1v8: regulator-mpcie_1v8 { + compatible = "regulator-fixed"; + regulator-name = "mPCIe 1v8"; + regulator-min-microvolt = <180>; + regulator-max-microvolt = <180>; + gpio = <_exp_77 15 GPIO_ACTIVE_HIGH>; + startup-delay-us = <20>; + enable-active-high; + }; }; { @@ -241,6 +260,31 @@ interrupt-controller; interrupt-parent = <>; interrupts = <9 IRQ_TYPE_EDGE_FALLING>; + + mpcie_wake { + gpio-hog; + gpios = <0 GPIO_ACTIVE_HIGH>; + output-low; + line-name = "mPCIe WAKE#"; + }; + mpcie_wdisable { + gpio-hog; + gpios = <1 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "mPCIe W_DISABLE"; + }; + mpcie_clreq { + gpio-hog; + gpios = <2 GPIO_ACTIVE_HIGH>; + input; + line-name = "mPCIe CLKREQ#"; + }; + mpcie_ovc { + gpio-hog; + gpios = <3 GPIO_ACTIVE_HIGH>; + input; + line-name = "mPCIe OVC"; + }; }; }; @@ -259,6 +303,9 @@ { status = "okay"; + + pcie3v3-supply = <_3v3>; + pcie1v8-supply = <_1v8>; }; { diff --git a/drivers/pci/controller/pcie-rcar.c b/drivers/pci/controller/pcie-rcar.c index f6a669a9af41..8e7e714e33fd 100644 --- a/drivers/pci/controller/pcie-rcar.c +++ b/drivers/pci/controller/pcie-rcar.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -151,6 +152,8 @@ struct rcar_pcie { struct list_headresources; int root_bus_nr; struct clk *bus_clk; + struct regulator*pcie3v3; /* 3.3V power supply */ + struct regulator*pcie1v8; /* 1.8V power supply */ struct rcar_msi msi; }; @@ -1120,6 +1123,36 @@ static const struct of_device_id rcar_pcie_of_match[] = { {}, }; +static int rcar_pcie_set_vpcie(struct rcar_pcie *pcie) +{ + struct device *dev = pcie->dev; + int err; + + if (!IS_ERR(pcie->pcie3v3)) { + err = regulator_enable(pcie->pcie3v3); + if (err) { + dev_err(dev, "fail to enable vpcie3v3 regulator\n"); + goto err_out; + } + } + + if (!IS_ERR(pcie->pcie1v8)) { + err = regulator_enable(pcie->pcie1v8); + if (err) { + dev_err(dev, "fail to enable vpcie1v8 regulator\n"); + goto err_disable_3v3; + } + } + + return 0; + +err_disable_3v3: + if (!IS_ERR(pcie->pcie3v3)) + regulator_disable(pcie->pcie3v3); +err_out: + return err; +} + static int rcar_pcie_probe(struct platform_device *pdev) { struct device *dev = >dev; @@ -1138,6 +1171,31 @@ static int rcar_pcie_probe(struct platform_device *pdev) pcie->dev = dev; platform_set_drvdata(pdev, pcie); + pcie->pcie3v3 = devm_regulator_get_optional(dev, "pcie3v3"); + if (IS_ERR(pcie->pcie3v3)) { + if (PTR_ERR(pcie->pcie3v3) == -EPROBE_DEFER) { + pci_free_host_bridge(bridge); + return -EPROBE_DEFER; + } + dev_info(dev, "no pcie3v3 regulator found\n"); + } + + pcie->pcie1v8 = devm_regulator_get_optional(dev, "pcie1v8"); + if (IS_ERR(pcie->pcie1v8)) { + if (PTR_ERR(pcie->pcie1v8) == -EPROBE_DEFER) { + pci_free_host_bridge(bridge); + return -EPROBE_DEFER; +
[linux-yocto] [PATCH 4/5] arm64: dts: r8a7795: Add CPUIdle support for all CPU core
From: Takeshi Kihara commit 3c3b44c752c4eef9a29694f4262934445c5f5da9 from git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-bsp.git This patch enables CPUIdle (Core shutdown) support for R-Car H3. Signed-off-by: Takeshi Kihara Signed-off-by: Meng Li --- arch/arm64/boot/dts/renesas/r8a7795.dtsi | 32 1 file changed, 32 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi index 95deff66eeb6..ab36cb8a680c 100644 --- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi @@ -155,6 +155,7 @@ power-domains = < R8A7795_PD_CA57_CPU0>; next-level-cache = <_CA57>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_0>; dynamic-power-coefficient = <854>; clocks = < CPG_CORE R8A7795_CLK_Z>; operating-points-v2 = <_opp>; @@ -169,6 +170,7 @@ power-domains = < R8A7795_PD_CA57_CPU1>; next-level-cache = <_CA57>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_0>; clocks = < CPG_CORE R8A7795_CLK_Z>; operating-points-v2 = <_opp>; capacity-dmips-mhz = <1024>; @@ -182,6 +184,7 @@ power-domains = < R8A7795_PD_CA57_CPU2>; next-level-cache = <_CA57>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_0>; clocks = < CPG_CORE R8A7795_CLK_Z>; operating-points-v2 = <_opp>; capacity-dmips-mhz = <1024>; @@ -195,6 +198,7 @@ power-domains = < R8A7795_PD_CA57_CPU3>; next-level-cache = <_CA57>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_0>; clocks = < CPG_CORE R8A7795_CLK_Z>; operating-points-v2 = <_opp>; capacity-dmips-mhz = <1024>; @@ -208,6 +212,7 @@ power-domains = < R8A7795_PD_CA53_CPU0>; next-level-cache = <_CA53>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_1>; #cooling-cells = <2>; dynamic-power-coefficient = <277>; clocks = < CPG_CORE R8A7795_CLK_Z2>; @@ -222,6 +227,7 @@ power-domains = < R8A7795_PD_CA53_CPU1>; next-level-cache = <_CA53>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_1>; clocks = < CPG_CORE R8A7795_CLK_Z2>; operating-points-v2 = <_opp>; capacity-dmips-mhz = <535>; @@ -234,6 +240,7 @@ power-domains = < R8A7795_PD_CA53_CPU2>; next-level-cache = <_CA53>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_1>; clocks = < CPG_CORE R8A7795_CLK_Z2>; operating-points-v2 = <_opp>; capacity-dmips-mhz = <535>; @@ -246,6 +253,7 @@ power-domains = < R8A7795_PD_CA53_CPU3>; next-level-cache = <_CA53>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_1>; clocks = < CPG_CORE R8A7795_CLK_Z2>; operating-points-v2 = <_opp>; capacity-dmips-mhz = <535>; @@ -264,6 +272,30 @@ cache-unified; cache-level = <2>; }; + + idle-states { + entry-method = "psci"; + + CPU_SLEEP_0: cpu-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x001>; + local-timer-stop; + entry-latency-us = <400>; + exit-latency-us = <500>; + min-residency-us = <4000>; + status = "okay"; + }; + + CPU_SLEEP_1: cpu-sleep-1 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x001>; + local-timer-stop; + entry-latency-us = <700>; + exit-latency-us = <700>; + min-residency-us = <5000>; + status
[linux-yocto] [PATCH 2/5] driver: net: can: disable clock when it is in enable status
From: Limeng If disable a clock when it is already in disable status, there will be a warning trace generated. So, it is need to confirm whether what status the clock is in before disable it. Signed-off-by: Meng Li --- drivers/net/can/rcar/rcar_can.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/can/rcar/rcar_can.c b/drivers/net/can/rcar/rcar_can.c index bf5adea9c0a3..b136a238f7eb 100644 --- a/drivers/net/can/rcar/rcar_can.c +++ b/drivers/net/can/rcar/rcar_can.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #define RCAR_CAN_DRV_NAME "rcar_can" @@ -859,7 +860,9 @@ static int __maybe_unused rcar_can_suspend(struct device *dev) writew(ctlr, >regs->ctlr); priv->can.state = CAN_STATE_SLEEPING; - clk_disable(priv->clk); + if(__clk_is_enabled(priv->clk)) + clk_disable(priv->clk); + return 0; } -- 2.17.1 -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
[linux-yocto] [linux-yocto-dev]: [kernel standard/base]: renesas-rcar: add some patches to improve features on renesas-rcar platform
From: Limeng Hi Bruce, I am working on BSP renesas-rcar platform, and intend to merge this BSP supporting into yocto community. Below 5 patches are used to improve gpio, CAN BUS, audio and PCIe features 0001-arch-arm64-dts-Set-gpio5-pin9-as-input-by-default.patch 0002-driver-net-can-disable-clock-when-it-is-in-enable-st.patch 0003-pci-pcie-rcar-add-regulators-support.patch 0004-arm64-dts-r8a7795-Add-CPUIdle-support-for-all-CPU-co.patch 0005-arm64-dts-r8a7795-h3ulcb-Add-reserved-memory-regions.patch Could you please merge the 5 patches into linux-yocto-dev, branch is standard/base? arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 29 ++- arch/arm64/boot/dts/renesas/r8a7795.dtsi | 32 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 56 + drivers/net/can/rcar/rcar_can.c|5 + drivers/pci/controller/pcie-rcar.c | 64 + 5 files changed, 184 insertions(+), 2 deletions(-) thanks, Limeng -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
[linux-yocto] [PATCH 1/5] arch: arm64: dts: Set gpio5-pin9 as input by default
From: Limeng The gpio5-pin9 is used as the interrupt pin of i2c external gpio chip, so set this pin as input by default. Signed-off-by: Meng Li --- arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 9 + 1 file changed, 9 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi index 202177706cde..8986a7e6e099 100644 --- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi +++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi @@ -205,6 +205,15 @@ }; }; + { + gpio_exp_77_int { + gpio-hog; + gpios = <9 0>; + input; + line-name = "gpio-exp-77-int"; + }; +}; + { i2cswitch4: i2c-switch@71 { compatible = "nxp,pca9548"; -- 2.17.1 -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
Re: [linux-yocto] [kernel v5.2/standard/xlnx-soc][PATCH 0/1][V2]patches for xilinx
On Thu, Oct 24, 2019 at 6:26 AM wrote: > > From: Quanyang Wang > > Hi all, > > V1 ---> V2: > > 1. delete the patch "arch: arm64: dts: add overlay dts file" because it is > improper > to add into kernel source. > > 2. modify the patch " i2c: cadence: do not clear bus_hold_flag in mrecv" by > adding > a I2C_M_NOSTART flag check according to Shubhrajyoti's suggestion. And test > it at > zcu102 board (read bus 0x8 device 0x65 (ucd10120) register 0xd6)as below: > Before applying this patch: > root@xilinx-zynq:~# i2cget -f -y 0x8 0x65 0xd6 > 0xff > After applying this patch: > root@xilinx-zynq:~# i2cget -f -y 0x8 0x65 0xd6 > 0x05 > I'll wait for comments on this patch. I just wanted to follow up to say that I *think* that I have all of the reviewed and ack'd patches merged now .. but gmail is doing some very strange things and hiding replies to some of the threads. So if you see something that is reviewed/acked and is missing, send it again with a clear "v2" (or whatever version it is) in the subject. Bruce > Thanks, > Quanyang > > Quanyang Wang (1): > i2c: cadence: keep bus_hold_flag unless I2C_M_NOSTART is set > > drivers/i2c/busses/i2c-cadence.c | 8 +--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > -- > 2.17.1 > -- - Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end - "Use the force Harry" - Gandalf, Star Trek II -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
Re: [linux-yocto] [yocto-kernel-cache master/yocto-5.2][PATCH] cgl: Remove non-existing kernel options
On Thu, Oct 24, 2019 at 3:49 AM wrote: > > From: He Zhe > > Thess options have been remove from mainline kernel. > > CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION removed by > 4c145dce2601 ("xfrm: make xfrm modes builtin") > > CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE removed by > be6ec88f41ba ("selinux: Remove SECURITY_SELINUX_BOOTPARAM_VALUE") > thanks for the commit references .. they make it much easier for me to quickly grab and merge changes like this. Cheers, Bruce > Signed-off-by: He Zhe > --- > cgl/features/mip6/mip6.cfg | 1 - > cgl/features/selinux/selinux-dev.cfg | 1 - > 2 files changed, 2 deletions(-) > > diff --git a/cgl/features/mip6/mip6.cfg b/cgl/features/mip6/mip6.cfg > index 09a11b8d..f9c344b6 100644 > --- a/cgl/features/mip6/mip6.cfg > +++ b/cgl/features/mip6/mip6.cfg > @@ -4,6 +4,5 @@ CONFIG_XFRM_MIGRATE=y > CONFIG_NET_KEY=m > CONFIG_NET_KEY_MIGRATE=y > CONFIG_IPV6_MIP6=m > -CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m > CONFIG_IPV6_MULTIPLE_TABLES=y > CONFIG_IPV6_SUBTREES=y > diff --git a/cgl/features/selinux/selinux-dev.cfg > b/cgl/features/selinux/selinux-dev.cfg > index 913e5e13..4c77d989 100644 > --- a/cgl/features/selinux/selinux-dev.cfg > +++ b/cgl/features/selinux/selinux-dev.cfg > @@ -1,4 +1,3 @@ > # SPDX-License-Identifier: MIT > CONFIG_SECURITY_SELINUX_BOOTPARAM=y > -CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 > CONFIG_SECURITY_SELINUX_DEVELOP=y > -- > 2.17.1 > -- - Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end - "Use the force Harry" - Gandalf, Star Trek II -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
Re: [linux-yocto] [linux-yocto-v5.2]: [kernel standard/base]: renesas-rcar: add some patches to improve features on renesas-rcar platform
On Thu, Oct 24, 2019 at 2:00 AM wrote: > > From: Limeng > > Hi Bruce, > > I am working on BSP renesas-rcar platform, and intend to merge this BSP > supporting into yocto community. > Below 4 patches are used to improve gpio, CAN BUS, audio and PCIe features > This first patch is from mainline upstream, the other 3 patches merged into > linux-yocto-dev(standard/base) some days ago. > > 0001-arm64-dts-renesas-ulcb-kf-Add-support-for-TI-WL1837.patch > 0002-arch-arm64-dts-Set-gpio5-pin9-as-input-by-default.patch > 0003-driver-net-can-disable-clock-when-it-is-in-enable-st.patch > 0004-pci-pcie-rcar-add-regulators-support.patch > > Could you please merge the 4 patches into linux-yocto, branch is > v5.2/standard/base? These already seem to be in v5.2/standard/base (Signed off by you and myself) .. was this sent in error ? or did gmail do something strange and dig up old email for me and mark them as new ? Bruce > > arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 105 > +++ > drivers/net/can/rcar/rcar_can.c |5 + > drivers/pci/controller/pcie-rcar.c | 64 ++ > 3 files changed, 173 insertions(+), 1 deletion(-) > > > thanks, > Limeng -- - Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end - "Use the force Harry" - Gandalf, Star Trek II -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
Re: [linux-yocto] [PATCH 0/2] xilinx-zynq: fix kdump hang issue
In message: [linux-yocto][PATCH 0/2] xilinx-zynq: fix kdump hang issue on 22/10/2019 quanyang.w...@windriver.com wrote: > From: Quanyang Wang > > Hi Bruce, Michal, > > There are 2 patches. > > The patch "ARM: zynq: use physical cpuid in zynq_slcr_cpu_stop/start" > fix the kdump hang issue when not using disable_nonboot_cpus. > And the patch "xilinx-zynq: Revert "zynq: SMP crashkernel support"" > revert the patch which using disable_nonboot_cpus. Although one of the two patches applies to v5.2/standard/base, I kept them both together on the xlnx-soc branch. Bruce > > Thanks, > Quanyang > > Quanyang Wang (2): > ARM: zynq: use physical cpuid in zynq_slcr_cpu_stop/start > xilinx-zynq: Revert "zynq: SMP crashkernel support" > > arch/arm/kernel/machine_kexec.c | 3 --- > arch/arm/mach-zynq/platsmp.c| 6 -- > 2 files changed, 4 insertions(+), 5 deletions(-) > > -- > 2.17.1 > -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
Re: [linux-yocto] [kernel v5.2/standard/xlnx-soc][PATCH 0/1] [V2] xilinx-zynqmp: fix calltrace
In message: [linux-yocto][kernel v5.2/standard/xlnx-soc][PATCH 0/1] [V2] xilinx-zynqmp: fix calltrace on 23/10/2019 quanyang.w...@windriver.com wrote: > From: Quanyang Wang > > Hi Bruce, > > This patch is a V2 patch but no change against V1. Just add some comments > in the temporary section of the patch. Thanks, the temporary section comments were very useful. This is now merged. Bruce > > Would you please help merge these patches to linux-yocto > v5.2/standard/xlnx-soc branch? > > Quanyang Wang (1): > dma: xilinx: dpdma: alloc xilinx_dpdma_tx_desc using GFP_ATOMIC > > drivers/dma/xilinx/xilinx_dpdma.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > -- > 2.17.1 > -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
Re: [linux-yocto] [PATCH 1/1] xilinx-zyqn: Move disable_nonboot_cpus() in front of local_irq_disable()
Hi Michal, On 10/23/19 6:55 PM, Michal Simek wrote: On 21. 10. 19 14:13, qwang2 wrote: Hi Michal, On 2019/10/21 下午6:45, Michal Simek wrote: On 21. 10. 19 10:45, Quanyang Wang wrote: Hi Michal, On 10/21/19 4:16 PM, Michal Simek wrote: On 21. 10. 19 7:50, quanyang.w...@windriver.com wrote: From: Quanyang Wang When run kdump with enabling CONFIG_DEBUG_PREEMPT, there is a calltrace as below: BUG: using smp_processor_id() in preemptible [] code: sh/303 caller is machine_crash_shutdown+0x2c/0xe8 CPU: 0 PID: 303 Comm: sh Kdump: loaded Not tainted 5.2.20-yocto-standard #1 Hardware name: Xilinx Zynq Platform [<80112ff4>] (unwind_backtrace) from [<8010ca4c>] (show_stack+0x18/0x1c) [<8010ca4c>] (show_stack) from [<809b000c>] (dump_stack+0x70/0x8c) [<809b000c>] (dump_stack) from [<80549a14>] (debug_smp_processor_id+0xd4/0x118) [<80549a14>] (debug_smp_processor_id) from [<80111428>] (machine_crash_shutdown+0x2c/0xe8) [<80111428>] (machine_crash_shutdown) from [<801afe24>] (__crash_kexec+0x70/0xd0) [<801afe24>] (__crash_kexec) from [<801259b4>] (panic+0x110/0x324) [<801259b4>] (panic) from [<805f7018>] (sysrq_handle_crash+0x18/0x1c) [<805f7018>] (sysrq_handle_crash) from [<805f7584>] (__handle_sysrq+0x9c/0x14c) [<805f7584>] (__handle_sysrq) from [<805f79e8>] (write_sysrq_trigger+0x5c/0x6c) [<805f79e8>] (write_sysrq_trigger) from [<8031e850>] (proc_reg_write+0x78/0x8c) [<8031e850>] (proc_reg_write) from [<802b1b28>] (vfs_write+0xc0/0x154) [<802b1b28>] (vfs_write) from [<802b2a64>] (ksys_write+0x6c/0xd4) [<802b2a64>] (ksys_write) from [<80101000>] (ret_fast_syscall+0x0/0x54) Exception stack(0xba157fa8 to 0xba157ff0) 7fa0: 0002 005ab930 0001 005ab930 0002 7fc0: 0002 005ab930 76fa2290 0004 76f3d124 76f3cc8c 7fe0: 0004 7edec940 76edbfff 76e67d16 This is because that the function disable_nonboot_cpus is called in order to make sure that the crash kernel runs in the boot CPU(cpu0). And it will enable local irq by calling as below: disable_nonboot_cpus -> freeze_secondary_cpus -> _cpu_down -> percpu_down_write -> rcu_sync_enter -> spin_unlock_irq(>rss_lock) -> local_irq_enable() Then the functions including smp_processor_id() behind disable_nonboot_cpus will run at the irq-enabled context, and this will trigger the calltrace. So move disable_nonboot_cpus() in front of local_irq_disable() to avoid it since disable_nonboot_cpus() not need run at an atomic context. Signed-off-by: Quanyang Wang --- arch/arm/kernel/machine_kexec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm/kernel/machine_kexec.c b/arch/arm/kernel/machine_kexec.c index 654f2b1f9ac0..83d2025a4ab1 100644 --- a/arch/arm/kernel/machine_kexec.c +++ b/arch/arm/kernel/machine_kexec.c @@ -145,9 +145,10 @@ static void machine_kexec_mask_interrupts(void) void machine_crash_shutdown(struct pt_regs *regs) { - local_irq_disable(); disable_nonboot_cpus(); + local_irq_disable(); + crash_smp_send_stop(); crash_save_cpu(regs, smp_processor_id()); ok. Can you please check before this if your usecases work without disable_nonboot_cpus(). This patch was done pretty long time ago where there was an issue with kexec. Long time ago I was talking to arm-soc maintainers about this and they told me that mainline code should work fine without any need to call disable_nonboot_cpus(). It means if kexec is working fine we can revert origin patch and use what mainline is using. It seems that the issue is still there. When crash at cpu1 and crash kernel runs at cpu1, it will hang, the log is as below: root@xilinx-zynq:~# sh 1.sh syscall kexec_file_load not available. sysrq: Trigger a crash Kernel panic - not syncing: sysrq triggered crash CPU: 1 PID: 308 Comm: sh Kdump: loaded Not tainted 5.2.20-yocto-standard #4 Hardware name: Xilinx Zynq Platform [<80112eb0>] (unwind_backtrace) from [<8010cc04>] (show_stack+0x18/0x1c) [<8010cc04>] (show_stack) from [<8094f8f4>] (dump_stack+0x70/0x8c) [<8094f8f4>] (dump_stack) from [<801256f4>] (panic+0xf8/0x320) [<801256f4>] (panic) from [<805dbeb0>] (sysrq_handle_crash+0x18/0x1c) [<805dbeb0>] (sysrq_handle_crash) from [<805dc3b8>] (__handle_sysrq+0x9c/0x148) [<805dc3b8>] (__handle_sysrq) from [<805dc804>] (write_sysrq_trigger+0x5c/0x6c) [<805dc804>] (write_sysrq_trigger) from [<8031b040>] (proc_reg_write+0x78/0x8c) [<8031b040>] (proc_reg_write) from [<802aeec4>] (vfs_write+0xc0/0x154) [<802aeec4>] (vfs_write) from [<802afd18>] (ksys_write+0x64/0xc8) [<802afd18>] (ksys_write) from [<80101000>] (ret_fast_syscall+0x0/0x54) Exception stack(0xb905bfa8 to 0xb905bff0) bfa0: 0002 0059afa0 0001 0059afa0 0002 bfc0: 0002 0059afa0 76f8e290 0004 76f29124 76f28c8c bfe0: 0004 7eb858c0 76ec7fff 76e53d16 CPU 0 will stop doing anything useful since another CPU has crashed Loading crashdump kernel... Bye!
[linux-yocto] [PATCH 1/1] i2c: cadence: keep bus_hold_flag unless I2C_M_NOSTART is set
From: Quanyang Wang When using i2c_smbus_read_byte_data to read one byte from a slave device, because of the commit d358def70688 ("i2c: cadence: Fix the hold bit setting"), the transaction becomes: S Addr Wr [A] Comm [A] P S Addr Rd [A] [Data] NA P ^ CR_HOLD bit as 0 This will result that the read operation fails and will read "0xff" from the slave device. In the SMBus protocol, it stipulates that it must follow that command with a repeated START condition as below: S Addr Wr [A] Comm [A] Sr Addr Rd [A] [Data] NA P So add a check if I2C_M_NOSTART is set in flags. If set, clear the CR_HOLD bit, or else keep CR_HOLD bit to be 1 to make sure that the read operation begins with a repeated START. Signed-off-by: Quanyang Wang --- According to Shubhrajyoti's suggestion, add a I2C_M_NOSTART flag check in msg->flags to avoid breaking the intended behaviour of the code. drivers/i2c/busses/i2c-cadence.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/i2c/busses/i2c-cadence.c b/drivers/i2c/busses/i2c-cadence.c index 6b011931e090..22c1590c0e7a 100644 --- a/drivers/i2c/busses/i2c-cadence.c +++ b/drivers/i2c/busses/i2c-cadence.c @@ -624,10 +624,12 @@ static void cdns_i2c_mrecv(struct cdns_i2c *id) * Check for the message size against FIFO depth and set the * 'hold bus' bit if it is greater than FIFO depth. */ - if ((id->recv_count > CDNS_I2C_FIFO_DEPTH) || id->bus_hold_flag) + if ((id->recv_count > CDNS_I2C_FIFO_DEPTH) || id->bus_hold_flag) { ctrl_reg |= CDNS_I2C_CR_HOLD; - else - ctrl_reg = ctrl_reg & ~CDNS_I2C_CR_HOLD; + } else { + if (id->p_msg->flags & I2C_M_NOSTART) + ctrl_reg = ctrl_reg & ~CDNS_I2C_CR_HOLD; + } cdns_i2c_writereg(ctrl_reg, CDNS_I2C_CR_OFFSET); -- 2.17.1 -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
[linux-yocto] [kernel v5.2/standard/xlnx-soc][PATCH 0/1][V2]patches for xilinx
From: Quanyang Wang Hi all, V1 ---> V2: 1. delete the patch "arch: arm64: dts: add overlay dts file" because it is improper to add into kernel source. 2. modify the patch " i2c: cadence: do not clear bus_hold_flag in mrecv" by adding a I2C_M_NOSTART flag check according to Shubhrajyoti's suggestion. And test it at zcu102 board (read bus 0x8 device 0x65 (ucd10120) register 0xd6)as below: Before applying this patch: root@xilinx-zynq:~# i2cget -f -y 0x8 0x65 0xd6 0xff After applying this patch: root@xilinx-zynq:~# i2cget -f -y 0x8 0x65 0xd6 0x05 Thanks, Quanyang Quanyang Wang (1): i2c: cadence: keep bus_hold_flag unless I2C_M_NOSTART is set drivers/i2c/busses/i2c-cadence.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) -- 2.17.1 -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
[linux-yocto] [yocto-kernel-cache master/yocto-5.2][PATCH] cgl: Remove non-existing kernel options
From: He Zhe Thess options have been remove from mainline kernel. CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION removed by 4c145dce2601 ("xfrm: make xfrm modes builtin") CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE removed by be6ec88f41ba ("selinux: Remove SECURITY_SELINUX_BOOTPARAM_VALUE") Signed-off-by: He Zhe --- cgl/features/mip6/mip6.cfg | 1 - cgl/features/selinux/selinux-dev.cfg | 1 - 2 files changed, 2 deletions(-) diff --git a/cgl/features/mip6/mip6.cfg b/cgl/features/mip6/mip6.cfg index 09a11b8d..f9c344b6 100644 --- a/cgl/features/mip6/mip6.cfg +++ b/cgl/features/mip6/mip6.cfg @@ -4,6 +4,5 @@ CONFIG_XFRM_MIGRATE=y CONFIG_NET_KEY=m CONFIG_NET_KEY_MIGRATE=y CONFIG_IPV6_MIP6=m -CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y diff --git a/cgl/features/selinux/selinux-dev.cfg b/cgl/features/selinux/selinux-dev.cfg index 913e5e13..4c77d989 100644 --- a/cgl/features/selinux/selinux-dev.cfg +++ b/cgl/features/selinux/selinux-dev.cfg @@ -1,4 +1,3 @@ # SPDX-License-Identifier: MIT CONFIG_SECURITY_SELINUX_BOOTPARAM=y -CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 CONFIG_SECURITY_SELINUX_DEVELOP=y -- 2.17.1 -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
[linux-yocto] [PATCH 3/5] pci: pcie-rcar: add regulators support
From: Andrey Gusakov Add PCIe regulators for KingFisher board. Signed-off-by: Meng Li --- arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 47 + drivers/pci/controller/pcie-rcar.c | 64 2 files changed, 111 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi index 8986a7e6e099..82e463c32a37 100644 --- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi +++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi @@ -50,6 +50,25 @@ startup-delay-us = <7>; enable-active-high; }; + + mpcie_3v3: regulator-mpcie_3v3 { + compatible = "regulator-fixed"; + regulator-name = "mPCIe 3v3"; + regulator-min-microvolt = <330>; + regulator-max-microvolt = <330>; + gpio = <_exp_77 14 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + mpcie_1v8: regulator-mpcie_1v8 { + compatible = "regulator-fixed"; + regulator-name = "mPCIe 1v8"; + regulator-min-microvolt = <180>; + regulator-max-microvolt = <180>; + gpio = <_exp_77 15 GPIO_ACTIVE_HIGH>; + startup-delay-us = <20>; + enable-active-high; + }; }; { @@ -241,6 +260,31 @@ interrupt-controller; interrupt-parent = <>; interrupts = <9 IRQ_TYPE_EDGE_FALLING>; + + mpcie_wake { + gpio-hog; + gpios = <0 GPIO_ACTIVE_HIGH>; + output-low; + line-name = "mPCIe WAKE#"; + }; + mpcie_wdisable { + gpio-hog; + gpios = <1 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "mPCIe W_DISABLE"; + }; + mpcie_clreq { + gpio-hog; + gpios = <2 GPIO_ACTIVE_HIGH>; + input; + line-name = "mPCIe CLKREQ#"; + }; + mpcie_ovc { + gpio-hog; + gpios = <3 GPIO_ACTIVE_HIGH>; + input; + line-name = "mPCIe OVC"; + }; }; }; @@ -259,6 +303,9 @@ { status = "okay"; + + pcie3v3-supply = <_3v3>; + pcie1v8-supply = <_1v8>; }; { diff --git a/drivers/pci/controller/pcie-rcar.c b/drivers/pci/controller/pcie-rcar.c index f6a669a9af41..8e7e714e33fd 100644 --- a/drivers/pci/controller/pcie-rcar.c +++ b/drivers/pci/controller/pcie-rcar.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -151,6 +152,8 @@ struct rcar_pcie { struct list_headresources; int root_bus_nr; struct clk *bus_clk; + struct regulator*pcie3v3; /* 3.3V power supply */ + struct regulator*pcie1v8; /* 1.8V power supply */ struct rcar_msi msi; }; @@ -1120,6 +1123,36 @@ static const struct of_device_id rcar_pcie_of_match[] = { {}, }; +static int rcar_pcie_set_vpcie(struct rcar_pcie *pcie) +{ + struct device *dev = pcie->dev; + int err; + + if (!IS_ERR(pcie->pcie3v3)) { + err = regulator_enable(pcie->pcie3v3); + if (err) { + dev_err(dev, "fail to enable vpcie3v3 regulator\n"); + goto err_out; + } + } + + if (!IS_ERR(pcie->pcie1v8)) { + err = regulator_enable(pcie->pcie1v8); + if (err) { + dev_err(dev, "fail to enable vpcie1v8 regulator\n"); + goto err_disable_3v3; + } + } + + return 0; + +err_disable_3v3: + if (!IS_ERR(pcie->pcie3v3)) + regulator_disable(pcie->pcie3v3); +err_out: + return err; +} + static int rcar_pcie_probe(struct platform_device *pdev) { struct device *dev = >dev; @@ -1138,6 +1171,31 @@ static int rcar_pcie_probe(struct platform_device *pdev) pcie->dev = dev; platform_set_drvdata(pdev, pcie); + pcie->pcie3v3 = devm_regulator_get_optional(dev, "pcie3v3"); + if (IS_ERR(pcie->pcie3v3)) { + if (PTR_ERR(pcie->pcie3v3) == -EPROBE_DEFER) { + pci_free_host_bridge(bridge); + return -EPROBE_DEFER; + } + dev_info(dev, "no pcie3v3 regulator found\n"); + } + + pcie->pcie1v8 = devm_regulator_get_optional(dev, "pcie1v8"); + if (IS_ERR(pcie->pcie1v8)) { + if (PTR_ERR(pcie->pcie1v8) == -EPROBE_DEFER) { + pci_free_host_bridge(bridge); + return -EPROBE_DEFER; +
[linux-yocto] [PATCH 5/5] arm64: dts: r8a7795-h3ulcb: Add reserved memory regions
From: Yusuke Goda commit 1d40ccc5723b9b3028829194c422a01cf8afd2a3 from git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-bsp.git This patch adds reserved memory regions: - Lossy Decompression 48 MiB : 0x005400 -> 0x0056ff - Default CMA area 400 MiB : 0x005700 -> 0x006fff - CMA area for MMP 256 MiB : 0x007000 -> 0x007fff Signed-off-by: Yusuke Goda [takeshi.kihara.df: fix W=1 dtc unit_address_vs_reg warnings] Signed-off-by: Takeshi Kihara Signed-off-by: Meng Li --- .../arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 29 ++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts index 54515eaf0310..b9088a4e0a4a 100644 --- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts +++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts @@ -2,7 +2,7 @@ /* * Device Tree Source for the H3ULCB (R-Car Starter Kit Premier) board * - * Copyright (C) 2016 Renesas Electronics Corp. + * Copyright (C) 2016-2017 Renesas Electronics Corp. * Copyright (C) 2016 Cogent Embedded, Inc. */ @@ -34,6 +34,33 @@ device_type = "memory"; reg = <0x7 0x 0x0 0x4000>; }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + /* device specific region for Lossy Decompression */ + lossy_decompress: linux,lossy_decompress@5400 { + no-map; + reg = <0x 0x5400 0x0 0x0300>; + }; + + /* global autoconfigured region for contiguous allocations */ + linux,cma@5700 { + compatible = "shared-dma-pool"; + reusable; + reg = <0x 0x5700 0x0 0x1900>; + linux,cma-default; + }; + + /* device specific region for contiguous allocations */ + mmp_reserved: linux,multimedia@7000 { + compatible = "shared-dma-pool"; + reusable; + reg = <0x 0x7000 0x0 0x1000>; + }; + }; }; { -- 2.17.1 -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
[linux-yocto] [PATCH 4/5] arm64: dts: r8a7795: Add CPUIdle support for all CPU core
From: Takeshi Kihara commit 3c3b44c752c4eef9a29694f4262934445c5f5da9 from git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-bsp.git This patch enables CPUIdle (Core shutdown) support for R-Car H3. Signed-off-by: Takeshi Kihara Signed-off-by: Meng Li --- arch/arm64/boot/dts/renesas/r8a7795.dtsi | 32 1 file changed, 32 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi index 95deff66eeb6..ab36cb8a680c 100644 --- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi @@ -155,6 +155,7 @@ power-domains = < R8A7795_PD_CA57_CPU0>; next-level-cache = <_CA57>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_0>; dynamic-power-coefficient = <854>; clocks = < CPG_CORE R8A7795_CLK_Z>; operating-points-v2 = <_opp>; @@ -169,6 +170,7 @@ power-domains = < R8A7795_PD_CA57_CPU1>; next-level-cache = <_CA57>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_0>; clocks = < CPG_CORE R8A7795_CLK_Z>; operating-points-v2 = <_opp>; capacity-dmips-mhz = <1024>; @@ -182,6 +184,7 @@ power-domains = < R8A7795_PD_CA57_CPU2>; next-level-cache = <_CA57>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_0>; clocks = < CPG_CORE R8A7795_CLK_Z>; operating-points-v2 = <_opp>; capacity-dmips-mhz = <1024>; @@ -195,6 +198,7 @@ power-domains = < R8A7795_PD_CA57_CPU3>; next-level-cache = <_CA57>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_0>; clocks = < CPG_CORE R8A7795_CLK_Z>; operating-points-v2 = <_opp>; capacity-dmips-mhz = <1024>; @@ -208,6 +212,7 @@ power-domains = < R8A7795_PD_CA53_CPU0>; next-level-cache = <_CA53>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_1>; #cooling-cells = <2>; dynamic-power-coefficient = <277>; clocks = < CPG_CORE R8A7795_CLK_Z2>; @@ -222,6 +227,7 @@ power-domains = < R8A7795_PD_CA53_CPU1>; next-level-cache = <_CA53>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_1>; clocks = < CPG_CORE R8A7795_CLK_Z2>; operating-points-v2 = <_opp>; capacity-dmips-mhz = <535>; @@ -234,6 +240,7 @@ power-domains = < R8A7795_PD_CA53_CPU2>; next-level-cache = <_CA53>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_1>; clocks = < CPG_CORE R8A7795_CLK_Z2>; operating-points-v2 = <_opp>; capacity-dmips-mhz = <535>; @@ -246,6 +253,7 @@ power-domains = < R8A7795_PD_CA53_CPU3>; next-level-cache = <_CA53>; enable-method = "psci"; + cpu-idle-states = <_SLEEP_1>; clocks = < CPG_CORE R8A7795_CLK_Z2>; operating-points-v2 = <_opp>; capacity-dmips-mhz = <535>; @@ -264,6 +272,30 @@ cache-unified; cache-level = <2>; }; + + idle-states { + entry-method = "psci"; + + CPU_SLEEP_0: cpu-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x001>; + local-timer-stop; + entry-latency-us = <400>; + exit-latency-us = <500>; + min-residency-us = <4000>; + status = "okay"; + }; + + CPU_SLEEP_1: cpu-sleep-1 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x001>; + local-timer-stop; + entry-latency-us = <700>; + exit-latency-us = <700>; + min-residency-us = <5000>; + status
[linux-yocto] [PATCH 1/5] arch: arm64: dts: Set gpio5-pin9 as input by default
From: Limeng The gpio5-pin9 is used as the interrupt pin of i2c external gpio chip, so set this pin as input by default. Signed-off-by: Meng Li --- arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 9 + 1 file changed, 9 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi index 202177706cde..8986a7e6e099 100644 --- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi +++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi @@ -205,6 +205,15 @@ }; }; + { + gpio_exp_77_int { + gpio-hog; + gpios = <9 0>; + input; + line-name = "gpio-exp-77-int"; + }; +}; + { i2cswitch4: i2c-switch@71 { compatible = "nxp,pca9548"; -- 2.17.1 -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
[linux-yocto] [linux-yocto-v5.2]: [kernel standard/base]: renesas-rcar: add some patches to improve features on renesas-rcar platform
From: Limeng Hi Bruce, I am working on BSP renesas-rcar platform, and intend to merge this BSP supporting into yocto community. Below 4 patches are used to improve gpio, CAN BUS, audio and PCIe features This first patch is from mainline upstream, the other 3 patches merged into linux-yocto-dev(standard/base) some days ago. 0001-arm64-dts-renesas-ulcb-kf-Add-support-for-TI-WL1837.patch 0002-arch-arm64-dts-Set-gpio5-pin9-as-input-by-default.patch 0003-driver-net-can-disable-clock-when-it-is-in-enable-st.patch 0004-pci-pcie-rcar-add-regulators-support.patch Could you please merge the 4 patches into linux-yocto, branch is v5.2/standard/base? arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 105 +++ drivers/net/can/rcar/rcar_can.c |5 + drivers/pci/controller/pcie-rcar.c | 64 ++ 3 files changed, 173 insertions(+), 1 deletion(-) thanks, Limeng -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
[linux-yocto] [PATCH 2/5] driver: net: can: disable clock when it is in enable status
From: Limeng If disable a clock when it is already in disable status, there will be a warning trace generated. So, it is need to confirm whether what status the clock is in before disable it. Signed-off-by: Meng Li --- drivers/net/can/rcar/rcar_can.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/can/rcar/rcar_can.c b/drivers/net/can/rcar/rcar_can.c index bf5adea9c0a3..b136a238f7eb 100644 --- a/drivers/net/can/rcar/rcar_can.c +++ b/drivers/net/can/rcar/rcar_can.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #define RCAR_CAN_DRV_NAME "rcar_can" @@ -859,7 +860,9 @@ static int __maybe_unused rcar_can_suspend(struct device *dev) writew(ctlr, >regs->ctlr); priv->can.state = CAN_STATE_SLEEPING; - clk_disable(priv->clk); + if(__clk_is_enabled(priv->clk)) + clk_disable(priv->clk); + return 0; } -- 2.17.1 -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto