[PATCH v4 2/5] iommu/mediatek: move the common struct into header file

2016-06-08 Thread honghui.zhang
From: Honghui Zhang Move the struct defines of mtk iommu into a new header files for common use. Signed-off-by: Honghui Zhang --- drivers/iommu/mtk_iommu.c | 48 + drivers/iommu/mtk_iommu.h | 77

[PATCH v4 0/5] MT2701 iommu support

2016-06-08 Thread honghui.zhang
From: Honghui Zhang Mediatek's m4u(Multimedia Memory Management Unit) and SMI(Smart Multimedia Interface)have two generations HW. They basically sharing the same hardware block diagram, but have some difference as below: Generation one m4u only supports one

[PATCH v4 5/5] ARM: dts: mt2701: add iommu/smi dtsi node for mt2701

2016-06-08 Thread honghui.zhang
From: Honghui Zhang Add the dtsi node of iommu and smi for mt2701. Signed-off-by: Honghui Zhang --- arch/arm/boot/dts/mt2701.dtsi | 51 +++ 1 file changed, 51 insertions(+) diff --git

[PATCH v4 1/5] dt-bindings: mediatek: add descriptions for mediatek mt2701 iommu and smi

2016-06-08 Thread honghui.zhang
From: Honghui Zhang This patch defines the local arbitor port IDs for mediatek SoC MT2701 and add descriptions of binding for mediatek generation one iommu and smi. Signed-off-by: Honghui Zhang Acked-by: Rob Herring ---

[PATCH v4 4/5] iommu/mediatek: add support for mtk iommu generation one HW

2016-06-08 Thread honghui.zhang
From: Honghui Zhang Mediatek SoC's M4U has two generations of HW architcture. Generation one uses flat, one layer pagetable, and was shipped with ARM architecture, it only supports 4K size page mapping. MT2701 SoC uses this generation one m4u HW. Generation two uses

[PATCH v4 3/5] memory/mediatek: add support for mt2701

2016-06-08 Thread honghui.zhang
From: Honghui Zhang Mediatek SMI has two generations of HW architecture, mt8173 uses the second generation of SMI HW while mt2701 uses the first generation HW of SMI. There's slight differences between the two generations, for generation 2, the register which control

[PATCH] iommu/mediatek: Do not call of_node_put in mtk_iommu_of_xlate

2016-06-08 Thread honghui.zhang
From: Honghui Zhang The device_node will be released in of_iommu_configure, it may be double released if call of_node_put in mtk_iommu_of_xlate. Signed-off-by: Honghui Zhang --- drivers/iommu/mtk_iommu.c | 1 - 1 file changed, 1

[PATCH v3 4/5] iommu/mediatek: add support for mtk iommu generation one HW

2016-05-27 Thread honghui.zhang
From: Honghui Zhang Mediatek SoC's M4U has two generations of HW architcture. Generation one uses flat, one layer pagetable, and was shipped with ARM architecture, it only supports 4K size page mapping. MT2701 SoC uses this generation one m4u HW. Generation two uses

[PATCH v3 0/5] MT2701 iommu support

2016-05-27 Thread honghui.zhang
From: Honghui Zhang Mediatek's m4u(Multimedia Memory Management Unit) and SMI(Smart Multimedia Interface)have two generations HW. They basically sharing the same hardware block diagram, but have some difference as below: Generation one m4u only supports one

[PATCH v3 1/5] dt-bindings: mediatek: add descriptions for mediatek mt2701 iommu and smi

2016-05-27 Thread honghui.zhang
From: Honghui Zhang This patch defines the local arbitor port IDs for mediatek SoC MT2701 and add descriptions of binding for mediatek generation one iommu and smi. Signed-off-by: Honghui Zhang Acked-by: Rob Herring ---

[PATCH v3 2/5] iommu/mediatek: move the common struct into header file

2016-05-27 Thread honghui.zhang
From: Honghui Zhang Move the struct defines of mtk iommu into a new header files for common use. Signed-off-by: Honghui Zhang --- drivers/iommu/mtk_iommu.c | 48 + drivers/iommu/mtk_iommu.h | 77

[PATCH v3 5/5] ARM: dts: mt2701: add iommu/smi dtsi node for mt2701

2016-05-27 Thread honghui.zhang
From: Honghui Zhang Add the dtsi node of iommu and smi for mt2701. Signed-off-by: Honghui Zhang --- arch/arm/boot/dts/mt2701.dtsi | 51 +++ 1 file changed, 51 insertions(+) diff --git

[PATCH v3 3/5] memory/mediatek: add support for mt2701

