Open catmengi opened 3 months ago
What difference beetwen GCC_DISP_HF_AXI_CLK and GCC_DISP_AHB_CLK clocks. First used in dsi0/dsi1, 2nd found some whete in nabu dts for android
What difference beetwen GCC_DISP_HF_AXI_CLK and GCC_DISP_AHB_CLK clocks. First used in dsi0/dsi1, 2nd found some whete in nabu dts for android
GCC_DISP_AHB_CLK is always enabled, that is why it's not in sm8150.dtsi on mainline. GCC_DISP_HF_AXI_CLK is enabled by msm_mdss_enable and it's seems also in dpu_runtime_resume
Does the dsi suspend / wakeup worked before UFS hack? I think that udelay may create some errors because it should fully stop execution of kernel for some amount of time. Is this right? Or you didnt test dsi before "fixing" ufs?
Does the dsi suspend / wakeup worked before UFS hack? I think that udelay may create some errors because it should fully stop execution of kernel for some amount of time. Is this right? Or you didnt test dsi before "fixing" ufs?
No, it didn't worked before that hack, that is why I wrote there "should fix broken UFS on boot and broken DSI on suspend/resume"
I found DISP_CC_MDSS_EDP_GTC_CLK clock that i don't see used in dts? Maybe screen just missing some clock, like ufs? https://github.com/map220v/sm8150-mainline/blob/nabu-6.7/drivers/clk/qcom/dispcc-sm8250.c#L1157 founded here
I found DISP_CC_MDSS_EDP_GTC_CLK clock that i don't see used in dts? Maybe screen just missing some clock, like ufs? https://github.com/map220v/sm8150-mainline/blob/nabu-6.7/drivers/clk/qcom/dispcc-sm8250.c#L1157 founded here
That DISP_CC_MDSS_EDP_GTC_CLK clock is used for EDP Displays, it's not needed for DSI Display. DSI inits fine on boot without "clk_ignore_unused", so it means that all required clocks already there, maybe order in which clocks disabled is incorrect, that would explain why log says that one dsi clocks stuck in status "on"
I found DISP_CC_MDSS_EDP_GTC_CLK clock that i don't see used in dts? Maybe screen just missing some clock, like ufs? https://github.com/map220v/sm8150-mainline/blob/nabu-6.7/drivers/clk/qcom/dispcc-sm8250.c#L1157 founded here
That DISP_CC_MDSS_EDP_GTC_CLK clock is used for EDP Displays, it's not needed for DSI Display. DSI inits fine on boot without "clk_ignore_unused", so it means that all required clocks already there, maybe order in which clocks disabled is incorrect, that would explain why log says that one dsi clocks stuck in status "on"
How to see what clock is stuck? How do enable logging of this? And which driver control order of clock disable or this controled by dts?
I found DISP_CC_MDSS_EDP_GTC_CLK clock that i don't see used in dts? Maybe screen just missing some clock, like ufs? https://github.com/map220v/sm8150-mainline/blob/nabu-6.7/drivers/clk/qcom/dispcc-sm8250.c#L1157 founded here
That DISP_CC_MDSS_EDP_GTC_CLK clock is used for EDP Displays, it's not needed for DSI Display. DSI inits fine on boot without "clk_ignore_unused", so it means that all required clocks already there, maybe order in which clocks disabled is incorrect, that would explain why log says that one dsi clocks stuck in status "on"
How to see what clock is stuck? How do enable logging of this? And which driver control order of clock disable or this controled by dts?
It's always enabled, this warning will tell in kernel log(dmesg) https://github.com/map220v/sm8150-mainline/blob/9894da172d3f6433475489d2d3332dd7b437c105/drivers/clk/qcom/clk-branch.c#L86
Drivers find and control clocks by their name specified in "clock-names" in their device node, or they can also bulk enable all clocks in their device node.
What do you think about latest commits related to dispcc-sm8250 this commit is first of thoose newest commits
What do you think about latest commits related to dispcc-sm8250 this commit is first of thoose newest commits
module_platform_driver uses platform_driver_register that was replaced by it, so this change doesn't change any code behaviours right now. Also we don't have problems with dispcc driver itself, and sm8250 that uses it doesn't have dsi clock issues on dual dsi.
Well thats may be dts mistake? Wrong clock or missing? Il take a look on xiaomi pad 5 pro dts
Why sm8150 have other power-domain in dsi: 'power-domains = <&rpmhpd SM8150_MMCX>' while sm8250 and sm8350 have : 'power-domains = <&rpmhpd RPMHPD_MMCX>'? I think SM8150_MMCX is the broken clock.
P.s: on march 23 i can get testing, not just finding info on a laggy phone. Also i will try to extract android dts file, not a damn bunch of unreleated files that android sources have
Why sm8150 have other power-domain in dsi: 'power-domains = <&rpmhpd SM8150_MMCX>' while sm8250 and sm8350 have : 'power-domains = <&rpmhpd RPMHPD_MMCX>'? I think SM8150_MMCX is the broken clock.
P.s: on march 23 i can get testing, not just finding info on a laggy phone. Also i will try to extract android dts file, not a damn bunch of unreleated files that android sources have
SM8150_MMCX is the same power domain as RPMHPD_MMCX, just uses different name for some reason https://github.com/map220v/sm8150-mainline/blob/9894da172d3f6433475489d2d3332dd7b437c105/drivers/pmdomain/qcom/rpmhpd.c#L375 https://github.com/map220v/sm8150-mainline/blob/9894da172d3f6433475489d2d3332dd7b437c105/drivers/pmdomain/qcom/rpmhpd.c#L429
Well, it will be better to make it standart look. But how to get original xiaomi dsi definition from devicetree? Tried to search but cant find anything 😔
I found interesting commit in mainline: https://github.com/torvalds/linux/commit/617de4ce7b1c4b41c1316e493d4717cd2f208def
I found interesting commit in mainline: torvalds/linux@617de4c
Looks like it will fix our issue, sm8250 had this "required-opps" for long time, which explains why there is no issues on elish.
I found interesting commit in mainline: torvalds/linux@617de4c
Looks like it will fix our issue, sm8250 had this "required-opps" for long time, which explains why there is no issues on elish.
Can we just update kernel to 6.8 from gregh repo to fix our issues? First thing that i will do when finally unlock my tablet is test this kernel, and also, can you add append_dtb config to defconfig?
I found interesting commit in mainline: torvalds/linux@617de4c
Looks like it will fix our issue, sm8250 had this "required-opps" for long time, which explains why there is no issues on elish.
Can we just update kernel to 6.8 from gregh repo to fix our issues? First thing that i will do when finally unlock my tablet is test this kernel, and also, can you add append_dtb config to defconfig?
I will rebase kernel to 6.8, I will remove all these clock hacks and also uart and bluetooth hack.
Not sure about uart and bt. I will test it soon and say you about bluetooth, but i cant say anything about uart, because i cant dissamble it. Also i will add pm8150 RTC and cover detect from @maverickjb
I pushed nabu-6.8 branch, I hope it still boots.
I pushed nabu-6.8 branch, I hope it still boots.
i too. Sorry but can only test it on march 23. Maybe you push it on xda? This may create some activity and someone who want to test it
Can you build new kernel with CONFIG_ARM_APPENDED_DTB=y ? I'l make android boot.img myself
Can you build new kernel with CONFIG_ARM_APPENDED_DTB=y ? I'l make android boot.img myself
CONFIG_ARM_APPENDED_DTB doesn't exist for arm64, instead use:
cat arch/arm64/boot/Image.gz arch/arm64/boot/dts/qcom/sm8150-xiaomi-nabu.dtb > bootimg-kernel
Can you build new kernel with CONFIG_ARM_APPENDED_DTB=y ? I'l make android boot.img myself
CONFIG_ARM_APPENDED_DTB doesn't exist for arm64, instead use:
cat arch/arm64/boot/Image.gz arch/arm64/boot/dts/qcom/sm8150-xiaomi-nabu.dtb > bootimg-kernel
Well, can you just compile kernel for me?, still cant do it myself due technical reasons
Lesgar said that your kernel(he builed itself) have black screen. Il give him a boot.img kernel maybe it will work. Maybe this because of removed framebuffer node?
Does it include dtb? I dont see any dtb in archive
Can old dtb in bootloader (efi, dtb from @maverickjb) affect boot of kernel? I think that removal of FB may affect blackscreen, i can say more accurate on march 23
According to mkbootimg docs, dtb should be included into kernel in different way: mkbootimg --dtb [file]. Pls build me a kernel, and send me kernel and dtb. Try to post it on xda again. Ubuntu thread is kinda 'dead'
Can old dtb in bootloader (efi, dtb from @maverickjb) affect boot of kernel? I think that removal of FB may affect blackscreen, i can say more accurate on march 23
Old and new rengade uefi's don't append dtb when booting linux as efi app. Blackscreen means that dsi doesn't work, I would need logs.
According to mkbootimg docs, dtb should be included into kernel in different way: mkbootimg --dtb [file]. Pls build me a kernel, and send me kernel and dtb. Try to post it on xda again. Ubuntu thread is kinda 'dead'
LinuxLoader.efi in abl can load appended dtb at the end of kernel image only when header_version 0 is used for boot.img
Can old dtb in bootloader (efi, dtb from @maverickjb) affect boot of kernel? I think that removal of FB may affect blackscreen, i can say more accurate on march 23
Old and new rengade uefi's don't append dtb when booting linux as efi app. Blackscreen means that dsi doesn't work, I would need logs.
According to mkbootimg docs, dtb should be included into kernel in different way: mkbootimg --dtb [file]. Pls build me a kernel, and send me kernel and dtb. Try to post it on xda again. Ubuntu thread is kinda 'dead'
LinuxLoader.efi in abl can load appended dtb at the end of kernel image only when header_version 0 is used for boot.img
@TheMagicMojoMan had this issue(black screen )with working arch linux installation on linux 6.1.10
Can old dtb in bootloader (efi, dtb from @maverickjb) affect boot of kernel? I think that removal of FB may affect blackscreen, i can say more accurate on march 23
Old and new rengade uefi's don't append dtb when booting linux as efi app. Blackscreen means that dsi doesn't work, I would need logs.
According to mkbootimg docs, dtb should be included into kernel in different way: mkbootimg --dtb [file]. Pls build me a kernel, and send me kernel and dtb. Try to post it on xda again. Ubuntu thread is kinda 'dead'
LinuxLoader.efi in abl can load appended dtb at the end of kernel image only when header_version 0 is used for boot.img
@TheMagicMojoMan had this issue(black screen )with working arch linux installation on linux 6.1.10
Maybe some display/gpu releated stuff is now built as modules, I will check 6.8 defconfig for changes. Modules for 6.8 kernel can be found here(ubuntu only): https://github.com/map220v/ubuntu-xiaomi-nabu/actions/runs/8360994443/artifacts/1342984590
Can old dtb in bootloader (efi, dtb from @maverickjb) affect boot of kernel? I think that removal of FB may affect blackscreen, i can say more accurate on march 23
Old and new rengade uefi's don't append dtb when booting linux as efi app. Blackscreen means that dsi doesn't work, I would need logs.
Well, grub2 is booting kernel, may be he just forgot to add devicetree in grub?
Can old dtb in bootloader (efi, dtb from @maverickjb) affect boot of kernel? I think that removal of FB may affect blackscreen, i can say more accurate on march 23
Old and new rengade uefi's don't append dtb when booting linux as efi app. Blackscreen means that dsi doesn't work, I would need logs.
According to mkbootimg docs, dtb should be included into kernel in different way: mkbootimg --dtb [file]. Pls build me a kernel, and send me kernel and dtb. Try to post it on xda again. Ubuntu thread is kinda 'dead'
LinuxLoader.efi in abl can load appended dtb at the end of kernel image only when header_version 0 is used for boot.img
@TheMagicMojoMan had this issue(black screen )with working arch linux installation on linux 6.1.10
Maybe some display/gpu releated stuff is now built as modules, I will check 6.8 defconfig for changes. Modules for 6.8 kernel can be found here(ubuntu only): https://github.com/map220v/ubuntu-xiaomi-nabu/actions/runs/8360994443/artifacts/1342984590
How deals are going?
Can old dtb in bootloader (efi, dtb from @maverickjb) affect boot of kernel? I think that removal of FB may affect blackscreen, i can say more accurate on march 23
Old and new rengade uefi's don't append dtb when booting linux as efi app. Blackscreen means that dsi doesn't work, I would need logs.
According to mkbootimg docs, dtb should be included into kernel in different way: mkbootimg --dtb [file]. Pls build me a kernel, and send me kernel and dtb. Try to post it on xda again. Ubuntu thread is kinda 'dead'
LinuxLoader.efi in abl can load appended dtb at the end of kernel image only when header_version 0 is used for boot.img
@TheMagicMojoMan had this issue(black screen )with working arch linux installation on linux 6.1.10
Maybe some display/gpu releated stuff is now built as modules, I will check 6.8 defconfig for changes. Modules for 6.8 kernel can be found here(ubuntu only): https://github.com/map220v/ubuntu-xiaomi-nabu/actions/runs/8360994443/artifacts/1342984590
How deals are going?
I checked 6.8 defconfig changes and it's pretty much the same, so all required dsi/gpu drivers should still be builtin instead of modules.
Can old dtb in bootloader (efi, dtb from @maverickjb) affect boot of kernel? I think that removal of FB may affect blackscreen, i can say more accurate on march 23
Old and new rengade uefi's don't append dtb when booting linux as efi app. Blackscreen means that dsi doesn't work, I would need logs.
According to mkbootimg docs, dtb should be included into kernel in different way: mkbootimg --dtb [file]. Pls build me a kernel, and send me kernel and dtb. Try to post it on xda again. Ubuntu thread is kinda 'dead'
LinuxLoader.efi in abl can load appended dtb at the end of kernel image only when header_version 0 is used for boot.img
@TheMagicMojoMan had this issue(black screen )with working arch linux installation on linux 6.1.10
Maybe some display/gpu releated stuff is now built as modules, I will check 6.8 defconfig for changes. Modules for 6.8 kernel can be found here(ubuntu only): https://github.com/map220v/ubuntu-xiaomi-nabu/actions/runs/8360994443/artifacts/1342984590
How deals are going?
I checked 6.8 defconfig changes and it's pretty much the same, so all required dsi/gpu drivers should still be builtin instead of modules.
I think he just messed up with bootloader or dtb in grub. 2 days and i can test it. But if screen wont work how to i install ssh-server and connect it to the network? But i think kernel should boot because there arent any big changes related to display driver. Now we need just wait for me or try to get help from XDA users. I'l send you my results when i be able to do this.
Can old dtb in bootloader (efi, dtb from @maverickjb) affect boot of kernel? I think that removal of FB may affect blackscreen, i can say more accurate on march 23
Old and new rengade uefi's don't append dtb when booting linux as efi app. Blackscreen means that dsi doesn't work, I would need logs.
According to mkbootimg docs, dtb should be included into kernel in different way: mkbootimg --dtb [file]. Pls build me a kernel, and send me kernel and dtb. Try to post it on xda again. Ubuntu thread is kinda 'dead'
LinuxLoader.efi in abl can load appended dtb at the end of kernel image only when header_version 0 is used for boot.img
@TheMagicMojoMan had this issue(black screen )with working arch linux installation on linux 6.1.10
Maybe some display/gpu releated stuff is now built as modules, I will check 6.8 defconfig for changes. Modules for 6.8 kernel can be found here(ubuntu only): https://github.com/map220v/ubuntu-xiaomi-nabu/actions/runs/8360994443/artifacts/1342984590
How deals are going?
I checked 6.8 defconfig changes and it's pretty much the same, so all required dsi/gpu drivers should still be builtin instead of modules.
I think he just messed up with bootloader or dtb in grub. 2 days and i can test it. But if screen wont work how to i install ssh-server and connect it to the network? But i think kernel should boot because there arent any big changes related to display driver. Now we need just wait for me or try to get help from XDA users. I'l send you my results when i be able to do this.
ssh server should be already installed and enabled in ubuntu's roorfs, you can connect using usb rndis by enabling this config "CONFIG_USB_ETH" and adding this to kernel cmdline "ip=192.168.100.1::192.168.100.2:255.255.255.0::usb0:on", ip address for connection is 192.168.100.1
Check sm8150.dtsi, i saw that dispcc and dsi nodes are DISABLED
It's normal sm8150.dtsi is imported by sm8150-xiaomi-nabu.dts and status for these nodes is overwritten there.
Can old dtb in bootloader (efi, dtb from @maverickjb) affect boot of kernel? I think that removal of FB may affect blackscreen, i can say more accurate on march 23
Old and new rengade uefi's don't append dtb when booting linux as efi app. Blackscreen means that dsi doesn't work, I would need logs.
According to mkbootimg docs, dtb should be included into kernel in different way: mkbootimg --dtb [file]. Pls build me a kernel, and send me kernel and dtb. Try to post it on xda again. Ubuntu thread is kinda 'dead'
LinuxLoader.efi in abl can load appended dtb at the end of kernel image only when header_version 0 is used for boot.img
@TheMagicMojoMan had this issue(black screen )with working arch linux installation on linux 6.1.10
Maybe some display/gpu releated stuff is now built as modules, I will check 6.8 defconfig for changes. Modules for 6.8 kernel can be found here(ubuntu only): https://github.com/map220v/ubuntu-xiaomi-nabu/actions/runs/8360994443/artifacts/1342984590
How deals are going?
I checked 6.8 defconfig changes and it's pretty much the same, so all required dsi/gpu drivers should still be builtin instead of modules.
I think he just messed up with bootloader or dtb in grub. 2 days and i can test it. But if screen wont work how to i install ssh-server and connect it to the network? But i think kernel should boot because there arent any big changes related to display driver. Now we need just wait for me or try to get help from XDA users. I'l send you my results when i be able to do this.
ssh server should be already installed and enabled in ubuntu's roorfs, you can connect using usb rndis by enabling this config "CONFIG_USB_ETH" and adding this to kernel cmdline "ip=192.168.100.1::192.168.100.2:255.255.255.0::usb0:on", ip address for connection is 192.168.100.1
How can i made my pc to serve network connection to tablet?
Can old dtb in bootloader (efi, dtb from @maverickjb) affect boot of kernel? I think that removal of FB may affect blackscreen, i can say more accurate on march 23
Old and new rengade uefi's don't append dtb when booting linux as efi app. Blackscreen means that dsi doesn't work, I would need logs.
According to mkbootimg docs, dtb should be included into kernel in different way: mkbootimg --dtb [file]. Pls build me a kernel, and send me kernel and dtb. Try to post it on xda again. Ubuntu thread is kinda 'dead'
LinuxLoader.efi in abl can load appended dtb at the end of kernel image only when header_version 0 is used for boot.img
@TheMagicMojoMan had this issue(black screen )with working arch linux installation on linux 6.1.10
Maybe some display/gpu releated stuff is now built as modules, I will check 6.8 defconfig for changes. Modules for 6.8 kernel can be found here(ubuntu only): https://github.com/map220v/ubuntu-xiaomi-nabu/actions/runs/8360994443/artifacts/1342984590
How deals are going?
I checked 6.8 defconfig changes and it's pretty much the same, so all required dsi/gpu drivers should still be builtin instead of modules.
I think he just messed up with bootloader or dtb in grub. 2 days and i can test it. But if screen wont work how to i install ssh-server and connect it to the network? But i think kernel should boot because there arent any big changes related to display driver. Now we need just wait for me or try to get help from XDA users. I'l send you my results when i be able to do this.
ssh server should be already installed and enabled in ubuntu's roorfs, you can connect using usb rndis by enabling this config "CONFIG_USB_ETH" and adding this to kernel cmdline "ip=192.168.100.1::192.168.100.2:255.255.255.0::usb0:on", ip address for connection is 192.168.100.1
How can i made my pc to serve network connection to tablet?
Tablet will serve network for PC using rndis protocol.
Houston we have a problem,linux dropped RNDIS now we only have CDC
Never tried CDC, but I guess it should work same way, after enabling CONFIG_USB_ETH in menuconfig, disable rndis inside if it's not disabled.
this commit possibly create black screen error, can you revert it, and send me new dtb?
this commit possibly create black screen error, can you revert it, and send me new dtb?
I will revert that, also because simple framebuffer starts earlier than msm fb(maybe there is panic before dsi starts)
this commit possibly create black screen error, can you revert it, and send me new dtb?
I will revert that, also because simple framebuffer starts earlier than msm fb(maybe there is panic before dsi starts)
Cant say anything about panic(no logs, no screenshots). Does simple-framebuffef will output image before dsi start?
this commit possibly create black screen error, can you revert it, and send me new dtb?
I will revert that, also because simple framebuffer starts earlier than msm fb(maybe there is panic before dsi starts)
Cant say anything about panic(no logs, no screenshots). Does simple-framebuffef will output image before dsi start?
Yes, it starts before dsi
Can you refert framebuffer commit in main branch?
Can you refert framebuffer commit in main branch?
Yes, I pushed changes.
Does the drm/dsi suspend works, can i suspend my screen and the wakeup it without any crash and fatal for UX bugs. One important question, does hibernate to disk works? Eg, no crashes after resuming from image