From e5cb1a8e9c1a831e8df79655902b813426187fed Mon Sep 17 00:00:00 2001 From: Xianzhong Date: Wed, 10 Jun 2020 16:30:58 +0800 Subject: MGS-5768 [#imx-2132] fix android cts memory leak with CL_MEM_USE_HOST_PHYSICAL_ADDR_VIV CL_MEM_USE_HOST_PHYSICAL_ADDR_VIV will use host physical memory directly, logical address is zero. gckOS_UnlockPages will check Logical address and return invalid parameter, that causes memory leak in OpenCL user library, need remove this check. Signed-off-by: Xianzhong (cherry picked from commit 85a7c0f80d4f44d990f9ba85ecf2b6baea06053c) (cherry picked from commit d3f9bbb64cc198f06a92676eb536a7b4c0f08eeb) --- drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c index dd88062de771..7ba1703b22db 100644 --- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c +++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c @@ -3689,7 +3689,6 @@ gckOS_UnlockPages( /* Verify the arguments. */ gcmkVERIFY_OBJECT(Os, gcvOBJ_OS); gcmkVERIFY_ARGUMENT(Physical != gcvNULL); - gcmkVERIFY_ARGUMENT(Logical != gcvNULL); mutex_lock(&mdl->mapsMutex); -- cgit v1.2.3 From 2ee741d5e2bcedc9f803f673178c5284319b5609 Mon Sep 17 00:00:00 2001 From: Jacky Bai Date: Mon, 29 Jun 2020 13:34:25 +0800 Subject: MLK-24359 ARM: dts: Add the i.MX6ULZ Lite EVK board support The i.MX6ULZ Lite is full compatible with i.MX6ULL/ULZ, and only support 9x9 package. Signed-off-by: Jacky Bai Reviewed-by: Anson Huang --- arch/arm/boot/dts/Makefile | 3 ++- arch/arm/boot/dts/imx6ulz-lite-evk.dts | 36 ++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/imx6ulz-lite-evk.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 76780229f9d6..5ec17cd06e3a 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -598,7 +598,8 @@ dtb-$(CONFIG_SOC_IMX6ULL) += \ imx6ulz-14x14-evk-btwifi.dtb \ imx6ulz-14x14-evk-btwifi-oob.dtb \ imx6ulz-14x14-evk-emmc.dtb \ - imx6ulz-14x14-evk-gpmi-weim.dtb + imx6ulz-14x14-evk-gpmi-weim.dtb \ + imx6ulz-lite-evk.dtb dtb-$(CONFIG_SOC_IMX6SLL) += \ imx6sll-lpddr2-arm2.dtb \ imx6sll-lpddr3-arm2.dtb \ diff --git a/arch/arm/boot/dts/imx6ulz-lite-evk.dts b/arch/arm/boot/dts/imx6ulz-lite-evk.dts new file mode 100644 index 000000000000..ce52209d2e18 --- /dev/null +++ b/arch/arm/boot/dts/imx6ulz-lite-evk.dts @@ -0,0 +1,36 @@ +/* + * Copyright 2020 NXP + * + * 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. + */ + +/dts-v1/; + +#include "imx6ull-9x9-evk.dts" + +/ { + model = "Freescale i.MX6 ULZ Lite EVK Board"; + + aliases { + /delete-property/ can0; + /delete-property/ can1; + /delete-property/ ethernet0; + /delete-property/ ethernet1; + }; + + /delete-node/ backlight; + /delete-node/ pxp_v4l2; +}; + +/delete-node/ &csi; +/delete-node/ &fec1; +/delete-node/ &fec2; +/delete-node/ &flexcan1; +/delete-node/ &flexcan2; +/delete-node/ &lcdif; +/delete-node/ &ov5640; +/delete-node/ &pxp; +/delete-node/ ®_can_3v3; +/delete-node/ &tsc; -- cgit v1.2.3 From b9eb888d55d5e77d653bcd021936967457152322 Mon Sep 17 00:00:00 2001 From: Jacky Bai Date: Mon, 4 Nov 2019 15:26:59 +0800 Subject: clk: imx8mm: Change the 'nand_usdhc_bus' clock to non-critical one The 'nand_usdhc_bus' clock is only need to be enabled when usdhc or nand module is active, so change it to non-critical clock type. Signed-off-by: Jacky Bai (cherry picked from commit 32caf053fc38697bd418ef95bb3ff9962f6b7019) --- drivers/clk/imx/clk-imx8mm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/imx/clk-imx8mm.c b/drivers/clk/imx/clk-imx8mm.c index 517fa488d4f7..56f35978cc54 100644 --- a/drivers/clk/imx/clk-imx8mm.c +++ b/drivers/clk/imx/clk-imx8mm.c @@ -543,7 +543,7 @@ static void __init imx8mm_clocks_init(struct device_node *ccm_node) /* BUS */ clks[IMX8MM_CLK_MAIN_AXI] = imx8m_clk_composite_critical("main_axi", imx8mm_main_axi_sels, base + 0x8800); clks[IMX8MM_CLK_ENET_AXI] = imx8m_clk_composite("enet_axi", imx8mm_enet_axi_sels, base + 0x8880); - clks[IMX8MM_CLK_NAND_USDHC_BUS] = imx8m_clk_composite_critical("nand_usdhc_bus", imx8mm_nand_usdhc_sels, base + 0x8900); + clks[IMX8MM_CLK_NAND_USDHC_BUS] = imx8m_clk_composite("nand_usdhc_bus", imx8mm_nand_usdhc_sels, base + 0x8900); clks[IMX8MM_CLK_VPU_BUS] = imx8m_clk_composite("vpu_bus", imx8mm_vpu_bus_sels, base + 0x8980); clks[IMX8MM_CLK_DISP_AXI] = imx8m_clk_composite("disp_axi", imx8mm_disp_axi_sels, base + 0x8a00); clks[IMX8MM_CLK_DISP_APB] = imx8m_clk_composite("disp_apb", imx8mm_disp_apb_sels, base + 0x8a80); -- cgit v1.2.3 From abb476cd4c74246e14dab7aff5b9f90eb0652e0d Mon Sep 17 00:00:00 2001 From: Jacky Bai Date: Wed, 8 Jul 2020 16:57:06 +0800 Subject: MLK-24369 ARM: imx: Add dummy soc id for imx6ulz lite for i.MX6ULZ Lite, there is no dedicated SOC id for it, so add a dummy ID and identify it by checking the MARK bit in fuse. Signed-off-by: Jacky Bai Reviewed-by: Anson Huang --- arch/arm/mach-imx/anatop.c | 14 ++++++++++++++ arch/arm/mach-imx/cpu.c | 3 +++ arch/arm/mach-imx/mxc.h | 7 +++++-- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-imx/anatop.c b/arch/arm/mach-imx/anatop.c index 7716fd5fe58a..6ee51d79d83a 100644 --- a/arch/arm/mach-imx/anatop.c +++ b/arch/arm/mach-imx/anatop.c @@ -235,6 +235,20 @@ void __init imx_init_revision_from_anatop(void) digprog &= ~(0xff << 16); digprog |= (MXC_CPU_IMX6ULZ << 16); } + + /* dummy ID for i.MX6ULZ Lite */ + np = of_find_compatible_node(NULL, NULL, "fsl,imx6ull-ocotp"); + if (np) { + src_base = of_iomap(np, 0); + WARN_ON(!src_base); + sbmr2 = readl_relaxed(src_base + 0x460); + iounmap(src_base); + } + if (sbmr2 & BIT(2)) { + digprog &= ~(0xff << 16); + digprog |= (MXC_CPU_IMX6ULZL << 16); + } + } /* diff --git a/arch/arm/mach-imx/cpu.c b/arch/arm/mach-imx/cpu.c index 9f53229d8b5a..bd8ab7646686 100644 --- a/arch/arm/mach-imx/cpu.c +++ b/arch/arm/mach-imx/cpu.c @@ -141,6 +141,9 @@ struct device * __init imx_soc_device_init(void) case MXC_CPU_IMX6ULZ: soc_id = "i.MX6ULZ"; break; + case MXC_CPU_IMX6ULZL: + soc_id = "i.MX6ULZL"; + break; case MXC_CPU_IMX7D: soc_id = "i.MX7D"; break; diff --git a/arch/arm/mach-imx/mxc.h b/arch/arm/mach-imx/mxc.h index 95e7c3e6f141..43ee3c209513 100644 --- a/arch/arm/mach-imx/mxc.h +++ b/arch/arm/mach-imx/mxc.h @@ -42,6 +42,7 @@ #define MXC_CPU_IMX6ULL 0x65 #define MXC_CPU_IMX6SLL 0x67 #define MXC_CPU_IMX6ULZ 0x6B +#define MXC_CPU_IMX6ULZL 0x6C /* Dummy ID */ #define MXC_CPU_IMX7D 0x72 #define MXC_CPU_IMX7ULP 0xff /* TBD */ @@ -86,7 +87,8 @@ static inline bool cpu_is_imx6ul(void) static inline bool cpu_is_imx6ull(void) { return __mxc_cpu_type == MXC_CPU_IMX6ULL || - __mxc_cpu_type == MXC_CPU_IMX6ULZ; + __mxc_cpu_type == MXC_CPU_IMX6ULZ || + __mxc_cpu_type == MXC_CPU_IMX6ULZL; } static inline bool cpu_is_imx6sll(void) @@ -108,7 +110,8 @@ static inline bool cpu_is_imx6(void) __mxc_cpu_type == MXC_CPU_IMX6UL || __mxc_cpu_type == MXC_CPU_IMX6ULL || __mxc_cpu_type == MXC_CPU_IMX6SLL || - __mxc_cpu_type == MXC_CPU_IMX6ULZ; + __mxc_cpu_type == MXC_CPU_IMX6ULZ || + __mxc_cpu_type == MXC_CPU_IMX6ULZL; } static inline bool cpu_is_imx7d(void) -- cgit v1.2.3 From eee20701246c08036f8635d349844f6c077645fd Mon Sep 17 00:00:00 2001 From: Jacky Bai Date: Fri, 10 Jul 2020 13:39:22 +0800 Subject: MLK-24388: ARM: dts: Add more dts for imx6ulz lite Add btwifi dts support for i.MX6ULZ Lite. Signed-off-by: Jacky Bai Reviewed-by: Anson Huang --- arch/arm/boot/dts/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 5ec17cd06e3a..c604ac001528 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -599,7 +599,9 @@ dtb-$(CONFIG_SOC_IMX6ULL) += \ imx6ulz-14x14-evk-btwifi-oob.dtb \ imx6ulz-14x14-evk-emmc.dtb \ imx6ulz-14x14-evk-gpmi-weim.dtb \ - imx6ulz-lite-evk.dtb + imx6ulz-lite-evk.dtb \ + imx6ulz-lite-evk-btwifi.dtb \ + imx6ulz-lite-evk-btwifi-oob.dtb dtb-$(CONFIG_SOC_IMX6SLL) += \ imx6sll-lpddr2-arm2.dtb \ imx6sll-lpddr3-arm2.dtb \ -- cgit v1.2.3 From 1c777e3999c4a55cc923533bfd2e69263c22dec8 Mon Sep 17 00:00:00 2001 From: Jacky Bai Date: Sun, 12 Jul 2020 10:58:11 +0800 Subject: MLK-24390 ARM: dts: Add the missing wifi dts file for imx6ulz lite evk The dts file for WIFI support on i.MX6ULZ Lite is missed, so add it. Signed-off-by: Jacky Bai Reviewed-by: Anson Huang --- arch/arm/boot/dts/imx6ulz-lite-evk-btwifi-oob.dts | 22 ++++++++++++++++++++++ arch/arm/boot/dts/imx6ulz-lite-evk-btwifi.dts | 10 ++++++++++ 2 files changed, 32 insertions(+) create mode 100644 arch/arm/boot/dts/imx6ulz-lite-evk-btwifi-oob.dts create mode 100644 arch/arm/boot/dts/imx6ulz-lite-evk-btwifi.dts diff --git a/arch/arm/boot/dts/imx6ulz-lite-evk-btwifi-oob.dts b/arch/arm/boot/dts/imx6ulz-lite-evk-btwifi-oob.dts new file mode 100644 index 000000000000..e7ddeaa2a16d --- /dev/null +++ b/arch/arm/boot/dts/imx6ulz-lite-evk-btwifi-oob.dts @@ -0,0 +1,22 @@ +/* + * Copyright 2020 NXP + * + * 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. + */ + +#include "imx6ulz-lite-evk-btwifi.dts" + +&pinctrl_wifi { + fsl,pins = < + /* MUXing for WL_HOST_WAKE */ + MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15 0x13041 + >; +}; + +&brcmf { + interrupt-parent = <&gpio2>; + interrupts = <15 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "host-wake"; +}; diff --git a/arch/arm/boot/dts/imx6ulz-lite-evk-btwifi.dts b/arch/arm/boot/dts/imx6ulz-lite-evk-btwifi.dts new file mode 100644 index 000000000000..98f498ae4655 --- /dev/null +++ b/arch/arm/boot/dts/imx6ulz-lite-evk-btwifi.dts @@ -0,0 +1,10 @@ +/* + * Copyright 2020 NXP + * + * 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. + */ + +#include "imx6ulz-lite-evk.dts" +#include "imx6ul-evk-btwifi.dtsi" -- cgit v1.2.3 From dc4ba17dfdb745646ef7688aa1ef4782a475299d Mon Sep 17 00:00:00 2001 From: Fugang Duan Date: Fri, 17 May 2019 17:18:04 +0800 Subject: MLK-21756 brcmfmac: bcmsdh: attach device only func1 compatible string match brcmfamc driver attach mmc func devices only when func1 device's node exist, and whose compatible string match "brcm,bcm4329-fmac". Reviewed-by: Richard Zhu Signed-off-by: Fugang Duan (cherry picked from commit: b9945d63c2b8a6c1c9b018869eb2479781501608) --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c index 43015f2333c4..feda6dff25d9 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include @@ -1143,6 +1144,7 @@ static int brcmf_ops_sdio_probe(struct sdio_func *func, struct brcmf_sdio_dev *sdiodev; struct brcmf_bus *bus_if; struct device *dev; + struct device *func_dev; brcmf_dbg(SDIO, "Enter\n"); brcmf_dbg(SDIO, "Class=%x\n", func->class); @@ -1154,6 +1156,11 @@ static int brcmf_ops_sdio_probe(struct sdio_func *func, /* prohibit ACPI power management for this device */ brcmf_sdiod_acpi_set_power_manageable(dev, 0); + func_dev = &func->card->sdio_func[0]->dev; + if (!func_dev->of_node || + !of_device_is_compatible(func_dev->of_node, "brcm,bcm4329-fmac")) + return -ENODEV; + /* Consume func num 1 but dont do anything with it. */ if (func->num == 1) return 0; -- cgit v1.2.3