2016-05-27 Thread honghui.zhang
From: Honghui Zhang Mediatek SMI has two generations of HW architecture, mt8173 uses the second generation of SMI HW while mt2701 uses the first generation HW of SMI. There's slight differences between the two generations, for generation 2, the register which control

[PATCH v2 1/5] dt-bindings: mediatek: add descriptions for mediatek mt2701 iommu and smi

2016-05-19 Thread honghui.zhang
From: Honghui Zhang This patch defines the local arbitor port IDs for mediatek SoC MT2701 and add descriptions of binding for mediatek generation one iommu and smi. Signed-off-by: Honghui Zhang ---

[PATCH v2 4/5] iommu/mediatek: add support for mtk iommu generation one HW

2016-05-19 Thread honghui.zhang
From: Honghui Zhang Mediatek SoC's M4U has two generations of HW architcture. Generation one uses flat, one layer pagetable, and was shipped with ARM architecture, it only supports 4K size page mapping. MT2701 SoC uses this generation one m4u HW. Generation two uses

[PATCH v2 2/5] iommu/mediatek: move the common struct into header file

2016-05-19 Thread honghui.zhang
From: Honghui Zhang Move the struct defines of mtk iommu into a new header files for common use. Signed-off-by: Honghui Zhang --- drivers/iommu/mtk_iommu.c | 62 +--- drivers/iommu/mtk_iommu.h | 90

[PATCH 5/5] ARM: dts: mt2701: add iommu/smi dtsi node for mt2701

2016-05-19 Thread honghui.zhang
From: Honghui Zhang Add the dtsi node of iommu and smi for mt2701. Signed-off-by: Honghui Zhang --- arch/arm/boot/dts/mt2701.dtsi | 51 +++ 1 file changed, 51 insertions(+) diff --git

[PATCH v2 3/5] memory/mediatek: add support for mt2701

2016-05-19 Thread honghui.zhang
From: Honghui Zhang Mediatek SMI has two generations of HW architecture, mt8173 uses the second generation of SMI HW while mt2701 uses the first generation HW of SMI. There's slight differences between the two generations, for generation 2, the register which control

[PATCH v2 0/5] MT2701 iommu support

2016-05-19 Thread honghui.zhang
From: Honghui Zhang Mediatek's m4u(Multimedia Memory Management Unit) and SMI(Smart Multimedia Interface)have two generations HW. They basically sharing the same hardware block diagram, but have some difference as below: Generation one m4u only supports one

[PATCH 5/5] ARM: dts: mt2701: add iommu/smi dtsi node for mt2701

2016-05-09 Thread honghui.zhang
From: Honghui Zhang Add the dtsi node of iommu and smi for mt2701. Signed-off-by: Honghui Zhang --- arch/arm/boot/dts/mt2701.dtsi | 51 +++ 1 file changed, 51 insertions(+) diff --git

[PATCH 0/5] MT2701 iommu support

2016-05-09 Thread honghui.zhang
From: Honghui Zhang Mediatek's m4u(Multimedia Memory Management Unit) and SMI(Smart Multimedia Interface)have two generations HW. They basically sharing the same hardware block diagram, but have some difference as below: Generation one m4u only support one layer,

[PATCH 4/5] iommu/mediatek: add support for mtk iommu generation one HW

2016-05-09 Thread honghui.zhang
From: Honghui Zhang Mediatek SoC's M4U have two generations of HW architcture. Generation one use flat, one layer pagetable, and was shipped with ARM architecture, it only support 4K size page mapping. MT2701 SoC use this generation one m4u HW. Generation two uses the

[PATCH 1/5] dt-bindings: mediatek: add descriptions for mediatek mt2701 iommu and smi

2016-05-09 Thread honghui.zhang
From: Honghui Zhang This patch defines the local arbitor port IDs for mediatek SoC MT2701 and add descriptions of binding for mediatek generation one iommu and smi. Signed-off-by: Honghui Zhang ---

[PATCH 3/5] memory/mediatek: add support for mt2701

2016-05-09 Thread honghui.zhang
From: Honghui Zhang Mediatek SMI have two generation HW architecture, mt8173 use the secondary generation of SMI HW while mt2701 use the first generation HW of SMI. There's slight differences between the two generation, for generation 2, the register which control

[PATCH 2/5] iommu/mediatek: move the common struct into header file

2016-05-09 Thread honghui.zhang
From: Honghui Zhang Move the struct defines of mtk iommu into a new header files for common use. Signed-off-by: Honghui Zhang --- drivers/iommu/mtk_iommu.c | 62 +--- drivers/iommu/mtk_iommu.h | 90

