From: Benjamin Herrenschmidt Date: Thu, 5 Aug 2010 00:17:29 +0000 (+1000) Subject: Merge commit 'kumar/next' into next X-Git-Tag: v3.0~4138^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=42a0ae2282b512d1a8f6f020327f5f7b8f31a5ea;p=platform%2Fkernel%2Flinux-amlogic.git Merge commit 'kumar/next' into next --- 42a0ae2282b512d1a8f6f020327f5f7b8f31a5ea diff --cc arch/powerpc/platforms/85xx/mpc85xx_mds.c index 4945136,c8be7b5..da64be1 --- a/arch/powerpc/platforms/85xx/mpc85xx_mds.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_mds.c @@@ -322,10 -321,74 +321,74 @@@ static void __init mpc85xx_mds_qe_init( } } + } + + static void __init mpc85xx_mds_qeic_init(void) + { + struct device_node *np; + + np = of_find_compatible_node(NULL, NULL, "fsl,qe"); + if (!of_device_is_available(np)) { + of_node_put(np); + return; + } + + np = of_find_compatible_node(NULL, NULL, "fsl,qe-ic"); + if (!np) { + np = of_find_node_by_type(NULL, "qeic"); + if (!np) + return; + } + + if (machine_is(p1021_mds)) + qe_ic_init(np, 0, qe_ic_cascade_low_mpic, + qe_ic_cascade_high_mpic); + else + qe_ic_init(np, 0, qe_ic_cascade_muxed_mpic, NULL); + of_node_put(np); + } + #else + static void __init mpc85xx_publish_qe_devices(void) { } + static void __init mpc85xx_mds_qe_init(void) { } + static void __init mpc85xx_mds_qeic_init(void) { } #endif /* CONFIG_QUICC_ENGINE */ + static void __init mpc85xx_mds_setup_arch(void) + { + #ifdef CONFIG_PCI + struct pci_controller *hose; + #endif + dma_addr_t max = 0xffffffff; + + if (ppc_md.progress) + ppc_md.progress("mpc85xx_mds_setup_arch()", 0); + + #ifdef CONFIG_PCI + for_each_node_by_type(np, "pci") { + if (of_device_is_compatible(np, "fsl,mpc8540-pci") || + of_device_is_compatible(np, "fsl,mpc8548-pcie")) { + struct resource rsrc; + of_address_to_resource(np, 0, &rsrc); + if ((rsrc.start & 0xfffff) == 0x8000) + fsl_add_bridge(np, 1); + else + fsl_add_bridge(np, 0); + + hose = pci_find_hose_for_OF_device(np); + max = min(max, hose->dma_window_base_cur + + hose->dma_window_size); + } + } + #endif + + #ifdef CONFIG_SMP + mpc85xx_smp_init(); + #endif + + mpc85xx_mds_qe_init(); + #ifdef CONFIG_SWIOTLB - if (lmb_end_of_DRAM() > max) { + if (memblock_end_of_DRAM() > max) { ppc_swiotlb_enable = 1; set_pci_dma_ops(&swiotlb_dma_ops); ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb;