ChanServ changed the topic of #aarch64-laptops to: Linux support for AArch64 Laptops (Asus NovaGo TP370QL - HP Envy x2 - Lenovo Mixx 630 - Lenovo Yoga C630)
<qzed>
uhmm silly question: is there any way to verify the actual gpu/hardware id via some registers?
<qzed>
I'm not sure what I did wrong the first time I tried... but I don't hang on the GMU any more if I use what I believe should be the a680 firmware and a640 hwcfg
<bamse>
qzed: i was under the impression that it will tell you during initialization (in particular if you don't have support for the given version in the driver)
<qzed>
I thought it got that from the dt compatible string?
<bamse>
hmm, perhaps i'm confusing it with the mdp, where you do have it in a register...
<bamse>
i believe you're right...i don't find anything else either
<bamse>
but if it can load the a680 zap and the a640 gmu/sqe, then it quacks like a a680 in my ears...
<bamse>
unfortunatley the documentation is quite unclear wrt these details...
derzahl has quit [Ping timeout: 480 seconds]
hexdump0815 has joined #aarch64-laptops
hexdump01 has quit [Ping timeout: 480 seconds]
<qzed>
I wonder if "Microsoft SQ2 Adreno 690" != "Qualcomm Adreno 690"...
<qzed>
okay wtf... I have two identical sections in the gpulist, one with id 690 and one with 680
<qzed>
both pointing to the same firmware and hwcg of the a680
<qzed>
I use the same adreno_is_a640_family check for both
<qzed>
but still the a690 entry won't work while the a680 does
<qzed>
can the firmware read what the kernel thinks the chip is?
shawnguo has joined #aarch64-laptops
<qzed>
actually... yes, sort of... turns out the chip id is written to GMU_HFI_SFR_ADDR
<qzed>
if you write 690.1 to that, things don't work
<qzed>
if you write 680.1 to that, things do work
<qzed>
so I guess that confirms things
<qzed>
but then why is it named named 690 on every spec page that I can find and even in the device manager? urgh... marketing people...
<HdkR>
Overclocking is magic
jhovold has joined #aarch64-laptops
fleebs has joined #aarch64-laptops
<robclark>
bamse, qzed, could you dump the regs at dword offsets 0, 1, 2 for the 680 and "690" things? I think at least the first two contain some sort of hw revision/config id although haven't figured out the format.. somewhere around here I have some notes with those values collected from a few different a6xx, I guess if I get enough examples I might be able to figure it out
<robclark>
if 680 and "690" match then it is a pretty good bet the latter is just a speed-bump
<robclark>
(then the question is where is the speed-bin efuse)
hightower2 has joined #aarch64-laptops
hightower2 has quit []
hightower4 has joined #aarch64-laptops
psydroid[m] has joined #aarch64-laptops
<qzed>
robclark: you mean gmu->mmio + offset?
<robclark>
no, gpu
<robclark>
(offset in dwords, ie. u32)
<qzed>
okay, so right at the start of a6xx_gpu.c:hw_init() (after the call to a6xx_gmu_set_oob()) via gpu_read():
<qzed>
0: 00010043
<qzed>
1: 0ab00000
<qzed>
2: 044b48a4
<qzed>
3 .. 15: deafbead
<qzed>
robclark: let me know if you need anything else
<robclark>
thx.. the values should be constant so any time you can read 'em that doesn't insta-reboot is fine
jhovold has quit [Ping timeout: 480 seconds]
derzahl has joined #aarch64-laptops
hightower4 has quit [Ping timeout: 480 seconds]
hightower4 has joined #aarch64-laptops
Lucanis0 has quit [Ping timeout: 480 seconds]
Lucanis has joined #aarch64-laptops
hightower4 has quit [Ping timeout: 480 seconds]
hightower4 has joined #aarch64-laptops
hightower4 has quit [Ping timeout: 480 seconds]
hightower4 has joined #aarch64-laptops
hightower4 has quit [Ping timeout: 480 seconds]
hightower4 has joined #aarch64-laptops
hightower4 has quit [Ping timeout: 480 seconds]
hightower4 has joined #aarch64-laptops
<qzed>
okay, so as far as I can tell everything should work now... but the panel still stays black
<qzed>
there's a framebuffer device allocated by fbcon and that seems to check out (at least resolution wise)
<qzed>
any ideas what could be going wrong?
hightower4 has quit [Ping timeout: 480 seconds]
hightower4 has joined #aarch64-laptops
hightower4 has quit [Ping timeout: 480 seconds]
<qzed>
bamse: what's supposed to happen if I blacklist `msm`? should the basic framebuffer still be in use until the GPU driver loads? if so that's not what's happening...
Lucanis0 has joined #aarch64-laptops
Lucanis has quit [Ping timeout: 480 seconds]
<robclark>
qzed: you should be able to use modparam msm.modeset=0 to prevent the driver from probing and leave you with efifb (at least until clks / pds get disabled unless you have clk_ignore_unused/pd_ignore_unused)