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,