[PATCH] drm/tilcdc: Fix suspend/resume drvdata
From: Markus Schneider-Pargmann (TI)
Date: Tue Nov 03 2026 - 08:22:40 EST
drvdata contains a pointer to a struct tilcdc_drm_private and not a
pointer to a struct drm_device anymore.
Note that this breaks suspend/resume at the moment, it hangs on
acquiring a mutex.
Interpret drvdata correctly as struct tilcdc_drm_private as is done in
the rest of the driver.
Fixes: 3301302060da ("drm/tilcdc: Modernize driver initialization and cleanup paths")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Markus Schneider-Pargmann (TI) <msp@xxxxxxxxxxxx>
---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
index 1d6c9a423a41..e82cb2686c5f 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
@@ -235,7 +235,8 @@ static const struct drm_driver tilcdc_driver = {
static int tilcdc_pm_suspend(struct device *dev)
{
- struct drm_device *ddev = dev_get_drvdata(dev);
+ struct tilcdc_drm_private *priv = dev_get_drvdata(dev);
+ struct drm_device *ddev = &priv->ddev;
int ret = 0;
ret = drm_mode_config_helper_suspend(ddev);
@@ -248,7 +249,8 @@ static int tilcdc_pm_suspend(struct device *dev)
static int tilcdc_pm_resume(struct device *dev)
{
- struct drm_device *ddev = dev_get_drvdata(dev);
+ struct tilcdc_drm_private *priv = dev_get_drvdata(dev);
+ struct drm_device *ddev = &priv->ddev;
/* Select default pin state */
pinctrl_pm_select_default_state(dev);
---
base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
change-id: 20261103-v7-4-topic-am335lpm-tilcdc-310aec750b1b
Best regards,
--
Markus Schneider-Pargmann (TI) <msp@xxxxxxxxxxxx>