Lines Matching refs:splane
67 static void shmob_drm_primary_plane_setup(struct shmob_drm_plane *splane, in shmob_drm_primary_plane_setup() argument
71 struct shmob_drm_device *sdev = to_shmob_device(splane->base.dev); in shmob_drm_primary_plane_setup()
88 static void shmob_drm_overlay_plane_setup(struct shmob_drm_plane *splane, in shmob_drm_overlay_plane_setup() argument
92 struct shmob_drm_device *sdev = to_shmob_device(splane->base.dev); in shmob_drm_overlay_plane_setup()
100 #define plane_reg_dump(sdev, splane, reg) \ in shmob_drm_overlay_plane_setup() argument
102 splane->index, #reg, \ in shmob_drm_overlay_plane_setup()
103 lcdc_read(sdev, reg(splane->index)), \ in shmob_drm_overlay_plane_setup()
104 lcdc_read(sdev, reg(splane->index) + LCDC_SIDE_B_OFFSET)) in shmob_drm_overlay_plane_setup()
106 plane_reg_dump(sdev, splane, LDBnBSIFR); in shmob_drm_overlay_plane_setup()
107 plane_reg_dump(sdev, splane, LDBnBSSZR); in shmob_drm_overlay_plane_setup()
108 plane_reg_dump(sdev, splane, LDBnBLOCR); in shmob_drm_overlay_plane_setup()
109 plane_reg_dump(sdev, splane, LDBnBSMWR); in shmob_drm_overlay_plane_setup()
110 plane_reg_dump(sdev, splane, LDBnBSAYR); in shmob_drm_overlay_plane_setup()
111 plane_reg_dump(sdev, splane, LDBnBSACR); in shmob_drm_overlay_plane_setup()
113 lcdc_write(sdev, LDBCR, LDBCR_UPC(splane->index)); in shmob_drm_overlay_plane_setup()
114 dev_dbg(sdev->ddev.dev, "%s(%u): %s 0x%08x\n", __func__, splane->index, in shmob_drm_overlay_plane_setup()
117 lcdc_write(sdev, LDBnBSIFR(splane->index), format); in shmob_drm_overlay_plane_setup()
119 lcdc_write(sdev, LDBnBSSZR(splane->index), in shmob_drm_overlay_plane_setup()
122 lcdc_write(sdev, LDBnBLOCR(splane->index), in shmob_drm_overlay_plane_setup()
125 lcdc_write(sdev, LDBnBSMWR(splane->index), in shmob_drm_overlay_plane_setup()
128 lcdc_write(sdev, LDBnBSAYR(splane->index), sstate->dma[0]); in shmob_drm_overlay_plane_setup()
130 lcdc_write(sdev, LDBnBSACR(splane->index), sstate->dma[1]); in shmob_drm_overlay_plane_setup()
133 LDBCR_UPF(splane->index) | LDBCR_UPD(splane->index)); in shmob_drm_overlay_plane_setup()
134 dev_dbg(sdev->ddev.dev, "%s(%u): %s 0x%08x\n", __func__, splane->index, in shmob_drm_overlay_plane_setup()
137 plane_reg_dump(sdev, splane, LDBnBSIFR); in shmob_drm_overlay_plane_setup()
138 plane_reg_dump(sdev, splane, LDBnBSSZR); in shmob_drm_overlay_plane_setup()
139 plane_reg_dump(sdev, splane, LDBnBLOCR); in shmob_drm_overlay_plane_setup()
140 plane_reg_dump(sdev, splane, LDBnBSMWR); in shmob_drm_overlay_plane_setup()
141 plane_reg_dump(sdev, splane, LDBnBSAYR); in shmob_drm_overlay_plane_setup()
142 plane_reg_dump(sdev, splane, LDBnBSACR); in shmob_drm_overlay_plane_setup()
198 struct shmob_drm_plane *splane = to_shmob_plane(plane); in shmob_drm_plane_atomic_update() local
204 shmob_drm_primary_plane_setup(splane, new_plane_state); in shmob_drm_plane_atomic_update()
206 shmob_drm_overlay_plane_setup(splane, new_plane_state); in shmob_drm_plane_atomic_update()
214 struct shmob_drm_plane *splane = to_shmob_plane(plane); in shmob_drm_plane_atomic_disable() local
222 lcdc_write(sdev, LDBCR, LDBCR_UPC(splane->index)); in shmob_drm_plane_atomic_disable()
223 lcdc_write(sdev, LDBnBSIFR(splane->index), 0); in shmob_drm_plane_atomic_disable()
225 LDBCR_UPF(splane->index) | LDBCR_UPD(splane->index)); in shmob_drm_plane_atomic_disable()
301 struct shmob_drm_plane *splane; in shmob_drm_plane_create() local
303 splane = drmm_universal_plane_alloc(&sdev->ddev, in shmob_drm_plane_create()
308 if (IS_ERR(splane)) in shmob_drm_plane_create()
309 return ERR_CAST(splane); in shmob_drm_plane_create()
311 splane->index = index; in shmob_drm_plane_create()
313 drm_plane_helper_add(&splane->base, &shmob_drm_plane_helper_funcs); in shmob_drm_plane_create()
315 return &splane->base; in shmob_drm_plane_create()