Messages in this thread | | | Date | Fri, 20 Sep 2019 00:24:27 +0530 | From | Sai Prakash Ranjan <> | Subject | Re: [PATCHv6 3/3] iommu: arm-smmu-impl: Add sdm845 implementation hook |
| |
On 2019-09-19 08:48, Sai Prakash Ranjan wrote: > On 2019-09-19 05:55, Bjorn Andersson wrote: >> In the transition to this new design we lost the ability to >> enable/disable the safe toggle per board, which according to Vivek >> would result in some issue with Cheza. >> >> Can you confirm that this is okay? (Or introduce the DT property for >> enabling the safe_toggle logic?) >> > > Hmm, I don't remember Vivek telling about any issue on Cheza because > of this logic. > But I will test this on Cheza and let you know. >
I tested this on Cheza and no perf degradation nor any other issue is seen atleast openly, although I see this below stack dump always with cant_sleep change added.
[ 5.048860] BUG: assuming atomic context at /mnt/host/source/src/third_party/kernel/v5.3/drivers/firmware/qcom_scm-64.c:206 [ 5.060303] in_atomic(): 0, irqs_disabled(): 0, pid: 1, name: swapper/0 [ 5.067118] CPU: 4 PID: 1 Comm: swapper/0 Not tainted 5.3.0 #102 [ 5.073299] Hardware name: Google Cheza (rev3+) (DT) [ 5.078416] Call trace: [ 5.080953] dump_backtrace+0x0/0x16c [ 5.084727] show_stack+0x20/0x2c [ 5.088156] dump_stack+0x90/0xcc [ 5.091585] __cant_sleep+0xb4/0xc4 [ 5.095192] __qcom_scm_qsmmu500_wait_safe_toggle+0x5c/0xa0 [ 5.100929] qcom_scm_qsmmu500_wait_safe_toggle+0x28/0x34 [ 5.106491] qcom_sdm845_smmu500_reset+0x24/0x50 [ 5.111249] arm_smmu_device_reset+0x1a4/0x25c [ 5.115827] arm_smmu_device_probe+0x418/0x50c [ 5.120406] platform_drv_probe+0x90/0xb0 [ 5.124542] really_probe+0x14c/0x3b8 [ 5.128327] driver_probe_device+0x70/0x140 [ 5.132643] device_driver_attach+0x4c/0x6c [ 5.136960] __driver_attach+0xc8/0x150 [ 5.140917] bus_for_each_dev+0x84/0xcc [ 5.144873] driver_attach+0x2c/0x38 [ 5.148555] bus_add_driver+0x108/0x1fc [ 5.152512] driver_register+0x64/0xf8 [ 5.156375] __platform_driver_register+0x4c/0x58 [ 5.161226] arm_smmu_driver_init+0x1c/0x24 [ 5.165545] do_one_initcall+0x11c/0x2dc [ 5.169595] do_initcall_level+0x14c/0x174 [ 5.173822] do_basic_setup+0x30/0x48 [ 5.177595] kernel_init_freeable+0xc4/0x144 [ 5.181990] kernel_init+0x14/0x100 [ 5.185584] ret_from_fork+0x10/0x18
| |