* [GIT PULL 1/5] i.MX cleanup for 4.9 @ 2016-09-12 9:02 Shawn Guo 2016-09-12 9:02 ` [GIT PULL 2/5] i.MX soc updates " Shawn Guo ` (4 more replies) 0 siblings, 5 replies; 13+ messages in thread From: Shawn Guo @ 2016-09-12 9:02 UTC (permalink / raw) To: linux-arm-kernel The following changes since commit 29b4817d4018df78086157ea3a55c1d9424a7cfc: Linux 4.8-rc1 (2016-08-07 18:18:00 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git tags/imx-cleanup-4.9 for you to fetch changes up to 3481bdce6516a1872f3ac0af43ba56d0e1ee3afa: ARM: imx: (trivial) fix typo and grammar (2016-09-05 10:36:19 +0800) ---------------------------------------------------------------- i.MX cleanup for 4.9: - Drop i.MX1 board files and make i.MX1 a DT only platform. - Remove obsolete ENET initialization code for TX28 board, since FEC driver handles those setup well now. - A couple of cleanups on i.MX31 IOMUX headers to drop duplications - A few other random and trivial cleanups ---------------------------------------------------------------- Alexander Kurz (2): ARM: i.MX31 iomux: remove plain duplicates ARM: i.MX31 iomux: remove duplicates with alternate name Alexander Shiyan (4): ARM: i.MX: Remove i.MX1 Armadeus APF9328 board support ARM: i.MX: Remove i.MX1 Synertronixx SCB9328 board support ARM: i.MX: Remove i.MX1 non-DT support ARM: i.MX: Move SOC_IMX1 into 'Device tree only' Fabian Frederick (1): ARM: imx: remove platform-mxc_rnga Javier Martinez Canillas (1): ARM: imx: use IS_ENABLED() instead of checking for built-in or module Lothar Wa?mann (1): ARM: mxs: remove obsolete startup code for TX28 Martin Kaiser (1): ARM: imx: (trivial) fix typo and grammar Vladimir Murzin (1): ARM: imx: no need to select SMP_ON_UP explicitly arch/arm/configs/imx_v4_v5_defconfig | 3 +- arch/arm/configs/multi_v4t_defconfig | 4 +- arch/arm/mach-imx/Kconfig | 50 ++------ arch/arm/mach-imx/Makefile | 7 +- arch/arm/mach-imx/common.h | 5 - arch/arm/mach-imx/devices-imx1.h | 30 ----- arch/arm/mach-imx/devices/Makefile | 1 - arch/arm/mach-imx/devices/devices-common.h | 12 -- arch/arm/mach-imx/devices/platform-imx-fb.c | 5 - arch/arm/mach-imx/devices/platform-imx-i2c.c | 5 - arch/arm/mach-imx/devices/platform-imx-uart.c | 37 ------ arch/arm/mach-imx/devices/platform-spi_imx.c | 9 -- arch/arm/mach-imx/hardware.h | 3 +- arch/arm/mach-imx/iomux-mx1.h | 155 ----------------------- arch/arm/mach-imx/iomux-mx3.h | 34 ----- arch/arm/mach-imx/mach-apf9328.c | 148 ---------------------- arch/arm/mach-imx/{imx1-dt.c => mach-imx1.c} | 23 +++- arch/arm/mach-imx/mach-kzm_arm11_01.c | 6 +- arch/arm/mach-imx/mach-pcm037.c | 2 +- arch/arm/mach-imx/mach-scb9328.c | 143 --------------------- arch/arm/mach-imx/mm-imx1.c | 67 ---------- arch/arm/mach-imx/mx1.h | 172 -------------------------- arch/arm/mach-mxs/mach-mxs.c | 77 ------------ drivers/clk/imx/clk-imx1.c | 46 +------ 24 files changed, 46 insertions(+), 998 deletions(-) delete mode 100644 arch/arm/mach-imx/devices-imx1.h delete mode 100644 arch/arm/mach-imx/iomux-mx1.h delete mode 100644 arch/arm/mach-imx/mach-apf9328.c rename arch/arm/mach-imx/{imx1-dt.c => mach-imx1.c} (63%) delete mode 100644 arch/arm/mach-imx/mach-scb9328.c delete mode 100644 arch/arm/mach-imx/mm-imx1.c delete mode 100644 arch/arm/mach-imx/mx1.h ^ permalink raw reply [flat|nested] 13+ messages in thread
* [GIT PULL 2/5] i.MX soc updates for 4.9 2016-09-12 9:02 [GIT PULL 1/5] i.MX cleanup for 4.9 Shawn Guo @ 2016-09-12 9:02 ` Shawn Guo 2016-09-19 14:55 ` Arnd Bergmann 2016-09-12 9:02 ` [GIT PULL 3/5] i.MX device tree " Shawn Guo ` (3 subsequent siblings) 4 siblings, 1 reply; 13+ messages in thread From: Shawn Guo @ 2016-09-12 9:02 UTC (permalink / raw) To: linux-arm-kernel The following changes since commit 29b4817d4018df78086157ea3a55c1d9424a7cfc: Linux 4.8-rc1 (2016-08-07 18:18:00 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git tags/imx-soc-4.9 for you to fetch changes up to d64299daf44c7ff57120a379ceb4907f19bbf041: ARM: imx: build cpuidle-imx6sx.o for imx6ul (2016-09-08 22:12:10 +0800) ---------------------------------------------------------------- i.MX SoC updates for 4.9: - Set INT_MEM_CLK_LPM bit to get proper WAIT mode support on i.MX6SX. This is a workaround for i.MX6SX WAIT mode hardware issue. - Enable cpuidle support with 3 low-power states (WFI, WAIT, POWER-OFF) for i.MX6UL. ---------------------------------------------------------------- Anson Huang (3): ARM: imx: rename imx6q_set_int_mem_clk_lpm() function ARM: imx: enable WAIT mode hardware workaround for imx6sx ARM: imx: add cpuidle support for i.mx6ul Arnd Bergmann (1): ARM: imx: build cpuidle-imx6sx.o for imx6ul arch/arm/mach-imx/Makefile | 1 + arch/arm/mach-imx/common.h | 2 +- arch/arm/mach-imx/cpuidle-imx6q.c | 2 +- arch/arm/mach-imx/cpuidle-imx6sx.c | 11 +++++++++++ arch/arm/mach-imx/mach-imx6ul.c | 3 +++ arch/arm/mach-imx/pm-imx6.c | 8 ++++---- 6 files changed, 21 insertions(+), 6 deletions(-) ^ permalink raw reply [flat|nested] 13+ messages in thread
* [GIT PULL 2/5] i.MX soc updates for 4.9 2016-09-12 9:02 ` [GIT PULL 2/5] i.MX soc updates " Shawn Guo @ 2016-09-19 14:55 ` Arnd Bergmann 0 siblings, 0 replies; 13+ messages in thread From: Arnd Bergmann @ 2016-09-19 14:55 UTC (permalink / raw) To: linux-arm-kernel On Monday, September 12, 2016 5:02:25 PM CEST Shawn Guo wrote: > i.MX SoC updates for 4.9: > - Set INT_MEM_CLK_LPM bit to get proper WAIT mode support on i.MX6SX. > This is a workaround for i.MX6SX WAIT mode hardware issue. > - Enable cpuidle support with 3 low-power states (WFI, WAIT, POWER-OFF) > for i.MX6UL. > > Pulled into next/soc, thanks! Arnd ^ permalink raw reply [flat|nested] 13+ messages in thread
* [GIT PULL 3/5] i.MX device tree updates for 4.9 2016-09-12 9:02 [GIT PULL 1/5] i.MX cleanup for 4.9 Shawn Guo 2016-09-12 9:02 ` [GIT PULL 2/5] i.MX soc updates " Shawn Guo @ 2016-09-12 9:02 ` Shawn Guo 2016-09-13 15:43 ` Arnd Bergmann 2016-09-12 9:02 ` [GIT PULL 4/5] Freescale arm64 " Shawn Guo ` (2 subsequent siblings) 4 siblings, 1 reply; 13+ messages in thread From: Shawn Guo @ 2016-09-12 9:02 UTC (permalink / raw) To: linux-arm-kernel The following changes since commit 29b4817d4018df78086157ea3a55c1d9424a7cfc: Linux 4.8-rc1 (2016-08-07 18:18:00 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git tags/imx-dt-4.9 for you to fetch changes up to bb728d662bed0fe91b152550e640cb3f6caa972c: ARM: dts: add gpio-ranges property to iMX GPIO controllers (2016-09-09 14:21:55 +0800) ---------------------------------------------------------------- i.MX device tree changes for 4.9: - Add SoC support for i.MX7 Solo which is a reduced version of i.MX7 Dual. - New board support: Gateworks Ventana i.MX6Q/DL GW553x, Inverse Path i.MX53 USB armory, i.MX6Q/DL TS-4900 from Technologic Systems, i.MX6UL GEA M6UL modules from Engicam, i.MX7 Solo Warp7 board. - Add DMA and IPU CSI devices for i.MX53 SoC support. - Refine i.MX7 Dual SoC DTS as a preparation of i.MX7 Solo support. - Use of_graph dt nodes to describe the panel for vf610-colibri and ls1021a-twr boards. - Add gpio-ranges property to i.MX6 GPIO controllers, which will be useful when GPIO driver is changed to request pad configuration as GPIO function. - Random device additions or small changes for various board support. ---------------------------------------------------------------- Andrej Rosano (2): devicetree: Add vendor prefix for Inverse Path ARM: dts: imx53: add support for USB armory board Anson Huang (1): ARM: dts: imx6ul iomuxc syscon is compatible to imx6q Breno Lima (1): ARM: dts: imx7s-warp: Add MPL3115 sensor support Christoph Fritz (1): ARM: dts: imx6sx: document SION necessity of ENET1_REF_CLK1 Fabien Lahoudere (2): ARM: dts: imx53: Add DMA configuration for UART ARM: dts: imx53: Add IPU nodes for csi Fabio Estevam (8): ARM: dts: imx7s-warp: Add initial support ARM: dts: imx7s: Add SDMA node ARM: dts: imx7s: Add SAI nodes ARM: dts: imx7s-warp: Add audio support ARM: dts: imx7s-warp: Add Wifi support ARM: dts: imx7s-warp: Use WDOG_B pin reset ARM: dts: imx6ul-pico-hobbit: Use WDOG_B pin reset ARM: dts: imx7s-warp: Let the codec control MCLK pinctrl Joshua Clayton (1): ARM: dts: imx6q-evi: Use GPIO_6 for fec irq Ken Lin (1): ARM: dts: imx6q-bx50v3: configure unused pca953x pins Lucile Quirion (2): of: documentation: add bindings documentation for TS-4900 ARM: dts: TS-4900: add basic device tree Marek Vasut (1): ARM: dts: imx6sx: Add GPU bindings Meng Yi (1): ARM: dts: ls1021a: Add of_graph dt nodes to describe the panel Michael Trimarchi (1): ARM: dts: imx6ul-geam: Add Engicam IMX6UL GEA M6UL initial support Sascha Hauer (1): ARM: i.MX6 Phytec PFLA02: Add supplies for the SoC internal regulators Stefan Agner (8): ARM: dts: imx7d: move ARM platform peripherals inside soc node ARM: dts: imx7d: fix GIC nodes interrupt and register specification ARM: dts: imx7d: move CPU operating points to imx7d.dtsi ARM: dts: imx7d: add clock-frequency to CPU nodes ARM: dts: imx7-colibri: move SD-card to module level ARM: dts: imx7-colibri: add basic supply regulators ARM: dts: imx7-colibri: add Audio support ARM: dts: vf610-colibri: use of_graph dt nodes to describe the panel Tim Harvey (3): ARM: dts: imx: ventana: Add ext watchdog reset ARM: dts: imx: add Gateworks Ventana GW553x support ARM: dts: imx: ventana: add RS485 txen gpio support Uwe Kleine-K?nig (2): ARM: dts: imx6qdl: don't configure reserved pad settings ARM: dts: imx35: add iim module to imx35.dtsi Vanessa Maegima (4): ARM: dts: imx6ul-pico-hobbit: Add Wifi support ARM: dts: imx7s-warp: Enable I2C2 device support ARM: dts: imx7s-warp: Add User Button support ARM: dts: imx7s-warp: Add Bluetooth support Vladimir Zapolskiy (1): ARM: dts: add gpio-ranges property to iMX GPIO controllers .../devicetree/bindings/arm/technologic.txt | 6 + .../devicetree/bindings/vendor-prefixes.txt | 1 + arch/arm/boot/dts/Makefile | 9 +- arch/arm/boot/dts/imx35.dtsi | 7 + arch/arm/boot/dts/imx50.dtsi | 10 + arch/arm/boot/dts/imx53-usbarmory.dts | 224 ++++++++++ arch/arm/boot/dts/imx53.dtsi | 18 + arch/arm/boot/dts/imx6dl-gw553x.dts | 55 +++ arch/arm/boot/dts/imx6dl-riotboard.dts | 22 +- arch/arm/boot/dts/imx6dl-ts4900.dts | 49 +++ arch/arm/boot/dts/imx6dl.dtsi | 53 +++ arch/arm/boot/dts/imx6q-arm2.dts | 24 +- arch/arm/boot/dts/imx6q-b450v3.dts | 16 + arch/arm/boot/dts/imx6q-b650v3.dts | 9 + arch/arm/boot/dts/imx6q-ba16.dtsi | 24 +- arch/arm/boot/dts/imx6q-bx50v3.dtsi | 70 +++ arch/arm/boot/dts/imx6q-cm-fx6.dts | 24 +- arch/arm/boot/dts/imx6q-dmo-edmqmx6.dts | 24 +- arch/arm/boot/dts/imx6q-evi.dts | 28 +- arch/arm/boot/dts/imx6q-gw5400-a.dts | 24 +- arch/arm/boot/dts/imx6q-gw553x.dts | 55 +++ arch/arm/boot/dts/imx6q-marsboard.dts | 24 +- arch/arm/boot/dts/imx6q-novena.dts | 12 +- arch/arm/boot/dts/imx6q-sbc6x.dts | 24 +- arch/arm/boot/dts/imx6q-tbs2910.dts | 24 +- arch/arm/boot/dts/imx6q-ts4900.dts | 53 +++ arch/arm/boot/dts/imx6q.dtsi | 37 ++ arch/arm/boot/dts/imx6qdl-apalis.dtsi | 24 +- arch/arm/boot/dts/imx6qdl-dfi-fs700-m60.dtsi | 24 +- arch/arm/boot/dts/imx6qdl-gw51xx.dtsi | 36 +- arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 39 +- arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 39 +- arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | 44 +- arch/arm/boot/dts/imx6qdl-gw551x.dtsi | 12 + arch/arm/boot/dts/imx6qdl-gw552x.dtsi | 12 + arch/arm/boot/dts/imx6qdl-gw553x.dtsi | 433 +++++++++++++++++++ arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi | 24 +- arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi | 12 +- arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi | 24 +- arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi | 24 +- arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi | 36 +- arch/arm/boot/dts/imx6qdl-rex.dtsi | 24 +- arch/arm/boot/dts/imx6qdl-sabreauto.dtsi | 24 +- arch/arm/boot/dts/imx6qdl-sabrelite.dtsi | 24 +- arch/arm/boot/dts/imx6qdl-sabresd.dtsi | 24 +- arch/arm/boot/dts/imx6qdl-ts4900.dtsi | 481 +++++++++++++++++++++ arch/arm/boot/dts/imx6qdl-udoo.dtsi | 24 +- arch/arm/boot/dts/imx6qdl-wandboard.dtsi | 24 +- arch/arm/boot/dts/imx6sl.dtsi | 47 ++ arch/arm/boot/dts/imx6sx-pinfunc.h | 14 + arch/arm/boot/dts/imx6sx.dtsi | 22 + arch/arm/boot/dts/imx6ul-geam-kit.dts | 101 +++++ arch/arm/boot/dts/imx6ul-geam.dtsi | 361 ++++++++++++++++ arch/arm/boot/dts/imx6ul-pico-hobbit.dts | 33 ++ arch/arm/boot/dts/imx6ul.dtsi | 9 +- arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi | 4 - arch/arm/boot/dts/imx7-colibri.dtsi | 61 ++- arch/arm/boot/dts/imx7d.dtsi | 42 +- arch/arm/boot/dts/imx7s-warp.dts | 446 +++++++++++++++++++ arch/arm/boot/dts/imx7s.dtsi | 371 +++++++++------- arch/arm/boot/dts/ls1021a-twr.dts | 13 +- arch/arm/boot/dts/vf-colibri-eval-v3.dtsi | 13 +- 62 files changed, 3365 insertions(+), 506 deletions(-) create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dts create mode 100644 arch/arm/boot/dts/imx6dl-gw553x.dts create mode 100644 arch/arm/boot/dts/imx6dl-ts4900.dts create mode 100644 arch/arm/boot/dts/imx6q-gw553x.dts create mode 100644 arch/arm/boot/dts/imx6q-ts4900.dts create mode 100644 arch/arm/boot/dts/imx6qdl-gw553x.dtsi create mode 100644 arch/arm/boot/dts/imx6qdl-ts4900.dtsi create mode 100644 arch/arm/boot/dts/imx6ul-geam-kit.dts create mode 100644 arch/arm/boot/dts/imx6ul-geam.dtsi create mode 100644 arch/arm/boot/dts/imx7s-warp.dts ^ permalink raw reply [flat|nested] 13+ messages in thread
* [GIT PULL 3/5] i.MX device tree updates for 4.9 2016-09-12 9:02 ` [GIT PULL 3/5] i.MX device tree " Shawn Guo @ 2016-09-13 15:43 ` Arnd Bergmann 0 siblings, 0 replies; 13+ messages in thread From: Arnd Bergmann @ 2016-09-13 15:43 UTC (permalink / raw) To: linux-arm-kernel On Monday, September 12, 2016 5:02:26 PM CEST Shawn Guo wrote: > i.MX device tree changes for 4.9: > - Add SoC support for i.MX7 Solo which is a reduced version of i.MX7 > Dual. > - New board support: Gateworks Ventana i.MX6Q/DL GW553x, Inverse Path > i.MX53 USB armory, i.MX6Q/DL TS-4900 from Technologic Systems, > i.MX6UL GEA M6UL modules from Engicam, i.MX7 Solo Warp7 board. > - Add DMA and IPU CSI devices for i.MX53 SoC support. > - Refine i.MX7 Dual SoC DTS as a preparation of i.MX7 Solo support. > - Use of_graph dt nodes to describe the panel for vf610-colibri and > ls1021a-twr boards. > - Add gpio-ranges property to i.MX6 GPIO controllers, which will be > useful when GPIO driver is changed to request pad configuration as > GPIO function. > - Random device additions or small changes for various board support. > > Pulled into next/dt, thanks! Arnd ^ permalink raw reply [flat|nested] 13+ messages in thread
* [GIT PULL 4/5] Freescale arm64 device tree updates for 4.9 2016-09-12 9:02 [GIT PULL 1/5] i.MX cleanup for 4.9 Shawn Guo 2016-09-12 9:02 ` [GIT PULL 2/5] i.MX soc updates " Shawn Guo 2016-09-12 9:02 ` [GIT PULL 3/5] i.MX device tree " Shawn Guo @ 2016-09-12 9:02 ` Shawn Guo 2016-09-14 15:30 ` Arnd Bergmann 2016-09-12 9:02 ` [GIT PULL 5/5] i.MX defconfig " Shawn Guo 2016-09-19 14:48 ` [GIT PULL 1/5] i.MX cleanup " Arnd Bergmann 4 siblings, 1 reply; 13+ messages in thread From: Shawn Guo @ 2016-09-12 9:02 UTC (permalink / raw) To: linux-arm-kernel The following changes since commit 29b4817d4018df78086157ea3a55c1d9424a7cfc: Linux 4.8-rc1 (2016-08-07 18:18:00 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git tags/imx-dt64-4.9 for you to fetch changes up to e5f51a623a5d6dd24779e5136cf923611b032453: arm64: dts: ls2080a: Add 'dma-coherent' for ls2080a PCI nodes (2016-09-09 14:04:21 +0800) ---------------------------------------------------------------- i.MX arm64 device tree changes for 4.9: - Add property dma-coherent for ls2080a PCI device to save software cache maintenance. - Update serial aliases and use stdout-path to sepecify console for ls2080a and ls1043a boards. - Add DDR memory controller device node for ls2080a and ls1043a SoCs. ---------------------------------------------------------------- Liu Gang (1): arm64: dts: ls2080a: Add 'dma-coherent' for ls2080a PCI nodes Stuart Yoder (2): arm64: dts: updates serial aliases for ls1043a rdb and qds boards arm64: dts: add stdout-path to chosen node for ls2080a/ls1043a boards York Sun (1): arm64: dts: Add DDR memory controller for Layerscape SoCs arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts | 14 ++++++++------ arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts | 8 ++++++++ arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 7 +++++++ arch/arm64/boot/dts/freescale/fsl-ls2080a-qds.dts | 3 +++ arch/arm64/boot/dts/freescale/fsl-ls2080a-rdb.dts | 4 ++++ arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi | 18 ++++++++++++++++++ 6 files changed, 48 insertions(+), 6 deletions(-) ^ permalink raw reply [flat|nested] 13+ messages in thread
* [GIT PULL 4/5] Freescale arm64 device tree updates for 4.9 2016-09-12 9:02 ` [GIT PULL 4/5] Freescale arm64 " Shawn Guo @ 2016-09-14 15:30 ` Arnd Bergmann 2016-09-16 1:47 ` Shawn Guo 0 siblings, 1 reply; 13+ messages in thread From: Arnd Bergmann @ 2016-09-14 15:30 UTC (permalink / raw) To: linux-arm-kernel On Monday, September 12, 2016 5:02:27 PM CEST Shawn Guo wrote: > i.MX arm64 device tree changes for 4.9: > - Add property dma-coherent for ls2080a PCI device to save software > cache maintenance. > - Update serial aliases and use stdout-path to sepecify console for > ls2080a and ls1043a boards. > - Add DDR memory controller device node for ls2080a and ls1043a SoCs. > Pulled into next/dt64, thanks! The "dma-coherent" change sounds like a bugfix, should that be backported to stable kernels? Usually if you lack that property on a device that is actually coherent, you can get silent data corruption by treating it as non-coherent. Arnd ^ permalink raw reply [flat|nested] 13+ messages in thread
* [GIT PULL 4/5] Freescale arm64 device tree updates for 4.9 2016-09-14 15:30 ` Arnd Bergmann @ 2016-09-16 1:47 ` Shawn Guo 2016-09-16 13:42 ` Arnd Bergmann 0 siblings, 1 reply; 13+ messages in thread From: Shawn Guo @ 2016-09-16 1:47 UTC (permalink / raw) To: linux-arm-kernel On Wed, Sep 14, 2016 at 05:30:49PM +0200, Arnd Bergmann wrote: > On Monday, September 12, 2016 5:02:27 PM CEST Shawn Guo wrote: > > i.MX arm64 device tree changes for 4.9: > > - Add property dma-coherent for ls2080a PCI device to save software > > cache maintenance. > > - Update serial aliases and use stdout-path to sepecify console for > > ls2080a and ls1043a boards. > > - Add DDR memory controller device node for ls2080a and ls1043a SoCs. > > > > Pulled into next/dt64, thanks! > > The "dma-coherent" change sounds like a bugfix, should that be backported > to stable kernels? Usually if you lack that property on a device that > is actually coherent, you can get silent data corruption by treating it as > non-coherent. My impression is that those cache maintenance enforced for non-coherent device will hurt performance on coherent device. I don't know it will cause data corruption. @Liu Gang, Did you experience any functional issue with PCI device before adding "dma-coherent" property? If not, can you please do more testing to confirm this is only about performance? Otherwise, you should follow Arnd's suggestion to send the change for stable kernel. Shawn ^ permalink raw reply [flat|nested] 13+ messages in thread
* [GIT PULL 4/5] Freescale arm64 device tree updates for 4.9 2016-09-16 1:47 ` Shawn Guo @ 2016-09-16 13:42 ` Arnd Bergmann [not found] ` <CALRxmdDLRPLr3yD_wGW+3=thr8eZwX4DVGzMad0Gh7n-ERi+og@mail.gmail.com> 0 siblings, 1 reply; 13+ messages in thread From: Arnd Bergmann @ 2016-09-16 13:42 UTC (permalink / raw) To: linux-arm-kernel On Friday, September 16, 2016 9:47:03 AM CEST Shawn Guo wrote: > On Wed, Sep 14, 2016 at 05:30:49PM +0200, Arnd Bergmann wrote: > > On Monday, September 12, 2016 5:02:27 PM CEST Shawn Guo wrote: > > > i.MX arm64 device tree changes for 4.9: > > > - Add property dma-coherent for ls2080a PCI device to save software > > > cache maintenance. > > > - Update serial aliases and use stdout-path to sepecify console for > > > ls2080a and ls1043a boards. > > > - Add DDR memory controller device node for ls2080a and ls1043a SoCs. > > > > > > > Pulled into next/dt64, thanks! > > > > The "dma-coherent" change sounds like a bugfix, should that be backported > > to stable kernels? Usually if you lack that property on a device that > > is actually coherent, you can get silent data corruption by treating it as > > non-coherent. > > My impression is that those cache maintenance enforced for non-coherent > device will hurt performance on coherent device. I don't know it will > cause data corruption. The problem is that the device in this case is accessing data from the cache, while the CPU bypasses the cache for coherent mappings. The cache might have a stale cache line as the device reads data, or it could be in a writeback configuration, where the data written from the device to the cache has not made it into RAM at the time it is accessed by the CPU. For streaming mappings, the CPU will invalidate cache lines before reading the data, so again if the device has written data into the cache but not yet into memory, we will see stale data after dma_unmap_single(). Arnd ^ permalink raw reply [flat|nested] 13+ messages in thread
[parent not found: <CALRxmdDLRPLr3yD_wGW+3=thr8eZwX4DVGzMad0Gh7n-ERi+og@mail.gmail.com>]
* [GIT PULL 4/5] Freescale arm64 device tree updates for 4.9 [not found] ` <CALRxmdDLRPLr3yD_wGW+3=thr8eZwX4DVGzMad0Gh7n-ERi+og@mail.gmail.com> @ 2016-09-21 21:57 ` Stuart Yoder 0 siblings, 0 replies; 13+ messages in thread From: Stuart Yoder @ 2016-09-21 21:57 UTC (permalink / raw) To: linux-arm-kernel > -----Original Message----- > From: Arnd Bergmann <arnd@arndb.de> > Date: Fri, Sep 16, 2016 at 8:42 AM > Subject: Re: [GIT PULL 4/5] Freescale arm64 device tree updates for 4.9 > To: Shawn Guo <shawnguo@kernel.org> > Cc: Shawn Guo <shawnguo@kernel.org>, arm at kernel.org, > kernel at pengutronix.de, linux-arm-kernel at lists.infradead.org > > > On Friday, September 16, 2016 9:47:03 AM CEST Shawn Guo wrote: > > On Wed, Sep 14, 2016 at 05:30:49PM +0200, Arnd Bergmann wrote: > > > On Monday, September 12, 2016 5:02:27 PM CEST Shawn Guo wrote: > > > > i.MX arm64 device tree changes for 4.9: > > > > - Add property dma-coherent for ls2080a PCI device to save software > > > > cache maintenance. > > > > - Update serial aliases and use stdout-path to sepecify console for > > > > ls2080a and ls1043a boards. > > > > - Add DDR memory controller device node for ls2080a and ls1043a SoCs. > > > > > > > > > > Pulled into next/dt64, thanks! > > > > > > The "dma-coherent" change sounds like a bugfix, should that be backported > > > to stable kernels? Usually if you lack that property on a device that > > > is actually coherent, you can get silent data corruption by treating it as > > > non-coherent. > > > > My impression is that those cache maintenance enforced for non-coherent > > device will hurt performance on coherent device. I don't know it will > > cause data corruption. > > The problem is that the device in this case is accessing data from > the cache, while the CPU bypasses the cache for coherent mappings. > The cache might have a stale cache line as the device reads data, or > it could be in a writeback configuration, where the data written > from the device to the cache has not made it into RAM at the time it > is accessed by the CPU. > > For streaming mappings, the CPU will invalidate cache lines > before reading the data, so again if the device has written data > into the cache but not yet into memory, we will see stale data > after dma_unmap_single(). I'm not following the potential data corruption issue. In this case at least, DMA cohrerent devices are not directly reading or writing any L1/L2 cache. If the device is writing a physical address, the write goes to memory, and snoops invalidate any corresponding cache lines in L1/L2 caches. If the device is reading a physical address, snoop transactions ensure that dirty L1/L2 cache lines are written to memory and the device gets the right data. The device is already sending the needed snoop transactions. The problem is that because of the missing dma-coherent property the kernel doesn't know it and unnecessarily does invalidates/flushes. Thanks, Stuart ^ permalink raw reply [flat|nested] 13+ messages in thread
* [GIT PULL 5/5] i.MX defconfig updates for 4.9 2016-09-12 9:02 [GIT PULL 1/5] i.MX cleanup for 4.9 Shawn Guo ` (2 preceding siblings ...) 2016-09-12 9:02 ` [GIT PULL 4/5] Freescale arm64 " Shawn Guo @ 2016-09-12 9:02 ` Shawn Guo 2016-09-14 22:00 ` Arnd Bergmann 2016-09-19 14:48 ` [GIT PULL 1/5] i.MX cleanup " Arnd Bergmann 4 siblings, 1 reply; 13+ messages in thread From: Shawn Guo @ 2016-09-12 9:02 UTC (permalink / raw) To: linux-arm-kernel The following changes since commit 29b4817d4018df78086157ea3a55c1d9424a7cfc: Linux 4.8-rc1 (2016-08-07 18:18:00 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git tags/imx-defconfig-4.9 for you to fetch changes up to b2ab6f6cc3b1da42acf30e03ce2a4dad3f627272: ARM: imx_v6_v7_defconfig: Select the wm8960 codec driver (2016-08-29 22:17:26 +0800) ---------------------------------------------------------------- i.MX defconfig updates for 4.9: - Enable i.MX6 SATA and cpufreq driver support in multi_v7_defconfig. - Enable MPL3115, Etnaviv GPU, WM8960 Codec driver and more USB functions support in imx_v6_v7_defconfig. ---------------------------------------------------------------- Breno Lima (1): ARM: imx_v6_v7_defconfig: Add CONFIG_MPL3115 Fabio Estevam (2): ARM: imx_v6_v7_defconfig: Enable GPU support ARM: imx_v6_v7_defconfig: Select the wm8960 codec driver Peter Chen (1): ARM: imx_v6_v7_defconfig: enable more USB configurations Tuomas Tynkkynen (2): ARM: multi_v7_defconfig: Enable AHCI_IMX ARM: multi_v7_defconfig: Enable ARM_IMX6Q_CPUFREQ arch/arm/configs/imx_v6_v7_defconfig | 17 +++++++++++------ arch/arm/configs/multi_v7_defconfig | 3 +++ 2 files changed, 14 insertions(+), 6 deletions(-) ^ permalink raw reply [flat|nested] 13+ messages in thread
* [GIT PULL 5/5] i.MX defconfig updates for 4.9 2016-09-12 9:02 ` [GIT PULL 5/5] i.MX defconfig " Shawn Guo @ 2016-09-14 22:00 ` Arnd Bergmann 0 siblings, 0 replies; 13+ messages in thread From: Arnd Bergmann @ 2016-09-14 22:00 UTC (permalink / raw) To: linux-arm-kernel On Monday, September 12, 2016 5:02:28 PM CEST Shawn Guo wrote: > The following changes since commit 29b4817d4018df78086157ea3a55c1d9424a7cfc: > > Linux 4.8-rc1 (2016-08-07 18:18:00 -0700) > > are available in the git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git tags/imx-defconfig-4.9 > > for you to fetch changes up to b2ab6f6cc3b1da42acf30e03ce2a4dad3f627272: > > ARM: imx_v6_v7_defconfig: Select the wm8960 codec driver (2016-08-29 22:17:26 +0800) > > ---------------------------------------------------------------- > i.MX defconfig updates for 4.9: > - Enable i.MX6 SATA and cpufreq driver support in multi_v7_defconfig. > - Enable MPL3115, Etnaviv GPU, WM8960 Codec driver and more USB > functions support in imx_v6_v7_defconfig. Pulled into next/defconfig, thanks! Arnd ^ permalink raw reply [flat|nested] 13+ messages in thread
* [GIT PULL 1/5] i.MX cleanup for 4.9 2016-09-12 9:02 [GIT PULL 1/5] i.MX cleanup for 4.9 Shawn Guo ` (3 preceding siblings ...) 2016-09-12 9:02 ` [GIT PULL 5/5] i.MX defconfig " Shawn Guo @ 2016-09-19 14:48 ` Arnd Bergmann 4 siblings, 0 replies; 13+ messages in thread From: Arnd Bergmann @ 2016-09-19 14:48 UTC (permalink / raw) To: linux-arm-kernel On Monday, September 12, 2016 5:02:24 PM CEST Shawn Guo wrote: > i.MX cleanup for 4.9: > - Drop i.MX1 board files and make i.MX1 a DT only platform. > - Remove obsolete ENET initialization code for TX28 board, since FEC > driver handles those setup well now. > - A couple of cleanups on i.MX31 IOMUX headers to drop duplications > - A few other random and trivial cleanups > Pulled into next/cleanup, thanks! Arnd ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2016-09-21 21:57 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-09-12 9:02 [GIT PULL 1/5] i.MX cleanup for 4.9 Shawn Guo 2016-09-12 9:02 ` [GIT PULL 2/5] i.MX soc updates " Shawn Guo 2016-09-19 14:55 ` Arnd Bergmann 2016-09-12 9:02 ` [GIT PULL 3/5] i.MX device tree " Shawn Guo 2016-09-13 15:43 ` Arnd Bergmann 2016-09-12 9:02 ` [GIT PULL 4/5] Freescale arm64 " Shawn Guo 2016-09-14 15:30 ` Arnd Bergmann 2016-09-16 1:47 ` Shawn Guo 2016-09-16 13:42 ` Arnd Bergmann [not found] ` <CALRxmdDLRPLr3yD_wGW+3=thr8eZwX4DVGzMad0Gh7n-ERi+og@mail.gmail.com> 2016-09-21 21:57 ` Stuart Yoder 2016-09-12 9:02 ` [GIT PULL 5/5] i.MX defconfig " Shawn Guo 2016-09-14 22:00 ` Arnd Bergmann 2016-09-19 14:48 ` [GIT PULL 1/5] i.MX cleanup " Arnd Bergmann
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).