On Wed, Jun 19, 2019 at 08:39:04PM +0200, Stephan Gerhold wrote: > Hi, > > On Wed, Jun 19, 2019 at 09:49:03AM +0100, Suzuki K Poulose wrote: > > Hi Stephan, > > > > On 18/06/2019 21:26, Stephan Gerhold wrote: > > > Hi, > > > > > > I'm trying to run mainline Linux on a smartphone with MSM8916 SoC. > > > It works surprisingly well, but the coresight devices seem to cause the > > > following crash shortly after userspace starts: > > > > > > Internal error: synchronous external abort: 96000010 [#1] PREEMPT SMP > > > > ... > > > > > > > > > > In this case I'm using a simple device tree similar to apq8016-sbc, > > > but it also happens using something as simple as msm8916-mtp.dts > > > on this particular device. > > > (Attached: dmesg log with msm8916-mtp.dts and arm64 defconfig) > > > > > > I can avoid the crash and boot without any further problems by disabling > > > every coresight device defined in msm8916.dtsi, e.g.: > > > > > > tpiu@820000 { status = "disabled"; }; > > > > ... > > > > > > > > I don't have any use for coresight at the moment, > > > but it seems somewhat odd to put this in the device specific dts. > > > > > > Any idea what could be causing this crash? > > > > This is mostly due to the missing power domain support. The CoreSight > > components are usually in a debug power domain. So unless that is turned on, > > (either by specifying proper power domain ids for power management protocol > > supported by the firmware OR via other hacks - e.g, connecting a DS-5 to > > keep the debug power domain turned on , this works on Juno -). > > Interesting, thanks a lot! > > In this case I'm wondering how it works on the Dragonboard 410c. > Does it enable these power domains in the firmware? > (Assuming it boots without this error...) > > If coresight is not working properly on all/most msm8916 devices, > shouldn't coresight be disabled by default in msm8916.dtsi? > At least until those power domains can be set up by the kernel. > Why do you want to disable in DTS if it's issue with some incomplete kernel configuration. If power domains are disabled in the kernel, then the pm_runtime might ignore and proceed assuming the firmware enables all power domains ON on boot. -- Regards, Sudeep