[PATCH] dt-binding: correct the larb port offset defines for mt2701

2016-08-11 Thread honghui.zhang
From: Honghui Zhang larb2 have 23 ports, the LARB3_PORT_OFFSET should be LARB2_PORT_OFFSET plus larb2's port number, it should be 44 instead of 43. Signed-off-by: Honghui Zhang --- include/dt-bindings/memory/mt2701-larb-port.h | 2 +- 1

[RFC PATCH] iommu: create direct_mapping after device attached

2016-07-20 Thread honghui.zhang
From: Honghui Zhang For mtk iommu, the domain_finalize was called in device attatch, the mtk iommu iopgt ops was allocated and initialized in domain_finalize, the iommu_group_create_direct_mappings would call the map interface to implement the map. If it's earlier

[PATCH v2 0/3] Add larbid init routine for mediatek's gen1 smi larb driver

2017-07-28 Thread honghui.zhang
From: Honghui Zhang Mediatek's gen1 smi need the hardware larbid to identify the offset for the register which controls whether enable iommu for this larb. In the commit 3c8f4ad85c4b ("memory/mediatek: add support for mt2701"), the larbid was used without properly

[PATCH v2 2/3] dt-bindings: mediatek: add descriptions for larbid

2017-07-28 Thread honghui.zhang
From: Honghui Zhang This patch add larbid descritptions for mediatek's gen1 smi larb hardware. Signed-off-by: Honghui Zhang --- .../bindings/memory-controllers/mediatek,smi-larb.txt | 15 +++ 1 file changed, 15

[PATCH v2 1/3] memory: mtk-smi: add larbid handle routine

2017-07-28 Thread honghui.zhang
From: Honghui Zhang In the commit 3c8f4ad85c4b ("memory/mediatek: add support for mt2701"), the larb->larbid was added but not initialized. Mediatek's gen1 smi need this hardware larbid information to get the register offset which controls whether enable iommu for

[PATCH v2 3/3] arm: dts: mediatek: add larbid property for larb

2017-07-28 Thread honghui.zhang
From: Honghui Zhang Add mediatek's hardware id information for smi larb. Signed-off-by: Honghui Zhang --- arch/arm/boot/dts/mt2701.dtsi | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm/boot/dts/mt2701.dtsi

[PATCH v3 0/4] Add larbid init routine for mediatek's gen1 smi larb driver

2017-08-03 Thread honghui.zhang
From: Honghui Zhang Mediatek's gen1 smi need the hardware larb-id to identify the offset for the register which controls whether enable iommu for this larb. In the commit 3c8f4ad85c4b ("memory/mediatek: add support for mt2701"), the larbid was used without properly

[PATCH v3 2/4] memory: mtk-smi: add larbid handle routine

2017-08-03 Thread honghui.zhang
From: Honghui Zhang In the commit 3c8f4ad85c4b ("memory/mediatek: add support for mt2701"), the larb->larbid was added but not initialized. Mediatek's gen1 smi need this hardware larbid information to get the register offset which controls whether enable iommu for

[PATCH v3 1/4] memory: mtk-smi: Use of_device_get_match_data helper

2017-08-03 Thread honghui.zhang
From: Honghui Zhang Replace custom code with generic helper to retrieve driver data. Signed-off-by: Honghui Zhang --- drivers/memory/mtk-smi.c | 14 ++ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git

[PATCH v3 4/4] arm: dts: mediatek: add larbid property for larb

2017-08-03 Thread honghui.zhang
From: Honghui Zhang Add mediatek's hardware id information for smi larb. Signed-off-by: Honghui Zhang --- arch/arm/boot/dts/mt2701.dtsi | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm/boot/dts/mt2701.dtsi

[PATCH v3 3/4] dt-bindings: mediatek: add descriptions for larbid

2017-08-03 Thread honghui.zhang
From: Honghui Zhang This patch add larbid descritptions for mediatek's gen1 smi larb hardware. Acked-by: Rob Herring Signed-off-by: Honghui Zhang --- .../bindings/memory-controllers/mediatek,smi-larb.txt | 15

[PATCH v4 4/7] PCI: mediatek: switch to use platform_get_resource_byname()

2017-08-10 Thread honghui.zhang
From: Ryder Lee This is a transitional patch. We currently use platfarm_get_resource() for retrieving the IOMEM resources, but there might be some chips don't have subsys/shared registers part, which depends on platform design, and these will be introduced in further

[PATCH v4 1/7] PCI: mediatek: Using readl_poll_timeout to wait Gen2 training

