drm/fsl-dcu: implement lastclose callback
Use CMA helper drm_fbdev_cma_restore_mode to restore fbdev mode in process which uses drm/kms dies. Signed-off-by: Stefan Agner <stefan@agner.ch>
This commit is contained in:
@@ -168,6 +168,13 @@ static void fsl_dcu_drm_disable_vblank(struct drm_device *dev,
|
|||||||
regmap_write(fsl_dev->regmap, DCU_INT_MASK, value);
|
regmap_write(fsl_dev->regmap, DCU_INT_MASK, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void fsl_dcu_drm_lastclose(struct drm_device *dev)
|
||||||
|
{
|
||||||
|
struct fsl_dcu_drm_device *fsl_dev = dev->dev_private;
|
||||||
|
|
||||||
|
drm_fbdev_cma_restore_mode(fsl_dev->fbdev);
|
||||||
|
}
|
||||||
|
|
||||||
static const struct file_operations fsl_dcu_drm_fops = {
|
static const struct file_operations fsl_dcu_drm_fops = {
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
.open = drm_open,
|
.open = drm_open,
|
||||||
@@ -185,6 +192,7 @@ static const struct file_operations fsl_dcu_drm_fops = {
|
|||||||
static struct drm_driver fsl_dcu_drm_driver = {
|
static struct drm_driver fsl_dcu_drm_driver = {
|
||||||
.driver_features = DRIVER_HAVE_IRQ | DRIVER_GEM | DRIVER_MODESET
|
.driver_features = DRIVER_HAVE_IRQ | DRIVER_GEM | DRIVER_MODESET
|
||||||
| DRIVER_PRIME | DRIVER_ATOMIC,
|
| DRIVER_PRIME | DRIVER_ATOMIC,
|
||||||
|
.lastclose = fsl_dcu_drm_lastclose,
|
||||||
.load = fsl_dcu_load,
|
.load = fsl_dcu_load,
|
||||||
.unload = fsl_dcu_unload,
|
.unload = fsl_dcu_unload,
|
||||||
.irq_handler = fsl_dcu_drm_irq,
|
.irq_handler = fsl_dcu_drm_irq,
|
||||||
|
|||||||
Reference in New Issue
Block a user