Re: [PATCH] drm/vc4: Remove broken attempt at GPU reset using genpd.

From: Guenter Roeck
Date: Fri Jan 22 2016 - 09:32:05 EST


On Mon, Dec 21, 2015 at 06:08:44PM -0800, Eric Anholt wrote:
> I've tested and confirmed that it doesn't actually work. We'll need
> to sort out how to do this properly later, but for now just remove it
> since it also caused build breakage due to using CONFIG_PM_SLEEP
> functions without our Kconfig depending on PM_SLEEP.
>
> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>

Still broken upstream.

FWIW:

Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>

> ---
> drivers/gpu/drm/vc4/vc4_v3d.c | 17 +++++++----------
> 1 file changed, 7 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/vc4/vc4_v3d.c b/drivers/gpu/drm/vc4/vc4_v3d.c
> index 424d515..314ff71 100644
> --- a/drivers/gpu/drm/vc4/vc4_v3d.c
> +++ b/drivers/gpu/drm/vc4/vc4_v3d.c
> @@ -144,19 +144,16 @@ int vc4_v3d_debugfs_ident(struct seq_file *m, void *unused)
> }
> #endif /* CONFIG_DEBUG_FS */
>
> -/*
> - * Asks the firmware to turn on power to the V3D engine.
> - *
> - * This may be doable with just the clocks interface, though this
> - * packet does some other register setup from the firmware, too.
> - */
> int
> vc4_v3d_set_power(struct vc4_dev *vc4, bool on)
> {
> - if (on)
> - return pm_generic_poweroff(&vc4->v3d->pdev->dev);
> - else
> - return pm_generic_resume(&vc4->v3d->pdev->dev);
> + /* XXX: This interface is needed for GPU reset, and the way to
> + * do it is to turn our power domain off and back on. We
> + * can't just reset from within the driver, because the reset
> + * bits are in the power domain's register area, and get set
> + * during the poweron process.
> + */
> + return 0;
> }
>
> static void vc4_v3d_init_hw(struct drm_device *dev)
> --
> 2.6.2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
>