diff --git a/drivers/drm/meson_debugfs.c b/drivers/drm/meson_debugfs.c index 424a15dc5..2d1809041 100644 --- a/drivers/drm/meson_debugfs.c +++ b/drivers/drm/meson_debugfs.c @@ -114,7 +114,7 @@ static int osd_fbdump_open(struct inode *inode, struct file *filp) pipeline = priv->pipeline; mvps = priv_to_pipeline_state(pipeline->obj.state); - index = plane->index; + index = amp->plane_index; info = &mvps->plane_info[index]; if (!info->enable) { @@ -129,6 +129,7 @@ static int osd_fbdump_open(struct inode *inode, struct file *filp) amp->bflg = bflg; amp->vir_addr = vir_addr; amp->dump_size = fb_size; + DRM_INFO("%s, %px, %u\n", __func__, vir_addr, fb_size); return 0; } diff --git a/drivers/drm/meson_sysfs.c b/drivers/drm/meson_sysfs.c index e73482416..755cf4fc2 100644 --- a/drivers/drm/meson_sysfs.c +++ b/drivers/drm/meson_sysfs.c @@ -1425,10 +1425,16 @@ int meson_drm_sysfs_register(struct drm_device *drm_dev) rc = sysfs_create_bin_file(&dev->kobj, &state_attr); rc = sysfs_create_bin_file(&dev->kobj, ®_dump_attr); - for (i = 0; i < priv->pipeline->num_osds; i++) + for (i = 0; i < MESON_MAX_OSDS; i++) { + if (!priv->pipeline->osds[i]) + continue; rc = sysfs_create_group(&dev->kobj, &osd_attr_group[i]); - for (i = 0; i < priv->pipeline->num_postblend; i++) + } + for (i = 0; i < MESON_MAX_POSTBLEND; i++) { + if (!priv->pipeline->postblends[i]) + continue; rc = sysfs_create_group(&dev->kobj, &crtc_attr_group[i]); + } return rc; } @@ -1443,9 +1449,15 @@ void meson_drm_sysfs_unregister(struct drm_device *drm_dev) sysfs_remove_bin_file(&dev->kobj, &state_attr); sysfs_remove_bin_file(&dev->kobj, ®_dump_attr); - for (i = 0; i < priv->pipeline->num_osds; i++) + for (i = 0; i < MESON_MAX_OSDS; i++) { + if (!priv->pipeline->osds[i]) + continue; sysfs_remove_group(&dev->kobj, &osd_attr_group[i]); - for (i = 0; i < priv->pipeline->num_postblend; i++) + } + for (i = 0; i < MESON_MAX_POSTBLEND; i++) { + if (!priv->pipeline->postblends[i]) + continue; sysfs_remove_group(&dev->kobj, &crtc_attr_group[i]); + } } diff --git a/include/dt-bindings/display/meson-drm-ids.h b/include/dt-bindings/display/meson-drm-ids.h index b89aa7603..c3c7d1e31 100644 --- a/include/dt-bindings/display/meson-drm-ids.h +++ b/include/dt-bindings/display/meson-drm-ids.h @@ -39,7 +39,7 @@ #define VPP2_BLOCK 21 #define HDR3_BLOCK 22 #define SLICE2PPC_BLOCK 23 -#define BLOCK_ID_MAX 29 +#define BLOCK_ID_MAX 32 #define OSD1_PORT 0 #define OSD2_PORT 1