2017-08-10 Thread honghui.zhang
From: Ryder Lee Wait Gen2 training by using readl_poll_timeout() calls, and simplify the hardware assert logical by merge it into the new interface mtk_pcie_startup_port. Signed-off-by: Ryder Lee Signed-off-by: Honghui Zhang

[PATCH v4 6/7] PCI: mediatek: Add controller support for mt2712 and mt7622

2017-08-10 Thread honghui.zhang
From: Ryder Lee MT2712 and MT7622 using a new IP block of Gen2 controller which has two root ports and shares the same probing flow with MT2701/MT7623. Both MT2712 and MT7622 have the same per-port control registers, but there are slight differences between them: MT7622

[PATCH v4 7/7] dt-bindings: PCI: add support for mt2712 and mt7622

2017-08-10 Thread honghui.zhang
From: Ryder Lee Add controller support for mt2712/mt7622 and update related properities. Signed-off-by: Ryder Lee Signed-off-by: Honghui Zhang Acked-by: Rob Herring ---

[PATCH v4 3/7] PCI: mediatek: Add a structure to abstract the controller generations

2017-08-10 Thread honghui.zhang
From: Honghui Zhang Introduce a structure "mtk_pcie_soc" to abstract the differences between controller generations, and the .startup() hook is used to encapsulate some SoC-dependent related setting. In doing so, the common code which will be reused by future chips.

[PATCH v4 5/7] dt-bindings: PCI: rename and cleanup MediaTek binding text

2017-08-10 Thread honghui.zhang
From: Ryder Lee In order to accommodate other SoC generations, this patch updates filename to make it more generic, regroups specific properties by SoCs, and removes redundant descriptions. Signed-off-by: Ryder Lee Signed-off-by: Honghui Zhang

[PATCH v4 2/7] PCI: mediatek: make the parameter and function names more accurate

2017-08-10 Thread honghui.zhang
From: Honghui Zhang Rename "port->index" to "port->slot" since the ports are hardwired at PCI_SLOT. Also rename "mtk_pcie_parse_ports" to "mtk_pcie_parse_port" since it parses one port each time. No functional change in this patch. Signed-off-by: Honghui Zhang

[PATCH v4 0/7] PCI: MediaTek: Add host controller support for mt2712 and mt7622

2017-08-10 Thread honghui.zhang
From: Honghui Zhang MediaTek's PCIe host controller has two generation HWs, MT2712 and MT7622 using the new generation HW, which has two root ports. They share most probing flow with MT2701/MT7623. But the read/write config space logical is different. The per-port

[PATCH] PCI: mediatek: add msi support for mt2712 and mt7622

2017-08-11 Thread honghui.zhang
From: Honghui Zhang MT2712 and MT7622's PCIe host controller support 32bit address MSI, and it connect to GIC with the same IRQ number of INTx IRQ, so it shares the same IRQ with INTx IRQ. This patch adds MSI support for MT2712 and MT7622. Signed-off-by: Honghui

[PATCH v2 3/3] PCI: mediatek: add msi support for MT2712 and MT7622

2017-08-14 Thread honghui.zhang
From: Honghui Zhang MT2712 and MT7622's PCIe host controller support MSI, but only 32bit MSI address are supportted. It connect to GIC with the same IRQ number of INTx IRQ, so it shares the same IRQ with INTx IRQ. This patch add MSI support for MT2712 and MT7622.

[PATCH v2 0/3] PCI: mediatek: Add MSI support for MT2712 and MT7622

2017-08-14 Thread honghui.zhang
From: Honghui Zhang MT2712 and MT7622's PCIe host controller support MSI, but only 32bit MSI address are supportted. It connect to GIC with the same IRQ number of INTx IRQ, so it shares the same IRQ with INTx IRQ. This patchset add MSI support for MT2712 and MT7622.

[PATCH v2 1/3] PCI: mediatek: Fix return value in case of error

2017-08-14 Thread honghui.zhang
From: Honghui Zhang In commit ae02a6dda285 ("PCI: mediatek: Add controller support for MT2712 and MT7622"), the function 'mtk_pcie_init_irq_domain', the pattern used to check and return error is: if (!var) { dev_err(...); return PTR_ERR(var); } The

[PATCH v2 2/3] PCI: mediatek: take use of bus->sysdata to get host private data

2017-08-14 Thread honghui.zhang
From: Honghui Zhang Commit ae02a6dda285 ("PCI: mediatek: Add controller support for MT2712 and MT7622") has put the mtk_pcie * into bus->sysdata, take advantage of that to get the private data and simplify the code. Signed-off-by: Honghui Zhang

[PATCH 0/5] PCI: MediaTek: Add support for new generation host controller

