* Re: Adreno 829 (SM8845) zap shader: PAS init rejected by TZ under Gunyah [not found] <TYCPR01MB11847FA80097F4B08C082DC859F9D2@TYCPR01MB11847.jpnprd01.prod.outlook.com> @ 2026-10-15 13:16 ` Rob Clark 2026-10-15 17:40 ` Venkat Yadlapati 2026-10-23 5:08 ` James Wilson 0 siblings, 2 replies; 7+ messages in thread From: Rob Clark @ 2026-10-15 13:16 UTC (permalink / raw) To: VENKAT YADLAPATI Cc: akhilpo@oss.qualcomm.com, Konrad Dybcio, Dmitry Baryshkov, Bjorn Andersson, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Sumit Garg + Sumit who would know more about the PAS stuff BR, -R On Wed, Oct 14, 2026 at 12:42 PM VENKAT YADLAPATI <venkat.yadlapati@hotmail.com> wrote: > > Hi, > > I am bringing up mainline on a Motorola Signature (SM8845 "alor", a > Kaanapali derivative with an Adreno 829 / gen8_9_0, chip id 0x44030a00). > It is a retail, secure-boot phone running Gunyah, with the shipped > firmware (A171WVH.21-16-16). Display, UFS, USB and the ADSP work. > > For the GPU I added a gen8_9_0 entry modelled on the A840 one (2 slices, > 2432 KiB GMEM, gen80900 firmware). The SQE/GMU/AQE firmware loads and the > GMU boots (v5.3.25), but loading the zap shader fails: the PAS init call > for PAS id 13 (0x42000201) returns a0 = 0xffcfffbb, i.e. -EINVAL. The zap > is the one shipped in the same vendor image (gen80900_zap.mbn). > > What I checked so far: > > - qcom_scm_pas_supported(13) returns true, and other PAS images load > fine through the same path: the ADSP (PAS 36 + 1) boots. > - Moving the metadata buffer above 4 GiB, loading the zap after the ADSP, > and skipping the CP SMMU aperture call change nothing. Passing an SHM > bridge (tzmem) buffer gives a different error (0xffcffff6), so I assume > the hypervisor bridges the plain buffer itself and 0x...bb comes from TZ. > - On the same device, the Android 6.18 GKI kernel with KGSL loads the > zap with the identical sequence: PAS init(13) -> mem_setup(13, > 0x9959a000) -> auth_and_reset(13). The only GPU related secure calls > before it are qcom_scm_gpu_init_regs (mask 0xb) and a series of > MP_ASSIGN calls handing KGSL's secure buffers and secure page tables to > VMID_CP_PIXEL. Assigning a page to CP_PIXEL before the zap load on > mainline does not help. > > Is there a precondition in TZ for the GPU PAS on Gunyah based production > devices (for example a secure context bank on the GPU SMMU, or something > KGSL does at probe), or is the zap expected to work the same way as on > the Kaanapali QRD? Any hint on what 0xffcfffbb means would help too. > > A second, unrelated question about naming before I post the SoC patches: > SM8845 differs from SM8850 enough to need its own TLMM driver (205 GPIOs, > different pin functions and GPIO->PDC wakeup map), an extra PDC range, a > gpucc variant and its own GPU, so I describe it as a separate SoC on top > of kaanapali.dtsi (like purwa on hamoa). For now I used the downstream > codename "alor" (pinctrl-alor.c, qcom,alor-tlmm, qcom,alor-pdc, > qcom,alor-gpucc, alor.dtsi). Since kaanapali itself is not the > downstream name of SM8850, is there an upstream codename planned for > SM8845, or should I use "alor" (or plain sm8845)? > > I plan to post that series soon (TLMM driver and binding, PDC, gpucc > variant, SoC dtsi, and the A829 support once the zap issue is sorted > out), followed by the Motorola Signature board. If Qualcomm already has > SM8845 patches in the queue, please let me know so I don't duplicate the > work. > > Thanks, > Venkat Yadlapati ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Adreno 829 (SM8845) zap shader: PAS init rejected by TZ under Gunyah 2026-10-15 13:16 ` Adreno 829 (SM8845) zap shader: PAS init rejected by TZ under Gunyah Rob Clark @ 2026-10-15 17:40 ` Venkat Yadlapati 2026-10-21 5:08 ` Venkat Yadlapati 2026-10-23 5:08 ` James Wilson 1 sibling, 1 reply; 7+ messages in thread From: Venkat Yadlapati @ 2026-10-15 17:40 UTC (permalink / raw) To: rob.clark Cc: akhilpo, andersson, freedreno, konradybcio, linux-arm-msm, lumag, sumit.garg, venkat.yadlapati Rob Clark wrote: > + Sumit who would know more about the PAS stuff > > BR, > -R Thanks Rob. Hi Sumit, Some new data. 0xffcfffbb is QTEE PIL error 0x300045 (the hypervisor log shows "pil_init_image_to_tz [300045]"). With a boot-time trace of all SMCs on the stock Android 6.12 kernel on the same phone, Android hits the same error: PAS init for video (9) at 1.9 s returns 0xffcfffbb. IPA (15) at 2.5 s, video at 4.9 s and the GPU zap (13) at 5.2 s then succeed, all after qseecomd has started and registered its listeners. The ADSP loads fine without any of that, on Android and on mainline. On mainline, qcomtee works (QTEE 5.2.0) and I ran qtee_supplicant from minkipc (time, TA autoload, FS, GPFS and RPMB listeners), but PAS init for 13 still fails. qseecomd additionally registers GPT, output protection, secure processor and interrupt listeners. Which listener or QTEE state does PIL init depend on for these subsystems, and is there a way to provide it from mainline? Thanks, Venkat ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Adreno 829 (SM8845) zap shader: PAS init rejected by TZ under Gunyah 2026-10-15 17:40 ` Venkat Yadlapati @ 2026-10-21 5:08 ` Venkat Yadlapati 0 siblings, 0 replies; 7+ messages in thread From: Venkat Yadlapati @ 2026-10-21 5:08 UTC (permalink / raw) To: sumit.garg, rob.clark Cc: akhilpo, andersson, freedreno, konradybcio, linux-arm-msm, lumag, venkat.yadlapati Venkat Yadlapati wrote: > Which listener or QTEE state does PIL init depend on for these > subsystems, and is there a way to provide it from mainline? Hi Sumit, Rob, Please disregard my question, it was my mistake: the zap shader I loaded was signed with the wrong key. The stock vendor partition carries two copies of the GPU firmware. /vendor/firmware/gen80900_zap.mbn is signed with the Qualcomm "SECTOOLS SECP384R1 CURVE TEST ROOT". Android loads the copy from the modem partition (/vendor/firmware_mnt/image/gen80900_zap.mbn), which is signed by the OEM. I had packaged the first one, and the production TZ rejects it with 0x300045. The early Android failure I described was the same thing: the video driver probed before the modem partition was mounted and picked up the test-signed /vendor/firmware/vpu40_1v.mbn. The later successes after qseecomd started were a coincidence, PAS loads keep working on Android with qseecomd and keymint stopped. With the OEM-signed zap, PAS init for 13 succeeds on mainline without any QTEE listener. Sorry for the noise, and thanks for looking. Venkat ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Adreno 829 (SM8845) zap shader: PAS init rejected by TZ under Gunyah 2026-10-15 13:16 ` Adreno 829 (SM8845) zap shader: PAS init rejected by TZ under Gunyah Rob Clark 2026-10-15 17:40 ` Venkat Yadlapati @ 2026-10-23 5:08 ` James Wilson 2026-10-23 15:10 ` Venkat Yadlapati 1 sibling, 1 reply; 7+ messages in thread From: James Wilson @ 2026-10-23 5:08 UTC (permalink / raw) To: rob.clark, VENKAT YADLAPATI Cc: akhilpo@oss.qualcomm.com, Konrad Dybcio, Dmitry Baryshkov, Bjorn Andersson, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Sumit Garg On Thu Oct 15, 2026 at 6:46 PM IST, Rob Clark wrote: > + Sumit who would know more about the PAS stuff > > BR, > -R > > On Wed, Oct 14, 2026 at 12:42 PM VENKAT YADLAPATI > <venkat.yadlapati@hotmail.com> wrote: >> >> Hi, >> >> I am bringing up mainline on a Motorola Signature (SM8845 "alor", a >> Kaanapali derivative with an Adreno 829 / gen8_9_0, chip id 0x44030a00). >> It is a retail, secure-boot phone running Gunyah, with the shipped >> firmware (A171WVH.21-16-16). Display, UFS, USB and the ADSP work. >> >> For the GPU I added a gen8_9_0 entry modelled on the A840 one (2 slices, >> 2432 KiB GMEM, gen80900 firmware). The SQE/GMU/AQE firmware loads and the >> GMU boots (v5.3.25), but loading the zap shader fails: the PAS init call >> for PAS id 13 (0x42000201) returns a0 = 0xffcfffbb, i.e. -EINVAL. The zap >> is the one shipped in the same vendor image (gen80900_zap.mbn). >> >> What I checked so far: >> >> - qcom_scm_pas_supported(13) returns true, and other PAS images load >> fine through the same path: the ADSP (PAS 36 + 1) boots. >> - Moving the metadata buffer above 4 GiB, loading the zap after the ADSP, >> and skipping the CP SMMU aperture call change nothing. Passing an SHM >> bridge (tzmem) buffer gives a different error (0xffcffff6), so I assume >> the hypervisor bridges the plain buffer itself and 0x...bb comes from TZ. >> - On the same device, the Android 6.18 GKI kernel with KGSL loads the >> zap with the identical sequence: PAS init(13) -> mem_setup(13, >> 0x9959a000) -> auth_and_reset(13). The only GPU related secure calls >> before it are qcom_scm_gpu_init_regs (mask 0xb) and a series of >> MP_ASSIGN calls handing KGSL's secure buffers and secure page tables to >> VMID_CP_PIXEL. Assigning a page to CP_PIXEL before the zap load on >> mainline does not help. >> >> Is there a precondition in TZ for the GPU PAS on Gunyah based production >> devices (for example a secure context bank on the GPU SMMU, or something >> KGSL does at probe), or is the zap expected to work the same way as on >> the Kaanapali QRD? Any hint on what 0xffcfffbb means would help too. >> >> A second, unrelated question about naming before I post the SoC patches: >> SM8845 differs from SM8850 enough to need its own TLMM driver (205 GPIOs, >> different pin functions and GPIO->PDC wakeup map), an extra PDC range, a >> gpucc variant and its own GPU, so I describe it as a separate SoC on top >> of kaanapali.dtsi (like purwa on hamoa). For now I used the downstream >> codename "alor" (pinctrl-alor.c, qcom,alor-tlmm, qcom,alor-pdc, >> qcom,alor-gpucc, alor.dtsi). Since kaanapali itself is not the >> downstream name of SM8850, is there an upstream codename planned for >> SM8845, or should I use "alor" (or plain sm8845)? >> >> I plan to post that series soon (TLMM driver and binding, PDC, gpucc >> variant, SoC dtsi, and the A829 support once the zap issue is sorted >> out), followed by the Motorola Signature board. If Qualcomm already has >> SM8845 patches in the queue, please let me know so I don't duplicate the >> work. Hello Venkat, I wanted to let you know, that I'm also working on SM8845 SoC bring up. I have the SM8845 specific clock, pinctrl, interconnect drivers and much of the dtsi ready. No MDSS/DPU or GPU yet though, which you seem to have working. Best, James >> >> Thanks, >> Venkat Yadlapati ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Adreno 829 (SM8845) zap shader: PAS init rejected by TZ under Gunyah 2026-10-23 5:08 ` James Wilson @ 2026-10-23 15:10 ` Venkat Yadlapati 2026-10-24 14:25 ` James Wilson 2026-10-28 12:00 ` Konrad Dybcio 0 siblings, 2 replies; 7+ messages in thread From: Venkat Yadlapati @ 2026-10-23 15:10 UTC (permalink / raw) To: james.wilson Cc: akhilpo, andersson, freedreno, konradybcio, linux-arm-msm, lumag, rob.clark, sumit.garg, venkat.yadlapati Hi James, Thanks for the heads up. To avoid duplicating work, here is what I have on a Motorola Signature (SM8845 "alor"), none of it posted yet: - TLMM driver and binding (205 GPIOs, own GPIO->PDC wakeup map), alor PDC - SoC dtsi on top of kaanapali.dtsi, plus the board DT - gpucc variant, A829 catalog, panel, touch, DSI1 - UFS, USB, SMMU, charging, audio and modem work on hardware I used the downstream codename "alor" for compatibles and file names. What do you use? Do you want to post the SoC base (clock, pinctrl, interconnect, dtsi) and I rebase on it? I would first diff my TLMM/PDC against yours. Or I post TLMM/PDC since it is tested on hardware, your call. Separately: I carry a hack disabling icc-rpmh QoS programming, because with it the display dies at boot. Do you have a tree with your interconnect driver that I can test? Venkat ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Adreno 829 (SM8845) zap shader: PAS init rejected by TZ under Gunyah 2026-10-23 15:10 ` Venkat Yadlapati @ 2026-10-24 14:25 ` James Wilson 2026-10-28 12:00 ` Konrad Dybcio 1 sibling, 0 replies; 7+ messages in thread From: James Wilson @ 2026-10-24 14:25 UTC (permalink / raw) To: Venkat Yadlapati, james.wilson Cc: akhilpo, andersson, freedreno, konradybcio, linux-arm-msm, lumag, rob.clark, sumit.garg On Fri Oct 23, 2026 at 8:40 PM IST, Venkat Yadlapati wrote: > Hi James, > > Thanks for the heads up. To avoid duplicating work, here is what I have > on a Motorola Signature (SM8845 "alor"), none of it posted yet: > > - TLMM driver and binding (205 GPIOs, own GPIO->PDC wakeup map), alor PDC > - SoC dtsi on top of kaanapali.dtsi, plus the board DT > - gpucc variant, A829 catalog, panel, touch, DSI1 > - UFS, USB, SMMU, charging, audio and modem work on hardware > > I used the downstream codename "alor" for compatibles and file names. > What do you use? > > Do you want to post the SoC base (clock, pinctrl, interconnect, dtsi) > and I rebase on it? I would first diff my TLMM/PDC against yours. Or I > post TLMM/PDC since it is tested on hardware, your call. Hello Venkat, Sounds good. Give me some days to clean up on my side, then I will share my patches with you. Best, James > > Separately: I carry a hack disabling icc-rpmh QoS programming, because > with it the display dies at boot. Do you have a tree with your > interconnect driver that I can test? > > Venkat ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Adreno 829 (SM8845) zap shader: PAS init rejected by TZ under Gunyah 2026-10-23 15:10 ` Venkat Yadlapati 2026-10-24 14:25 ` James Wilson @ 2026-10-28 12:00 ` Konrad Dybcio 1 sibling, 0 replies; 7+ messages in thread From: Konrad Dybcio @ 2026-10-28 12:00 UTC (permalink / raw) To: Venkat Yadlapati, james.wilson Cc: akhilpo, andersson, freedreno, konradybcio, linux-arm-msm, lumag, rob.clark, sumit.garg On 10/23/26 5:10 PM, Venkat Yadlapati wrote: > Hi James, > > Thanks for the heads up. To avoid duplicating work, here is what I have > on a Motorola Signature (SM8845 "alor"), none of it posted yet: > > - TLMM driver and binding (205 GPIOs, own GPIO->PDC wakeup map), alor PDC > - SoC dtsi on top of kaanapali.dtsi, plus the board DT > - gpucc variant, A829 catalog, panel, touch, DSI1 > - UFS, USB, SMMU, charging, audio and modem work on hardware > > I used the downstream codename "alor" for compatibles and file names. > What do you use? Please use the name "molokai" Konrad > Do you want to post the SoC base (clock, pinctrl, interconnect, dtsi) > and I rebase on it? I would first diff my TLMM/PDC against yours. Or I > post TLMM/PDC since it is tested on hardware, your call. > > Separately: I carry a hack disabling icc-rpmh QoS programming, because > with it the display dies at boot. Do you have a tree with your > interconnect driver that I can test? > > Venkat ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-10-28 12:00 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <TYCPR01MB11847FA80097F4B08C082DC859F9D2@TYCPR01MB11847.jpnprd01.prod.outlook.com>
2026-10-15 13:16 ` Adreno 829 (SM8845) zap shader: PAS init rejected by TZ under Gunyah Rob Clark
2026-10-15 17:40 ` Venkat Yadlapati
2026-10-21 5:08 ` Venkat Yadlapati
2026-10-23 5:08 ` James Wilson
2026-10-23 15:10 ` Venkat Yadlapati
2026-10-24 14:25 ` James Wilson
2026-10-28 12:00 ` Konrad Dybcio
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.