canvas            315 drivers/gpu/drm/meson/meson_crtc.c 		meson_canvas_config(priv->canvas, priv->canvas_id_osd1,
canvas            332 drivers/gpu/drm/meson/meson_crtc.c 			meson_canvas_config(priv->canvas,
canvas            342 drivers/gpu/drm/meson/meson_crtc.c 			meson_canvas_config(priv->canvas,
canvas            352 drivers/gpu/drm/meson/meson_crtc.c 			meson_canvas_config(priv->canvas,
canvas            243 drivers/gpu/drm/meson/meson_drv.c 	priv->canvas = meson_canvas_get(dev);
canvas            244 drivers/gpu/drm/meson/meson_drv.c 	if (IS_ERR(priv->canvas)) {
canvas            245 drivers/gpu/drm/meson/meson_drv.c 		ret = PTR_ERR(priv->canvas);
canvas            249 drivers/gpu/drm/meson/meson_drv.c 	ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_osd1);
canvas            252 drivers/gpu/drm/meson/meson_drv.c 	ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_vd1_0);
canvas            254 drivers/gpu/drm/meson/meson_drv.c 		meson_canvas_free(priv->canvas, priv->canvas_id_osd1);
canvas            257 drivers/gpu/drm/meson/meson_drv.c 	ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_vd1_1);
canvas            259 drivers/gpu/drm/meson/meson_drv.c 		meson_canvas_free(priv->canvas, priv->canvas_id_osd1);
canvas            260 drivers/gpu/drm/meson/meson_drv.c 		meson_canvas_free(priv->canvas, priv->canvas_id_vd1_0);
canvas            263 drivers/gpu/drm/meson/meson_drv.c 	ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_vd1_2);
canvas            265 drivers/gpu/drm/meson/meson_drv.c 		meson_canvas_free(priv->canvas, priv->canvas_id_osd1);
canvas            266 drivers/gpu/drm/meson/meson_drv.c 		meson_canvas_free(priv->canvas, priv->canvas_id_vd1_0);
canvas            267 drivers/gpu/drm/meson/meson_drv.c 		meson_canvas_free(priv->canvas, priv->canvas_id_vd1_1);
canvas            355 drivers/gpu/drm/meson/meson_drv.c 	if (priv->canvas) {
canvas            356 drivers/gpu/drm/meson/meson_drv.c 		meson_canvas_free(priv->canvas, priv->canvas_id_osd1);
canvas            357 drivers/gpu/drm/meson/meson_drv.c 		meson_canvas_free(priv->canvas, priv->canvas_id_vd1_0);
canvas            358 drivers/gpu/drm/meson/meson_drv.c 		meson_canvas_free(priv->canvas, priv->canvas_id_vd1_1);
canvas            359 drivers/gpu/drm/meson/meson_drv.c 		meson_canvas_free(priv->canvas, priv->canvas_id_vd1_2);
canvas             34 drivers/gpu/drm/meson/meson_drv.h 	struct meson_canvas *canvas;
canvas             41 drivers/soc/amlogic/meson-canvas.c static void canvas_write(struct meson_canvas *canvas, u32 reg, u32 val)
canvas             43 drivers/soc/amlogic/meson-canvas.c 	writel_relaxed(val, canvas->reg_base + reg);
canvas             46 drivers/soc/amlogic/meson-canvas.c static u32 canvas_read(struct meson_canvas *canvas, u32 reg)
canvas             48 drivers/soc/amlogic/meson-canvas.c 	return readl_relaxed(canvas->reg_base + reg);
canvas             55 drivers/soc/amlogic/meson-canvas.c 	struct meson_canvas *canvas;
canvas             74 drivers/soc/amlogic/meson-canvas.c 	canvas = dev_get_drvdata(&canvas_pdev->dev);
canvas             75 drivers/soc/amlogic/meson-canvas.c 	if (!canvas)
canvas             78 drivers/soc/amlogic/meson-canvas.c 	return canvas;
canvas             82 drivers/soc/amlogic/meson-canvas.c int meson_canvas_config(struct meson_canvas *canvas, u8 canvas_index,
canvas             90 drivers/soc/amlogic/meson-canvas.c 	if (endian && !canvas->supports_endianness) {
canvas             91 drivers/soc/amlogic/meson-canvas.c 		dev_err(canvas->dev,
canvas             96 drivers/soc/amlogic/meson-canvas.c 	spin_lock_irqsave(&canvas->lock, flags);
canvas             97 drivers/soc/amlogic/meson-canvas.c 	if (!canvas->used[canvas_index]) {
canvas             98 drivers/soc/amlogic/meson-canvas.c 		dev_err(canvas->dev,
canvas            101 drivers/soc/amlogic/meson-canvas.c 		spin_unlock_irqrestore(&canvas->lock, flags);
canvas            105 drivers/soc/amlogic/meson-canvas.c 	canvas_write(canvas, DMC_CAV_LUT_DATAL,
canvas            109 drivers/soc/amlogic/meson-canvas.c 	canvas_write(canvas, DMC_CAV_LUT_DATAH,
canvas            117 drivers/soc/amlogic/meson-canvas.c 	canvas_write(canvas, DMC_CAV_LUT_ADDR,
canvas            121 drivers/soc/amlogic/meson-canvas.c 	canvas_read(canvas, DMC_CAV_LUT_DATAH);
canvas            122 drivers/soc/amlogic/meson-canvas.c 	spin_unlock_irqrestore(&canvas->lock, flags);
canvas            128 drivers/soc/amlogic/meson-canvas.c int meson_canvas_alloc(struct meson_canvas *canvas, u8 *canvas_index)
canvas            133 drivers/soc/amlogic/meson-canvas.c 	spin_lock_irqsave(&canvas->lock, flags);
canvas            135 drivers/soc/amlogic/meson-canvas.c 		if (!canvas->used[i]) {
canvas            136 drivers/soc/amlogic/meson-canvas.c 			canvas->used[i] = 1;
canvas            137 drivers/soc/amlogic/meson-canvas.c 			spin_unlock_irqrestore(&canvas->lock, flags);
canvas            142 drivers/soc/amlogic/meson-canvas.c 	spin_unlock_irqrestore(&canvas->lock, flags);
canvas            144 drivers/soc/amlogic/meson-canvas.c 	dev_err(canvas->dev, "No more canvas available\n");
canvas            149 drivers/soc/amlogic/meson-canvas.c int meson_canvas_free(struct meson_canvas *canvas, u8 canvas_index)
canvas            153 drivers/soc/amlogic/meson-canvas.c 	spin_lock_irqsave(&canvas->lock, flags);
canvas            154 drivers/soc/amlogic/meson-canvas.c 	if (!canvas->used[canvas_index]) {
canvas            155 drivers/soc/amlogic/meson-canvas.c 		dev_err(canvas->dev,
canvas            157 drivers/soc/amlogic/meson-canvas.c 		spin_unlock_irqrestore(&canvas->lock, flags);
canvas            160 drivers/soc/amlogic/meson-canvas.c 	canvas->used[canvas_index] = 0;
canvas            161 drivers/soc/amlogic/meson-canvas.c 	spin_unlock_irqrestore(&canvas->lock, flags);
canvas            170 drivers/soc/amlogic/meson-canvas.c 	struct meson_canvas *canvas;
canvas            173 drivers/soc/amlogic/meson-canvas.c 	canvas = devm_kzalloc(dev, sizeof(*canvas), GFP_KERNEL);
canvas            174 drivers/soc/amlogic/meson-canvas.c 	if (!canvas)
canvas            178 drivers/soc/amlogic/meson-canvas.c 	canvas->reg_base = devm_ioremap_resource(dev, res);
canvas            179 drivers/soc/amlogic/meson-canvas.c 	if (IS_ERR(canvas->reg_base))
canvas            180 drivers/soc/amlogic/meson-canvas.c 		return PTR_ERR(canvas->reg_base);
canvas            182 drivers/soc/amlogic/meson-canvas.c 	canvas->supports_endianness = of_device_get_match_data(dev);
canvas            184 drivers/soc/amlogic/meson-canvas.c 	canvas->dev = dev;
canvas            185 drivers/soc/amlogic/meson-canvas.c 	spin_lock_init(&canvas->lock);
canvas            186 drivers/soc/amlogic/meson-canvas.c 	dev_set_drvdata(dev, canvas);
canvas            357 drivers/staging/media/meson/vdec/vdec.c 		meson_canvas_free(sess->core->canvas, sess->canvas_alloc[i]);
canvas           1004 drivers/staging/media/meson/vdec/vdec.c 	core->canvas = meson_canvas_get(dev);
canvas           1005 drivers/staging/media/meson/vdec/vdec.c 	if (IS_ERR(core->canvas))
canvas           1006 drivers/staging/media/meson/vdec/vdec.c 		return PTR_ERR(core->canvas);
canvas             71 drivers/staging/media/meson/vdec/vdec.h 	struct meson_canvas *canvas;
canvas             62 drivers/staging/media/meson/vdec/vdec_helpers.c 	ret = meson_canvas_alloc(sess->core->canvas, canvas_id);
canvas             89 drivers/staging/media/meson/vdec/vdec_helpers.c 	meson_canvas_config(core->canvas, canvas_id[0], buf_paddr[0],
canvas             95 drivers/staging/media/meson/vdec/vdec_helpers.c 	meson_canvas_config(core->canvas, canvas_id[1], buf_paddr[1],
canvas            101 drivers/staging/media/meson/vdec/vdec_helpers.c 	meson_canvas_config(core->canvas, canvas_id[2], buf_paddr[2],
canvas            133 drivers/staging/media/meson/vdec/vdec_helpers.c 	meson_canvas_config(core->canvas, canvas_id[0], buf_paddr[0],
canvas            139 drivers/staging/media/meson/vdec/vdec_helpers.c 	meson_canvas_config(core->canvas, canvas_id[1], buf_paddr[1],
canvas             39 include/linux/soc/amlogic/meson-canvas.h int meson_canvas_alloc(struct meson_canvas *canvas, u8 *canvas_index);
canvas             47 include/linux/soc/amlogic/meson-canvas.h int meson_canvas_free(struct meson_canvas *canvas, u8 canvas_index);
canvas             61 include/linux/soc/amlogic/meson-canvas.h int meson_canvas_config(struct meson_canvas *canvas, u8 canvas_index,