2017-07-20 Thread honghui.zhang
From: Honghui Zhang MediaTek's PCIe host controller has two generation HWs, the new generation HW has two root ports, it shares most probing flow with the legacy controller. But the read/write config space logical is different from the lagacy controller. This patchset

[PATCH 3/5] dt-bindings: PCI: rename and cleanup MediaTek binding text

2017-07-20 Thread honghui.zhang
From: Ryder Lee In order to accommodate other SoC generations, this patch updates filename to make it more generic, regroups specific properties by SoCs, and removes redundant descriptions. Signed-off-by: Ryder Lee ---

[PATCH 1/5] PCI: mediatek: Add a structure to abstract the controller generations

2017-07-20 Thread honghui.zhang
From: Ryder Lee Introduce a structure "mtk_pcie_soc" to abstract the differences between controller generations, and the .startup() hook is used to encapsulate some SoC-dependent related setting. In doing so, the common code which will be reused by future chips. In

[PATCH 4/5] PCI: mediatek: Add new generation controller support

2017-07-20 Thread honghui.zhang
From: Ryder Lee Add support for new Gen2 controller which has two root ports and shares the probing flow with legacy controller. Currently this IP block can be found on MT7622/MT2712. More specifically, the newer (future) chips will be developed based on this generation,

[PATCH 2/5] PCI: mediatek: switch to use platform_get_resource_byname()

2017-07-20 Thread honghui.zhang
From: Ryder Lee This is a transitional patch. We currently use platfarm_get_resource() for retrieving the IOMEM resources, but there might be some chips don't have subsys/shared registers part, which depends on platform design, and these will be introduced in further

[PATCH 5/5] dt-bindings: PCI: add support for new generation controller

2017-07-20 Thread honghui.zhang
From: Ryder Lee Add support for MediaTek new generation controller and update related properities. Signed-off-by: Ryder Lee Signed-off-by: Honghui Zhang --- .../devicetree/bindings/pci/mediatek-pcie.txt | 84

[PATCH v2] memory: mtk-smi: Use of_device_get_match_data helper

2017-07-26 Thread honghui.zhang
From: Honghui Zhang Replace custom code with generic helper to retrieve driver data. Signed-off-by: Honghui Zhang --- drivers/memory/mtk-smi.c | 14 ++ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git

[PATCH] memory: mtk-smi: Use of_device_get_match_data helper

2017-07-26 Thread honghui.zhang
From: Honghui Zhang Replace custom code with generic helper to retrieve driver data. Signed-off-by: Honghui Zhang --- drivers/memory/mtk-smi.c | 14 ++ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git

[PATCH] memory: mtk-smi: Use of_device_get_match_data helper

2017-07-26 Thread honghui.zhang
From: Honghui Zhang Replace custom code with generic helper to retrieve driver data. Signed-off-by: Honghui Zhang --- drivers/memory/mtk-smi.c | 18 -- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git

[PATCH v2 1/5] PCI: mediatek: Add a structure to abstract the controller generations

2017-07-26 Thread honghui.zhang
From: Ryder Lee Introduce a structure "mtk_pcie_soc" to abstract the differences between controller generations, and the .startup() hook is used to encapsulate some SoC-dependent related setting. In doing so, the common code which will be reused by future chips. In

[PATCH v2 4/5] PCI: mediatek: Add new generation controller support

2017-07-26 Thread honghui.zhang
From: Ryder Lee Add support for new Gen2 controller which has two root ports and shares the probing flow with legacy controller. Currently this IP block can be found on MT7622/MT2712. Signed-off-by: Ryder Lee Signed-off-by: Honghui Zhang

[PATCH v2 3/5] dt-bindings: PCI: rename and cleanup MediaTek binding text

2017-07-26 Thread honghui.zhang
From: Ryder Lee In order to accommodate other SoC generations, this patch updates filename to make it more generic, regroups specific properties by SoCs, and removes redundant descriptions. Signed-off-by: Ryder Lee ---

[PATCH v2 5/5] dt-bindings: PCI: add support for new generation controller

2017-07-26 Thread honghui.zhang
From: Ryder Lee Add support for MediaTek new generation controller and update related properities. Signed-off-by: Ryder Lee Signed-off-by: Honghui Zhang --- .../devicetree/bindings/pci/mediatek-pcie.txt | 168

[PATCH v2 2/5] PCI: mediatek: switch to use platform_get_resource_byname()

2017-07-26 Thread honghui.zhang
From: Ryder Lee This is a transitional patch. We currently use platfarm_get_resource() for retrieving the IOMEM resources, but there might be some chips don't have subsys/shared registers part, which depends on platform design, and these will be introduced in further

