On 9/26/26 8:17 AM, Sam Day via B4 Relay wrote: > From: Sam Day <[email protected]> > > A306 and A306A implement only three VBIF XIN halt request bits. > Consequently, waiting for the full 6-bit A3xx mask times out and > prevents runtime suspend. > > This issue was reproduced on a DragonBoard 410c: the request reads back > as 0x7 and the acknowledgment as 0x00070007 - the poll eventually > returns -ETIMEDOUT, and a3xx_pm_suspend fails with -EBUSY. > > The downstream kgsl driver corroborates this (see link). Since the > single-character difference between A3XX_VBIF_XIN_HALT_CTRL0_MASK and > A30X_VBIF_XIN_HALT_CTRL0_MASK could be confusing to read, the narrowed > GENMASK is instead defined inline in a3xx_vbif_halt(). > > Fixes: be0e82b8e0c9 ("drm/msm/a3xx: Drain VBIF before GPU suspend") > Link: > https://android.googlesource.com/kernel/msm/+/c90c7feeca2f5839ad6824f816c0bd207602a2f4/drivers/gpu/msm/adreno_a3xx.c#637 > Assisted-by: LLM > Signed-off-by: Sam Day <[email protected]> > ---
Reviewed-by: Konrad Dybcio <[email protected]> Konrad
