123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /* SPDX-License-Identifier: GPL-2.0+ */
- /*
- * Copyright (C) 2018 BayLibre, SAS
- */
- #ifndef __SOC_MESON_CANVAS_H
- #define __SOC_MESON_CANVAS_H
- #include <linux/kernel.h>
- #define MESON_CANVAS_WRAP_NONE 0x00
- #define MESON_CANVAS_WRAP_X 0x01
- #define MESON_CANVAS_WRAP_Y 0x02
- #define MESON_CANVAS_BLKMODE_LINEAR 0x00
- #define MESON_CANVAS_BLKMODE_32x32 0x01
- #define MESON_CANVAS_BLKMODE_64x64 0x02
- #define MESON_CANVAS_ENDIAN_SWAP16 0x1
- #define MESON_CANVAS_ENDIAN_SWAP32 0x3
- #define MESON_CANVAS_ENDIAN_SWAP64 0x7
- #define MESON_CANVAS_ENDIAN_SWAP128 0xf
- struct device;
- struct meson_canvas;
- /**
- * meson_canvas_get() - get a canvas provider instance
- *
- * @dev: consumer device pointer
- */
- struct meson_canvas *meson_canvas_get(struct device *dev);
- /**
- * meson_canvas_alloc() - take ownership of a canvas
- *
- * @canvas: canvas provider instance retrieved from meson_canvas_get()
- * @canvas_index: will be filled with the canvas ID
- */
- int meson_canvas_alloc(struct meson_canvas *canvas, u8 *canvas_index);
- /**
- * meson_canvas_free() - remove ownership from a canvas
- *
- * @canvas: canvas provider instance retrieved from meson_canvas_get()
- * @canvas_index: canvas ID that was obtained via meson_canvas_alloc()
- */
- int meson_canvas_free(struct meson_canvas *canvas, u8 canvas_index);
- /**
- * meson_canvas_config() - configure a canvas
- *
- * @canvas: canvas provider instance retrieved from meson_canvas_get()
- * @canvas_index: canvas ID that was obtained via meson_canvas_alloc()
- * @addr: physical address to the pixel buffer
- * @stride: width of the buffer
- * @height: height of the buffer
- * @wrap: undocumented
- * @blkmode: block mode (linear, 32x32, 64x64)
- * @endian: byte swapping (swap16, swap32, swap64, swap128)
- */
- int meson_canvas_config(struct meson_canvas *canvas, u8 canvas_index,
- u32 addr, u32 stride, u32 height,
- unsigned int wrap, unsigned int blkmode,
- unsigned int endian);
- #endif
|