[PATCH v2 5/5] dt-bindings: PCI: add support for new generation controller

2017-07-26 Thread honghui.zhang
From: Ryder Lee Add support for MediaTek new generation controller and update related properities. Signed-off-by: Ryder Lee Signed-off-by: Honghui Zhang --- .../devicetree/bindings/pci/mediatek-pcie.txt | 168

[PATCH 3/3] arm: dts: mediatek: add larbid property for larb

2017-07-26 Thread honghui.zhang
From: Honghui Zhang Add mediatek's hardware id information for smi larb. Signed-off-by: Honghui Zhang --- arch/arm/boot/dts/mt2701.dtsi | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm/boot/dts/mt2701.dtsi

[PATCH 1/3] memory: mtk-smi: add larbid init routine

2017-07-26 Thread honghui.zhang
From: Honghui Zhang In the commit 3c8f4ad85c4b ("memory/mediatek: add support for mt2701"), the larb->larbid was added but not initialized. Mediatek's gen1 smi need this hardware larbid information to get the register offset which controls whether enable iommu for

[PATCH 2/3] dt-bindings: mediatek: add descriptions for larbid

2017-07-26 Thread honghui.zhang
From: Honghui Zhang This patch add larbid descritptions for mediatek's gen1 smi larb hardware. Signed-off-by: Honghui Zhang --- .../bindings/memory-controllers/mediatek,smi-larb.txt | 15 +++ 1 file changed, 15

[PATCH 0/3] Add larbid init routine for mediatek's gen1 smi larb driver

2017-07-26 Thread honghui.zhang
From: Honghui Zhang Mediatek's gen1 smi need the hardware larbid to identify the offset for the register which controls whether enable iommu for this larb. In the commit 3c8f4ad85c4b ("memory/mediatek: add support for mt2701"), the larbid was used without properly

[PATCH v2 0/5] PCI: MediaTek: Add support for new generation host controller

2017-07-26 Thread honghui.zhang
From: Honghui Zhang MediaTek's PCIe host controller has two generation HWs, the new generation HW has two root ports, it shares most probing flow with the legacy controller. But the read/write config space logical is different from the lagacy controller. This patchset

[PATCH v3 5/6] PCI: mediatek: Add new generation controller support

2017-08-04 Thread honghui.zhang
From: Ryder Lee MediaTek's PCIe host controller has two generation HWs, the new generation HW has two root ports, it shares most probing flow with the legacy controller. But the read/write config space logical is different from the legacy controller. The per-port register

[PATCH v3 6/6] dt-bindings: PCI: add support for new generation controller

2017-08-04 Thread honghui.zhang
From: Ryder Lee Add support for MediaTek new generation controller and update related properities. Signed-off-by: Ryder Lee Signed-off-by: Honghui Zhang Acked-by: Rob Herring ---

[PATCH v3 2/6] PCI: mediatek: Add a structure to abstract the controller generations

2017-08-04 Thread honghui.zhang
From: Honghui Zhang Introduce a structure "mtk_pcie_soc" to abstract the differences between controller generations, and the .startup() hook is used to encapsulate some SoC-dependent related setting. In doing so, the common code which will be reused by future chips.

[PATCH v3 1/6] PCI: mediatek: Using readl_poll_timeout to wait Gen2 training

2017-08-04 Thread honghui.zhang
From: Ryder Lee Wait Gen2 training by using readl_poll_timeout() calls, and simplify the hardware assert logical by merge it into the new interface mtk_pcie_startup_ports. Signed-off-by: Ryder Lee Signed-off-by: Honghui Zhang

[PATCH v3 4/6] dt-bindings: PCI: rename and cleanup MediaTek binding text

2017-08-04 Thread honghui.zhang
From: Ryder Lee In order to accommodate other SoC generations, this patch updates filename to make it more generic, regroups specific properties by SoCs, and removes redundant descriptions. Signed-off-by: Ryder Lee Signed-off-by: Honghui Zhang

[PATCH v3 0/6] PCI: MediaTek: Add support for new generation host controller

2017-08-04 Thread honghui.zhang
From: Honghui Zhang MediaTek's PCIe host controller has two generation HWs, the new generation HW has two root ports, it shares most probing flow with the legacy controller. But the read/write config space logical is different from the legacy controller. The per-port

[PATCH v3 3/6] PCI: mediatek: switch to use platform_get_resource_byname()

2017-08-04 Thread honghui.zhang
From: Ryder Lee This is a transitional patch. We currently use platfarm_get_resource() for retrieving the IOMEM resources, but there might be some chips don't have subsys/shared registers part, which depends on platform design, and these will be introduced in further

