• Jon Hunter's avatar
    gpu: host1x: Fix boot regression for Tegra · c8347f91
    Jon Hunter authored
    Commit 4c27ac45 ("gpu: host1x: Request syncpoint IRQs only during
    probe") caused a boot regression for the Tegra186 device. Following this
    update the function host1x_intr_init() now calls
    host1x_hw_intr_disable_all_syncpt_intrs() during probe. However,
    host1x_intr_init() is called before runtime power-management is enabled
    for Host1x and the function host1x_hw_intr_disable_all_syncpt_intrs() is
    accessing hardware registers. So if the Host1x hardware is not enabled
    prior to probing then the device will now hang on attempting to access
    the registers. So far this is only observed on Tegra186, but potentially
    could be seen on other devices.
    
    Fix this by moving the call to the function host1x_intr_init() in probe
    to after enabling the runtime power-management in the probe and update
    the failure path in probe as necessary.
    
    Fixes: 4c27ac45 ("gpu: host1x: Request syncpoint IRQs only during probe")
    Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
    Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240925160504.60221-1-jonathanh@nvidia.com
    (cherry picked from commit dc56f8428e5f34418f3243a60cec13166efe4fdb)
    Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
    c8347f91
dev.c 19.1 KB