msm8953-mainline / linux

Linux mainline kernel with WIP patches for msm8953 devices
Other
112 stars 60 forks source link

Update to linux 6.0.10 #53

Closed alikates closed 1 year ago

alikates commented 1 year ago

I just pushed a WIP branch based on linux 6.0.10. Here I want to make something like a ToDo list to track the status of the update.

Also I'm thinking on squashing all the typo fixes to clean up the history.

Regarding the panel drivers, maybe we should do the same as on msm8916-mainline and automatically add all panel drivers with lmdpdg. What do you think?

Please tell me what else to add:

It can already be tested on phones although it's probably a bit slow because of the OPP stuff.

Tested on:

M0Rf30 commented 1 year ago

Great initiative. Can I add:

Charger support would be a great comfort to have.

z3ntu commented 1 year ago

If you haven't already, please add https://github.com/msm8953-mainline/linux/pull/43

xnstet commented 1 year ago

i had vince. but after the new update (>20 september 2022) i got many troubles reinstalling pmos. mainline, no display at all ui i tried. now the only one working ui is sxmo-de-dwm on downstream and when i try to watch youtube at the browser, crashed. i hope 6.0 is the answer next. btw how to git clone this 6.0wip repository? i want to compile-install-flash immediately. thanks for the hard work, devs. thanks

M0Rf30 commented 1 year ago

To make vince working with latest generated panels for 6.0, this https://github.com/msm8953-mainline/lk2nd/pull/32/files should be merged mapping changed from mdss,td4310-fhdplus-e7 to xiaomi,td4310-fhdplus-e7, and so on for other entries

Here https://github.com/M0Rf30/msm8953-linux/commit/427c3f89888bdb43a505450ce04e6652ea9dfc4e I also pushed a commit for LABIBB enablement

alikates commented 1 year ago

Okay, I'm cherry picking all of that. Also what do you think of squashing all DT commits?

M0Rf30 commented 1 year ago

Yeah, for me it's ok

alikates commented 1 year ago

Sorry for that. I just added the labibb, hx83112b, and fp3 touchscreen stuff

z3ntu commented 1 year ago

At least this commit from 5.18.3 branch is missing in 6.0 branch: d958d986679cfd2da3c129c6fcb33de91956b412

CC @Ultracoolguy

alikates commented 1 year ago

Yep i merged it yesterday and forgot to cherry pick it

alikates commented 1 year ago

I'm going to try somainline CPR4 driver and see if it changes anything. Current driver looks like is stuck trying to probe

M0Rf30 commented 1 year ago

Can you replicate this issue at build time? :

sound/soc/codecs/tfa9872.c:120:10: error: 'const struct snd_soc_component_driver' has no member named 'non_legacy_dai_naming'; did you mean 'legacy_dai_naming'?
  120 |         .non_legacy_dai_naming  = 1,
      |          ^~~~~~~~~~~~~~~~~~~~~
      |          legacy_dai_naming
make[3]: *** [scripts/Makefile.build:249: sound/soc/codecs/tfa9872.o] Error 1
make[3]: *** Waiting for unfinished jobs....

Have to disable tfa9872 module

z3ntu commented 1 year ago

@M0Rf30 See e.g. https://github.com/torvalds/linux/commit/a524837ddd11bc20ec59d033d0260707cfa3cb99

ultra-azu commented 1 year ago

Cherry picking the commit z3ntu mentioned and pushing a commit that fixes the tfa9872 error makes 6.0 to function on ocean. However there's an issue with the panel I'm working on that seems dt related.

ultra-azu commented 1 year ago

I fixed that too.

z3ntu commented 1 year ago
[    1.045448] Error: Driver 'panel-otm1911-fhd' is already registered, aborting...

Seems there's a duplicate driver

drivers/gpu/drm/panel/msm8953-generated/panel-mdss-otm1911-fhd.c:               .name = "panel-otm1911-fhd",
drivers/gpu/drm/panel/msm8953-generated/panel-xiaomi-otm1911.c:         .name = "panel-otm1911-fhd",

