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)
e1eph4nt has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
e1eph4nt has quit [Ping timeout: 480 seconds]
Scottsdale[m] has joined #aarch64-laptops
e1eph4nt has joined #aarch64-laptops
Penguinpee_ has joined #aarch64-laptops
Penguinpee has quit [Ping timeout: 480 seconds]
e1eph4nt has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
hexdump01 has joined #aarch64-laptops
hexdump0815 has quit [Ping timeout: 480 seconds]
e1eph4nt has quit [Ping timeout: 480 seconds]
Scottsdale[m] has left #aarch64-laptops [#aarch64-laptops]
e1eph4nt has joined #aarch64-laptops
<travmurav[m]> reg addresses for hardware nodes would usually represent the register address base for the hardware block and hardware blocks usually have a fixed place in the address space :) Reserved memory blocks are in ram and it depends on the user if one can relocate them
<HdkR> Alright, so still need to find the correct addresses for these that don't overlap
<HdkR> I guess pull up the ACPI dumps and hope for being capable of parsing them
<travmurav[m]> HdkR: are you trying to define the gpu stuff for the x13s SoC?
<HdkR> indeed
<travmurav[m]> I suppose ACPI DSDT would have some register base addresses
<travmurav[m]> not sure how easy would it be to match acpi uuid <-> what device is there
<travmurav[m]> would probably be very cool if qcom has downstream linux somewhere with support for that SoC so you could just see the stuff in the downstream DT and adapt that
<HdkR> Don't think the compute SoCs have any downstream Linux support
<travmurav[m]> at least 7c has, possibly for the chromebooks
<HdkR> Might be the only one then
<travmurav[m]> also possible that the hw blocks are shared with some mobile platform that you can find the dt for (i.e. 7c gen1 is almost equal to snap 720g afaiu) but I suppose 8cx gen3 (iirc) is much more compute oriented and gpu stuff might be "unique"
<HdkR> No idea there. I'm just flailing
<clover[m]> Interesting stuff
e1eph4nt has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
<clover[m]> <travmurav[m]> "not sure how easy would it be to..." <- Is it feasible to try each one?
<HdkR> My main thing would be extracting ACPI while in Linux, if possible
<clover[m]> Could you take a acpi dump, desolder the gpu, and take a second acpi dump and deduce from the difference?
<HdkR> lol
<travmurav[m]> pretty sure acpi is hardcoded
e1eph4nt has quit [Ping timeout: 480 seconds]
<travmurav[m]> HdkR: is there no previous dump of the acpi tables?
<HdkR> I don't think anyone dumped them publicly
<HdkR> and I already ripped Windows off the device
e1eph4nt has joined #aarch64-laptops
e1eph4nt has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
rpirea has quit [Read error: Connection reset by peer]
e1eph4nt has quit [Ping timeout: 480 seconds]
Penguinpee_ has quit [Remote host closed the connection]
Penguinpee_ has joined #aarch64-laptops
e1eph4nt has joined #aarch64-laptops
e1eph4nt has quit [Ping timeout: 480 seconds]
jelly-hme is now known as jelly
e1eph4nt has joined #aarch64-laptops
rpirea has joined #aarch64-laptops
jhovold has joined #aarch64-laptops
e1eph4nt has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
e1eph4nt has quit [Ping timeout: 480 seconds]
Penguinpee_ has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
Penguinpee_ has joined #aarch64-laptops
Penguinpee_ is now known as Penguinpee
e1eph4nt has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
e1eph4nt has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
e1eph4nt has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
e1eph4nt has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
rpirea has quit [Read error: Connection reset by peer]
rpirea has joined #aarch64-laptops
e1eph4nt has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
e1eph4nt has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
<clover[m]> <HdkR> "and I already ripped Windows off..." <- I have some free time I can try to get them
rpirea_ has joined #aarch64-laptops
rpirea has quit [Read error: Connection reset by peer]
rpirea__ has joined #aarch64-laptops
rpirea_ has quit [Read error: Connection reset by peer]
<clover[m]> HdkR: not sure if this is right but check it: https://github.com/ironrobin/archiso-x13s/wiki/ACPI-dump
<HdkR> clover[m]: Looks like that has the information
<HdkR> Will see if the numbers align
e1eph4nt has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
e1eph4nt has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
e1eph4nt has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
e1eph4nt has quit [Remote host closed the connection]
e1eph4nt has joined #aarch64-laptops
<HdkR> GMU base address seems wrong, while its rscc and gmu_pdc base addresses look to match
<HdkR> But I'm not sure how that is described in the ACPI tables
<HdkR> GFX_REGS describes the base of gpu, GFX_REGS_CONT is close and /might/ describe gmu?
<travmurav[m]> I wonder if the SoC is described in one of those "codenamed" downstream DTs i.e. here: https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-coral-4.14-android12L/arch/arm64/boot/dts/qcom
<travmurav[m]> at least atoll is 7c gen1 afaiu
<travmurav[m]> but idk how exactly would you match it
<qzed> HdkR: IIRC some addresses / register offsets are different between the windows and linux driver
<qzed> so there's some offset between them
<qzed> let me try to figure out what I did with ghidra some time back...
<HdkR> Tricky.
e1eph4nt has quit [Ping timeout: 480 seconds]
<qzed> ahh right, so part of it is in ACPI, at least for sc8180: GPU0._CRS has the register addresses and GPU0.RESI has the corresponding names for those
<HdkR> Yea, that's where I've been trying to correlate
<qzed> right, GFX_REGS_CONT is definitely the base of GMU, or at least what windows uses as base
<qzed> from that, sc8180x nodes offset 0xa000 for the "gmu" registers
<HdkR> looks like there is a gmu_pdc and gmu_pdc_seq
<HdkR> Which might be mixed in this sc8280xp dt?
<HdkR> Since I'm guessing GPU_PDC_REGS and GPU_PDC_SEQ_MEM relate to gmu_pdc and gmu_pdc_seq respectively
<qzed> okay so I checked the register addresses between windows and linux drivers and that GFX_REGS_CONT is definitely "gmu" - 0xa000, i.e. in Linux you have addresses relative to GFX_REGS_CONT + 0xa000
<qzed> or in yet other words: gmu = GFX_REGS_CONT + 0xa00
<HdkR> Okay, so that offset matches what is in the DT. Confusing
<qzed> GPU_PDC_SEQ_MEM is "gmu_pdc", at least on the sc8180... seems a bit weird though as you've mentioned this looks kinda swapped
<qzed> "gmu_pdc_seq" then should be GPU_PDC_REGS
<HdkR> weird
<qzed> I do kinda wonder if they're swapped...
<qzed> but it seems to work, so I'd guess they're correct
<qzed> also in the spx dsdt are two different sets of definitions for those registers...
<qzed> seems like some kind of hardware revision thing
e1eph4nt has joined #aarch64-laptops
<HdkR> Hm, still timeout waiting for GMU OOB thing
<HdkR> Wrong interrupt numbers maybe?
<qzed> i have no clue :/
<HdkR> I guess the interrupts are described as GFX_INTERRUPT and GFX_LPAC_INTERRUPT?
<qzed> I can't really match them up to anything on the SPX
<HdkR> Tricky
<qzed> on the sc8180x GFX_INTERRUPT is 332, the GPU interrupt in the DT is 300, so maybe some offsetting again?
<qzed> but I can't find the interrupts used in the gmu node...
<robclark> HdkR: re: https://gist.github.com/Sonicadvance1/2278e2f37722b51c65eb2efbc144c784 .. is `adreno_is_a660_family()` updated to include a690? The `Unable to find the gmu_pdc_seq registers` error, a690 shouldn't be going down that path which makes me think something fundamental is missing, like realizing that a690 is in the a660 generation
<HdkR> robclark: I don't think that run had that. I'm now tinkering with 690 included with a660
<HdkR> Trying to figure out why gmu is timing out
<robclark> just looking at a680.. looks like it is pretty identical to a640.. so I guess I'd expect a690 to be pretty identical to a660.. but I guess worth checking downstream kgsl. Unfortunately in newer android kernels the dt stuff seems to have moved out of the kernel tree, but I guess at least the kgsl bits should be there
<HdkR> Oh okay, so timeout happens when reading gmu mmio region, not interrupts
<clover[m]> what's the implication
e1eph4nt has quit [Ping timeout: 480 seconds]
<HdkR> Not the interrupt number being the issue with gmu oob, mmio region being wrong or off
<HdkR> No more of this, I feel my brain melting
e1eph4nt has joined #aarch64-laptops
<steev> HdkR: did you look through the work bamse already did?
<HdkR> I was just looking at your nonworking-gpu branch
e1eph4nt has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
e1eph4nt has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
jhovold has quit [Ping timeout: 480 seconds]
e1eph4nt has quit [Ping timeout: 480 seconds]
e1eph4nt has joined #aarch64-laptops
e1eph4nt has quit [Ping timeout: 480 seconds]