Home
last modified time | relevance | path

Searched refs:canvas (Results 1 – 18 of 18) sorted by relevance

/Linux-v5.4/drivers/soc/amlogic/
Dmeson-canvas.c41 static void canvas_write(struct meson_canvas *canvas, u32 reg, u32 val) in canvas_write() argument
43 writel_relaxed(val, canvas->reg_base + reg); in canvas_write()
46 static u32 canvas_read(struct meson_canvas *canvas, u32 reg) in canvas_read() argument
48 return readl_relaxed(canvas->reg_base + reg); in canvas_read()
55 struct meson_canvas *canvas; in meson_canvas_get() local
74 canvas = dev_get_drvdata(&canvas_pdev->dev); in meson_canvas_get()
75 if (!canvas) in meson_canvas_get()
78 return canvas; in meson_canvas_get()
82 int meson_canvas_config(struct meson_canvas *canvas, u8 canvas_index, in meson_canvas_config() argument
90 if (endian && !canvas->supports_endianness) { in meson_canvas_config()
[all …]
DMakefile2 obj-$(CONFIG_MESON_CANVAS) += meson-canvas.o
DKconfig9 Say yes to support the canvas IP for Amlogic SoCs.
/Linux-v5.4/Documentation/devicetree/bindings/soc/amlogic/
Damlogic,canvas.txt4 A canvas is a collection of metadata that describes a pixel buffer.
8 Many IPs within Amlogic SoCs rely on canvas indexes to read/write pixel data
12 Amlogic SoCs have 256 canvas.
22 - "amlogic,meson8-canvas", "amlogic,canvas" on Meson8
23 - "amlogic,meson8b-canvas", "amlogic,canvas" on Meson8b
24 - "amlogic,meson8m2-canvas", "amlogic,canvas" on Meson8m2
25 - "amlogic,canvas" on GXBB and newer
26 - reg: Base physical address and size of the canvas registers.
30 canvas: video-lut@48 {
31 compatible = "amlogic,canvas";
/Linux-v5.4/drivers/gpu/drm/meson/
Dmeson_drv.c243 priv->canvas = meson_canvas_get(dev); in meson_drv_bind_master()
244 if (IS_ERR(priv->canvas)) { in meson_drv_bind_master()
245 ret = PTR_ERR(priv->canvas); in meson_drv_bind_master()
249 ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_osd1); in meson_drv_bind_master()
252 ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_vd1_0); in meson_drv_bind_master()
254 meson_canvas_free(priv->canvas, priv->canvas_id_osd1); in meson_drv_bind_master()
257 ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_vd1_1); in meson_drv_bind_master()
259 meson_canvas_free(priv->canvas, priv->canvas_id_osd1); in meson_drv_bind_master()
260 meson_canvas_free(priv->canvas, priv->canvas_id_vd1_0); in meson_drv_bind_master()
263 ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_vd1_2); in meson_drv_bind_master()
[all …]
Dmeson_crtc.c315 meson_canvas_config(priv->canvas, priv->canvas_id_osd1, in meson_crtc_irq()
332 meson_canvas_config(priv->canvas, in meson_crtc_irq()
342 meson_canvas_config(priv->canvas, in meson_crtc_irq()
352 meson_canvas_config(priv->canvas, in meson_crtc_irq()
Dmeson_drv.h34 struct meson_canvas *canvas; member
/Linux-v5.4/include/linux/soc/amlogic/
Dmeson-canvas.h39 int meson_canvas_alloc(struct meson_canvas *canvas, u8 *canvas_index);
47 int meson_canvas_free(struct meson_canvas *canvas, u8 canvas_index);
61 int meson_canvas_config(struct meson_canvas *canvas, u8 canvas_index,
/Linux-v5.4/arch/arm/boot/dts/
Dmeson8m2.dtsi18 /* the offset of the canvas registers has changed compared to Meson8 */
21 canvas: video-lut@48 { label
22 compatible = "amlogic,meson8m2-canvas", "amlogic,canvas";
Dmeson8b.dtsi182 canvas: video-lut@48 { label
183 compatible = "amlogic,meson8b-canvas",
184 "amlogic,canvas";
Dmeson8.dtsi205 canvas: video-lut@20 { label
206 compatible = "amlogic,meson8-canvas",
207 "amlogic,canvas";
/Linux-v5.4/Documentation/devicetree/bindings/media/
Damlogic,vdec.txt39 - amlogic,canvas: should point to a canvas provider node
62 amlogic,canvas = <&canvas>;
/Linux-v5.4/drivers/staging/media/meson/vdec/
Dvdec_helpers.c62 ret = meson_canvas_alloc(sess->core->canvas, canvas_id); in canvas_alloc()
89 meson_canvas_config(core->canvas, canvas_id[0], buf_paddr[0], in set_canvas_yuv420m()
95 meson_canvas_config(core->canvas, canvas_id[1], buf_paddr[1], in set_canvas_yuv420m()
101 meson_canvas_config(core->canvas, canvas_id[2], buf_paddr[2], in set_canvas_yuv420m()
133 meson_canvas_config(core->canvas, canvas_id[0], buf_paddr[0], in set_canvas_nv12m()
139 meson_canvas_config(core->canvas, canvas_id[1], buf_paddr[1], in set_canvas_nv12m()
Dvdec.h71 struct meson_canvas *canvas; member
Dvdec.c355 meson_canvas_free(sess->core->canvas, sess->canvas_alloc[i]); in vdec_free_canvas()
1002 core->canvas = meson_canvas_get(dev); in vdec_probe()
1003 if (IS_ERR(core->canvas)) in vdec_probe()
1004 return PTR_ERR(core->canvas); in vdec_probe()
/Linux-v5.4/arch/arm64/boot/dts/amlogic/
Dmeson-gx.dtsi451 amlogic,canvas = <&canvas>;
474 canvas: video-lut@48 { label
475 compatible = "amlogic,canvas";
552 amlogic,canvas = <&canvas>;
Dmeson-g12-common.dtsi1376 canvas: video-lut@48 { label
1377 compatible = "amlogic,canvas";
2163 amlogic,canvas = <&canvas>;
/Linux-v5.4/include/
DKbuild632 header-test- += linux/soc/amlogic/meson-canvas.h