[PATCH] PCI: mediatek: take use of PCI_NUM_INTX

2017-08-29 Thread honghui.zhang
From: Honghui Zhang Switch from using a custom NUM_INTX macro to the generic PCI_NUM_INTX definition for the number of INTx interrupts. Signed-off-by: Honghui Zhang --- drivers/pci/host/pcie-mediatek.c | 5 ++--- 1 file changed, 2

[PATCH] PCI: Mediatek: clear irq status after irq dispathed to avoid reentry

2017-12-19 Thread honghui.zhang
From: Honghui Zhang There maybe a same irq reentry scenario after irq received in current irq handle flow: EP device PCIe host driverEP driver 1. issue an irq 2. received irq 3. clear irq

[PATCH v3 0/2] PCI: mediatek: Fixups for the IRQ handle routine and MT7622's class code

2017-12-21 Thread honghui.zhang
From: Honghui Zhang Two fixups for mediatek's host bridge: The first patch fixup the IRQ handle routine to avoid IRQ reentry which may exist for both MT2712 and MT7622. The second patch fixup class type for MT7622. Change since v2: - Move the initialize of the

[PATCH v2] PCI: mediatek: Add system pm support for MT2712

2018-05-31 Thread honghui.zhang
From: Honghui Zhang The MTCMOS of PCIe Host for MT2712 will be off when system suspend, and all the internal control register will be reset after system resume. The PCIe link should be re-established and the related control register values should be re-set after system resume. Signed-off-by:

[PATCH] PCI: mediatek: Add system pm support for MT2712

2018-05-29 Thread honghui.zhang
From: Honghui Zhang The MTCMOS of PCIe Host for MT2712 will be off when system suspend, and all the internel control register will be reset after system resume. The PCIe link should be re-established and the related control register values should be re-set after system resume. Signed-off-by:

[PATCH v3] PCI: mediatek: Add system pm support for MT2712

2018-05-31 Thread honghui.zhang
From: Honghui Zhang The MTCMOS of PCIe Host for MT2712 will be off when system suspend, and all the internal control register will be reset after system resume. The PCIe link should be re-established and the related control register values should be re-set after system resume. Signed-off-by:

[PATCH v3 1/4] PCI: mediatek: fixup mtk_pcie_find_port logical

2018-07-02 Thread honghui.zhang
From: Honghui Zhang The Mediatek's host controller has two slots, each with it's own control registers. The host driver need to identify which slot was connected in order to access the device's configuration space. There's problem for current host driver to find out which slot was connected to

[PATCH v3 3/4] PCI: mediatek: Add system pm support for MT2712 and MT7622

2018-07-02 Thread honghui.zhang
From: Honghui Zhang The MTCMOS of PCIe Host for MT2712 and MT7622 will be off when system suspend, and all the internal control register will be reset after system resume. The PCIe link should be re-established and the related control register values should be re-set after system resume.

[PATCH v3 2/4] PCI: mediatek: enable msi after clock enabled

2018-07-02 Thread honghui.zhang
From: Honghui Zhang The clocks was not enabled when enable MSI. This patch fix this issue by calling mtk_pcie_enable_msi in mtk_pcie_startup_port_v2 since the clock was all enabled at that time. The function of mtk_pcie_startup_port_v2's define location is re-arranged to avoid

[PATCH v3 4/4] PCI: mediatek: Add loadable kernel module support

2018-07-02 Thread honghui.zhang
From: Honghui Zhang Implement remove callback function for Mediatek PCIe driver to add loadable kernel module support. Signed-off-by: Honghui Zhang Reviewed-by: Ryder Lee --- drivers/pci/controller/Kconfig | 2 +- drivers/pci/controller/pcie-mediatek.c | 60

[PATCH v3 0/4] PCI: mediatek: fixup find_port, enable_msi and add pm, module support

2018-07-02 Thread honghui.zhang
From: Honghui Zhang This patchset includes misc patchs: The first patch fixup the mtk_pcie_find_port logical which will cause system could not touch the EP's configuration space which was connected to PCIe slot 1. The second patch fixup the enable msi logical, the operation to enable msi

[PATCH v2 2/4] PCI: mediatek: enable msi after clock enabled

2018-07-01 Thread honghui.zhang
From: Honghui Zhang The clocks was not enabled when enable MSI. This patch fix this issue by calling mtk_pcie_enable_msi in mtk_pcie_startup_port_v2 since the clock was all enabled at that time. The function of mtk_pcie_startup_port_v2's define location is re-arranged to avoid

