{
struct am_osd_plane *osd_plane;
struct drm_plane *plane;
- u32 type = 0;
+ u32 type = 0, zpos;
char plane_name[8];
const u64 *format_modifiers = afbc_wb_modifier;
osd_plane->drv = priv;
osd_plane->plane_index = i;
+ zpos = osd_plane->plane_index;
+
plane = &osd_plane->base;
sprintf(plane_name, "osd%d", i);
type, plane_name);
drm_plane_create_premult_en_property(plane);
+ drm_plane_create_zpos_property(plane, zpos,
+ MESON_PLANE_BEGIN_ZORDER,
+ MESON_PLANE_END_ZORDER);
drm_plane_helper_add(plane, &am_osd_helper_funcs);
osd_drm_debugfs_add(&osd_plane->plane_debugfs_dir,
plane_name, osd_plane->plane_index);
#include "osd_drm.h"
#include "meson_fb.h"
+#define MESON_PLANE_BEGIN_ZORDER 1
+#define MESON_PLANE_END_ZORDER 65
+
struct am_meson_plane_state {
struct drm_plane_state base;
u32 premult_en;