drm: fix dts parser error [1/1]

PD#SWPL-114884

Problem:
osd_ver and osd_occupied_index undefined in
drm_subsystem node

Solution:
osd_ver and osd_occupied_index should be parsered under
vpu node

Verify:
SC2

Test:
DRM-OSD-58

Change-Id: I7bc391774e85cab996876d9737540ca6fdf5d3b3
Signed-off-by: wenlong.zhang <wenlong.zhang@amlogic.com>
This commit is contained in:
wenlong.zhang
2023-04-21 02:10:24 +00:00
committed by gerrit autosubmit
parent 506c89d3ff
commit 3cda7c8659
3 changed files with 9 additions and 5 deletions
+2 -1
View File
@@ -121,7 +121,8 @@ int meson_atomic_commit(struct drm_device *dev,
void meson_atomic_helper_commit_tail(struct drm_atomic_state *old_state);
/*meson of parse*/
void meson_of_init(struct drm_device *dev, struct meson_drm *priv);
void meson_of_init(struct device *vpu_dev, struct drm_device *dev,
struct meson_drm *priv);
/*******************************/
#ifdef CONFIG_DEBUG_FS
+6 -3
View File
@@ -97,7 +97,8 @@ static void am_meson_vpu_get_plane_crtc_mask(struct meson_drm *priv,
}
}
void meson_of_init(struct drm_device *dev, struct meson_drm *priv)
void meson_of_init(struct device *vpu_dev, struct drm_device *dev,
struct meson_drm *priv)
{
int ret;
u32 osd_occupied_index;
@@ -108,10 +109,12 @@ void meson_of_init(struct drm_device *dev, struct meson_drm *priv)
meson_parse_dma_mask(dev->dev);
ret = of_property_read_u8(dev->dev->of_node,
ret = of_property_read_u8(vpu_dev->of_node,
"osd_ver", &pipeline->osd_version);
if (ret)
DRM_ERROR("osd_ver parser failed, need fix it!!\n");
ret = of_property_read_u32(dev->dev->of_node,
ret = of_property_read_u32(vpu_dev->of_node,
"osd_occupied_index", &osd_occupied_index);
if (!ret)
priv->osd_occupied_index = osd_occupied_index;
+1 -1
View File
@@ -177,7 +177,7 @@ static int am_meson_vpu_bind(struct device *dev,
vpu_topology_populate(pipeline);
meson_vpu_block_state_init(private, private->pipeline);
meson_of_init(drm_dev, private);
meson_of_init(dev, drm_dev, private);
ret = am_meson_plane_create(private);
if (ret) {