[PATCH v2 1/4] PCI: mediatek: fixup mtk_pcie_find_port logical

2018-07-01 Thread honghui.zhang
From: Honghui Zhang The Mediatek's host controller has two slots, each with it's own control registers. The host driver need to identify which slot was connected in order to access the device's configuration space. There's problem for current host driver to find out which slot was connected to

[PATCH v2 4/4] PCI: mediatek: Add loadable kernel module support

2018-07-01 Thread honghui.zhang
From: Honghui Zhang Implement remove callback function for Mediatek PCIe driver to add loadable kernel module support. Signed-off-by: Honghui Zhang --- drivers/pci/controller/Kconfig | 2 +- drivers/pci/controller/pcie-mediatek.c | 60 +++--- 2 files

[PATCH v2 0/4] PCI: mediatek: fixup find_port, enable_msi and add pm, module support

2018-07-01 Thread honghui.zhang
From: Honghui Zhang This patchset includes misc patchs: The first patch fixup the mtk_pcie_find_port logical which will cause system could not touch the EP's configuration space which was connected to PCIe slot 1. The second patch fixup the enable msi logical, the operation to enable msi

[PATCH v2 3/4] PCI: mediatek: Add system pm support for MT2712 and MT7622

2018-07-01 Thread honghui.zhang
From: Honghui Zhang The MTCMOS of PCIe Host for MT2712 and MT7622 will be off when system suspend, and all the internal control register will be reset after system resume. The PCIe link should be re-established and the related control register values should be re-set after system resume.

[PATCH v4] PCI: mediatek: Add system pm support for MT2712

2018-06-20 Thread honghui.zhang
From: Honghui Zhang The MTCMOS of PCIe Host for MT2712 will be off when system suspend, and all the internal control register will be reset after system resume. The PCIe link should be re-established and the related control register values should be re-set after system resume. Signed-off-by:

[PATCH 0/4] PCI: mediatek: fixup find_port, enable_msi and add pm, module support

2018-06-27 Thread honghui.zhang
From: Honghui Zhang This patchset includes misc patchs: The first patch fixup the mtk_pcie_find_port logical which will cause system could not touch the EP's configuration space which was connected to PCIe slot 1. The second patch fixup the enable msi logical, the operation to enable msi

[PATCH 2/4] PCI: mediatek: enable msi after clock enabled

2018-06-27 Thread honghui.zhang
From: Honghui Zhang The clocks was not enabled when enable MSI. This patch fix this issue by calling mtk_pcie_enable_msi in mtk_pcie_startup_port_v2 since the clock was all enabled at that time. The function of mtk_pcie_startup_port_v2's define location is re-arranged to avoid

[PATCH 3/4] PCI: mediatek: Add system pm support for MT2712 and MT7622

2018-06-27 Thread honghui.zhang
From: Honghui Zhang The MTCMOS of PCIe Host for MT2712 and MT7622 will be off when system suspend, and all the internal control register will be reset after system resume. The PCIe link should be re-established and the related control register values should be re-set after system resume.

[PATCH 4/4] PCI: mediatek: Add loadable kernel module support

2018-06-27 Thread honghui.zhang
From: Honghui Zhang Implement remove callback function for Mediatek PCIe driver to add loadable kernel module support. Signed-off-by: Honghui Zhang Reviewed-by: Ryder Lee --- drivers/pci/controller/Kconfig | 2 +- drivers/pci/controller/pcie-mediatek.c | 63

[PATCH 1/4] PCI: mediatek: fixup mtk_pcie_find_port logical

2018-06-27 Thread honghui.zhang
From: Honghui Zhang Mediatek's host controller have two slots, each have it's own control registers. The host driver need to identify which slot was connected in order to access the device's configuration space. There's problem for current host driver to find out which slot was connected to for

[PATCH v7 2/2] PCI: mediatek: Using chained IRQ to setup IRQ handle

2018-05-03 Thread honghui.zhang
From: Honghui Zhang Using irq_chip solution to setup IRQs in order to consist with IRQ framework. Signed-off-by: Honghui Zhang Acked-by: Ryder Lee --- drivers/pci/host/pcie-mediatek.c | 206

[PATCH v7 0/2] PCI: mediatek: Fixups for the IRQ handle routine and MT7622's class code

2018-05-03 Thread honghui.zhang
From: Honghui Zhang Two fixups for mediatek's host bridge: The first patch fixup class type and vendor ID for MT7622. The second patch fixup the IRQ handle routine by using irq_chip solution to avoid IRQ reentry which may exist for both MT2712 and MT7622. Change

  1   2   3   4   >