Hi Kevin / Martin, On Tue, 8 Oct 2019 at 04:28, Kevin Hilman <khilman@xxxxxxxxxxxx> wrote: > > Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> writes: > > > On Mon, Oct 7, 2019 at 3:17 PM Anand Moon <linux.amoon@xxxxxxxxx> wrote: > > [...] > >> diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig > >> index c9a867ac32d4..72f6a7dca0d6 100644 > >> --- a/arch/arm64/configs/defconfig > >> +++ b/arch/arm64/configs/defconfig > >> @@ -774,7 +774,7 @@ CONFIG_MPL3115=m > >> CONFIG_PWM=y > >> CONFIG_PWM_BCM2835=m > >> CONFIG_PWM_CROS_EC=m > >> -CONFIG_PWM_MESON=m > >> +CONFIG_PWM_MESON=y > > > > some time ago I submitted a similar patch for the 32-bit SoCs > > it turned that that pwm-meson can be built as module because the > > kernel will run without CPU DVFS as long as the clock and regulator > > drivers are returning -EPROBE_DEFER (-517) > > On 64-bit SoCs, the kernel boots with PWM as a module also, but DVFS > only works sometimes, and making it built-in fixes the problem. > Actually, it doesn't fix, it just hides the problem, which is likely a > race or timeout happening during deferred probing. > > > did you check whether there's some other problem like some unused > > clock which is being disabled at that moment? > > I've been hunting weird problems in the past where it turned out that > > changing kernel config bits changed the boot timing - that masked the > > original problem > > Right, I would definitely prefer to not make this built-in without a lot > more information to *why* this is needed. In figuring that out, we'll > probably find the race/timeout that's the root cause. > > Kevin > > Kevin, As per my understanding from the kernelci.org logs it seen that pwm-meson driver is requested more than once before it finally load the module. [0] https://storage.kernelci.org/next/master/next-20191008/arm64/defconfig/gcc-8/lab-baylibre/boot-meson-g12b-odroid-n2.txt Hi Martin, I have tired your Martin's patch [1] and still the boot fails to move ahead with below logs. [1] https://lore.kernel.org/patchwork/patch/1034186/ [ 1.543928] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed [ 1.550422] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM. [ 1.558702] hub 2-0:1.0: USB hub found [ 1.562131] hub 2-0:1.0: 1 port detected [ 1.566206] dwc3-meson-g12a ffe09000.usb: switching to Device Mode [ 1.573252] meson-gx-mmc ffe05000.sd: Got CD GPIO [ 1.607405] hctosys: unable to open rtc device (rtc0) I have put some more prints in pwm-meson.c it fails to load the module as microsSD card is not completely initialized. Here is what I have tried to enable sd_emmc_b node, but still it fails to initialize this driver.. - max-frequency = <50000000>; + sd-uhs-sdr12; + sd-uhs-sdr25; + sd-uhs-sdr50; + sd-uhs-ddr50; + max-frequency = <100000000>; disable-wp; Below are the boot logs. [ 1.729877] meson-gx-mmc ffe05000.sd: Anand mmc proble start1 [ 1.734658] meson-gx-mmc ffe05000.sd: Got CD GPIO [ 1.739237] meson-gx-mmc ffe05000.sd: Anand mmc proble start2 [ 1.744900] meson-gx-mmc ffe05000.sd: Anand mmc proble start3 [ 1.750594] meson-gx-mmc ffe05000.sd: Anand mmc proble start4 [ 1.756292] meson-gx-mmc ffe05000.sd: Anand mmc proble start5 [ 1.761987] meson-gx-mmc ffe05000.sd: Anand mmc proble start6 [ 1.767668] meson-gx-mmc ffe05000.sd: Anand mmc proble start7 [ 1.773356] meson-gx-mmc ffe05000.sd: Anand mmc proble start8 [ 1.779050] meson-gx-mmc ffe05000.sd: Anand mmc proble start9 [ 1.784748] meson-gx-mmc ffe05000.sd: Anand mmc proble start10 [ 1.790523] meson-gx-mmc ffe05000.sd: Anand mmc proble start11 [ 1.796578] meson-gx-mmc ffe05000.sd: Anand mmc proble start12 [ 1.802150] meson-gx-mmc ffe05000.sd: Anand mmc proble start13 [ 1.807980] meson-gx-mmc ffe05000.sd: Anand mmc proble start14 [ 1.813642] meson-gx-mmc ffe05000.sd: Anand mmc proble start15 [ 1.819416] meson-gx-mmc ffe05000.sd: Anand mmc proble start17 [ 1.825491] meson-gx-mmc ffe05000.sd: Anand mmc proble start18 [ 1.830984] meson-gx-mmc ffe05000.sd: Anand mmc proble start19 [ 1.862000] meson-gx-mmc ffe05000.sd: Anand mmc Final proble good to go [ 1.863323] pwm-regulator regulator-vddcpu-a: Anand : dutycycle_unit 100: dutycycle_range 100:0 [ 1.871617] pwm-regulator regulator-vddcpu-a: Failed to get PWM: -517 [ 1.878560] pwm-regulator regulator-vddcpu-b: Anand : dutycycle_unit 100: dutycycle_range 100:0 [ 1.886613] pwm-regulator regulator-vddcpu-b: Failed to get PWM: -517 [ 1.894094] pwm-regulator regulator-vddcpu-a: Anand : dutycycle_unit 100: dutycycle_range 100:0 [ 1.901771] pwm-regulator regulator-vddcpu-a: Failed to get PWM: -517 [ 1.909089] pwm-regulator regulator-vddcpu-b: Anand : dutycycle_unit 100: dutycycle_range 100:0 [ 1.916658] pwm-regulator regulator-vddcpu-b: Failed to get PWM: -517 [ 1.924147] hctosys: unable to open rtc device (rtc0) sd_emmc_b probe function return success but still not able to progress further. Best Regards -Anand