It's not fatal for other devices though, but for those using these panels it should be fixed

Additionally https://github.com/Kiciuk/linux-panel-drivers should be moved into msm8953-mainline namespace.

I'll also send a PR to this repo for panel driver because that was dropped during the rebase: https://github.com/msm8953-mainline/linux/pull/59

z3ntu commented 1 year ago

Tested 6.0 branch on FP3 properly now, I sometimes get a reboot briefly after bootup, nothing on serial log about it though.

Apart from that, adsp, wifi, bluetooth, touchscreen all work fine. Venus not sure, but also don't think I tested in the past, modem also maybe not but I also don't recall that ever working properly. Panel seems to be locked to 30fps now which makes everything quite laggy. Checked with kmscube and glxgears, both hover at or under 30fps for some reason

M0Rf30 commented 1 year ago

Panel seems to be locked to 30fps now which makes everything quite laggy. Checked with kmscube and glxgears, both hover at or under 30fps for some reason

Could be related to LABIBB regulator usage?

fekz115 commented 1 year ago

Panel seems to be locked to 30fps now which makes everything quite laggy. Checked with kmscube and glxgears, both hover at or under 30fps for some reason

TBH, did you checked with both xorg and wayland DEs?

z3ntu commented 1 year ago

glxgears was on Phosh or Plasma Mobile, I don't recall. kmscube uses neither.

fekz115 commented 1 year ago

glxgears was on Phosh or Plasma Mobile, I don't recall. kmscube uses neither.

Try on xfce, please. Wayland DEs for some reason really have restrictions to work up to 30fps. Xorg ones no

z3ntu commented 1 year ago

Perhaps it's a good idea to make sure functionality 6.0 works and defer the cleanup and whatever other tasks to either a future rebase or put them later onto 6.0 branch? Otherwise I think this is going to take forever.

alikates commented 1 year ago

Yes, I also didnt have much time to work on it. I tried to rebase everything on top of 6.1-rc7. Do we wait for the final release or just use 6.0?

Btw, what about OPPs and scaling? Is it worth trying to fix it for this release?

z3ntu commented 1 year ago

Latest 6.0.x would be good, so right now 6.0.10.

OPP/scaling, not sure. Does rebasing the 5.18(?) commits don't work?

alikates commented 1 year ago

I rebased everything on top of 6.0.10. I think we should stick with that version so please open PRs against this branch https://github.com/msm8953-mainline/linux/tree/msm8953-6.0.10

I reordered dts and config commits so its easier to cleanup and squash and i replaced the IOMMU commits with the v2 from the mailing list.

alikates commented 1 year ago

For using the charger it's just setting its status to "okay" in the phone DTS and enabling the config. Ah it also needs the FG enabled and a battery node.

Example:

(for battery please make sure the values are okay) https://github.com/msm8953-mainline/linux/blob/0096a6d58659a719cece9dbbd46514d73f70bee8/arch/arm64/boot/dts/qcom/msm8953-xiaomi-daisy.dts#L28-L33 https://github.com/msm8953-mainline/linux/blob/0096a6d58659a719cece9dbbd46514d73f70bee8/arch/arm64/boot/dts/qcom/msm8953-xiaomi-daisy.dts#L242-L249 https://github.com/msm8953-mainline/linux/blob/0096a6d58659a719cece9dbbd46514d73f70bee8/arch/arm64/configs/xiaomi-daisy.config#L8-L9

alikates commented 1 year ago

Please retest everything. I squashed fixups and reordered lot of stuff to keep history a bit cleaner so maybe i forgot something.

Also frequency scaling and CPR are fixed. Not sure how to test it though.

M0Rf30 commented 1 year ago

I updated the following MR https://gitlab.com/postmarketOS/pmaports/-/merge_requests/3697 to latest changes from this branch

alikates commented 1 year ago

I think we can reuse this issue as a ToDo list for next releases

z3ntu commented 1 year ago

But let's close this issue since 6.0.10 is merged in pmaports. If there's anything missing please open a separate one.