On Friday 17 July 2015 18:38:59, Jianwei Wang wrote:
[...] +static const struct regmap_config fsl_dcu_regmap_config = {
- .reg_bits = 32,
- .reg_stride = 4,
- .val_bits = 32,
+};
This defaults to REGCACHE_NONE which in the end sets regmap.cache_only = true.
[...] +#ifdef CONFIG_PM_SLEEP +static int fsl_dcu_drm_pm_suspend(struct device *dev) +{
- struct fsl_dcu_drm_device *fsl_dev = dev_get_drvdata(dev);
- if (!fsl_dev)
return 0;
- drm_kms_helper_poll_disable(fsl_dev->drm);
- regcache_cache_only(fsl_dev->regmap, true);
This should raise a warning (see http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/...) as map->cache_bypass is set because of REGCACHE_NONE. I think you set the cache_type to REGCACHE_FLAT, but neither _LZO or _RBTREE (see https://lkml.org/lkml/2015/7/16/552 for that)
Best regards, Alexander