linux_dsm_epyc7002/drivers/memory
Yong Wu 4f608d382e memory: mtk-smi: Degrade SMI init to module_init
The initialization of MediaTek power manager(SCPSYS) is
builtin_platform_driver, and SMI must depend on power-domain.
Thus, currently subsys_initcall for SMI is unnecessary, SMI will be
always probe defered by power-domain. Degrade it to module_init.

In addition, there are two small changes about the probe sequence:
1) Delete this two lines.
    	if (!dev->pm_domain)
		return -EPROBE_DEFER;
   This is not helpful. the platform driver framework guarantee this.
   The "dev_pm_domain_attach" in the "platform_drv_probe" will return
   EPROBE_DEFER if its powerdomain is not ready.

2) Add the probe-defer for the smi-larb device should waiting for
   smi-common.
   In mt2712, there are 2 smi-commons, 10 smi-larbs. All will be
   probe-defered by the power-domain, there is seldom case that
   smi-larb probe done before smi-common. then it will hang like
   this:

   Unable to handle kernel NULL pointer dereference at virtual address
00000000 pgd = ffffff800a4e0000
[00000000] *pgd=00000000beffe003[   17.610026] , *pud=00000000beffe003
...
[<ffffff800897fe04>] mtk_smi_enable+0x1c/0xd0
[<ffffff800897fee8>] mtk_smi_larb_get+0x30/0x98
[<ffffff80088edfa8>] mtk_mipicsi0_resume+0x38/0x1b8
[<ffffff8008634f44>] pm_generic_runtime_resume+0x3c/0x58
[<ffffff8008644ff8>] __genpd_runtime_resume+0x38/0x98
[<ffffff8008647434>] genpd_runtime_resume+0x164/0x220
[<ffffff80086372f8>] __rpm_callback+0x78/0xa0
[<ffffff8008637358>] rpm_callback+0x38/0xa0
[<ffffff8008638a4c>] rpm_resume+0x4a4/0x6f8
[<ffffff8008638d04>] __pm_runtime_resume+0x64/0xa0
[<ffffff80088ed05c>] mtk_mipicsi0_probe+0x40c/0xb70
[<ffffff800862cdc0>] platform_drv_probe+0x58/0xc0
[<ffffff800862a514>] driver_probe_device+0x284/0x438
[<ffffff800862a8ac>] __device_attach_driver+0xb4/0x160
[<ffffff8008627d58>] bus_for_each_drv+0x68/0xa8
[<ffffff800862a0a4>] __device_attach+0xd4/0x168
[<ffffff800862a9d4>] device_initial_probe+0x24/0x30
[<ffffff80086291d8>] bus_probe_device+0xa0/0xa8
[<ffffff8008629784>] deferred_probe_work_func+0x94/0xf0
[<ffffff80080f03a8>] process_one_work+0x1d8/0x6e0

Signed-off-by: Yong Wu <yong.wu@mediatek.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2017-08-22 16:38:00 +02:00
..
samsung memory: samsung: exynos-srom: Fix wrong count of registers 2016-07-06 08:16:56 +02:00
tegra memory: tegra: Add a missing 'of_node_put()' call 2017-01-25 07:57:13 +01:00
atmel-ebi.c memory: atmel-ebi: mark PM ops as __maybe_unused 2017-05-15 11:37:58 +02:00
atmel-sdramc.c memory: atmel-sdramc: use builtin_platform_driver to simplify the code 2016-10-20 11:59:57 +02:00
da8xx-ddrctl.c memory: da8xx-ddrctl: drop the call to of_flat_dt_get_machine_name() 2016-11-23 20:26:42 +05:30
emif.c drivers/memory: don't check resource with devm_ioremap_resource 2013-05-18 11:55:52 +02:00
emif.h memory: emif: handle frequency and voltage change events 2012-05-02 10:52:09 -07:00
fsl_ifc.c memory: Update dependency of IFC for Layerscape 2016-07-13 17:31:10 -07:00
fsl-corenet-cf.c memory: fsl-corenet: Fix module autoload for OF platform driver 2015-10-05 04:44:11 +01:00
jz4780-nemc.c memory: jz4780-nemc: driver for the NEMC on JZ4780 SoCs 2015-03-26 23:51:36 +01:00
Kconfig MTD updates for 4.12-rc1: 2017-05-11 10:44:22 -07:00
Makefile memory: davinci: add support for da8xx DDR2/mDDR controller 2016-11-14 17:18:34 +05:30
mtk-smi.c memory: mtk-smi: Degrade SMI init to module_init 2017-08-22 16:38:00 +02:00
mvebu-devbus.c memory: drop owner assignment from platform_drivers 2014-10-20 16:20:52 +02:00
of_memory.c fix:memory:of_memory:add missing header dependencies 2016-08-31 15:21:18 +02:00
of_memory.h memory: fix build when CONFIG_OF && !CONFIG_DDR 2012-09-05 11:57:19 -07:00
omap-gpmc.c Few improvments for GPMC (General Purpose Memory Controller) 2017-06-18 18:55:59 -07:00
pl172.c memory: pl172: add ARM PrimeCell PL176 MPMC support 2015-09-29 22:19:02 +02:00
tegra20-mc.c memory: drop owner assignment from platform_drivers 2014-10-20 16:20:52 +02:00
ti-aemif.c memory: ti-aemif: Handle return value of clk_prepare_enable 2017-06-03 19:08:14 +09:00