Linux Audio

Check our new training course

Loading...
 1/* SPDX-License-Identifier: GPL-2.0+ */
 2/*
 3 * Copyright (C) 2019 BayLibre, SAS
 4 * Author: Neil Armstrong <narmstrong@baylibre.com>
 5 */
 6
 7#ifndef __MESON_OSD_AFBCD_H
 8#define __MESON_OSD_AFBCD_H
 9
10#include "meson_drv.h"
11
12/* This is an internal address used to transfer pixel from AFBC to the VIU */
13#define MESON_G12A_AFBCD_OUT_ADDR	0x1000000
14
15struct meson_afbcd_ops {
16	int (*init)(struct meson_drm *priv);
17	void (*exit)(struct meson_drm *priv);
18	int (*reset)(struct meson_drm *priv);
19	int (*enable)(struct meson_drm *priv);
20	int (*disable)(struct meson_drm *priv);
21	int (*setup)(struct meson_drm *priv);
22	int (*fmt_to_blk_mode)(u64 modifier, uint32_t format);
23	bool (*supported_fmt)(u64 modifier, uint32_t format);
24};
25
26extern struct meson_afbcd_ops meson_afbcd_gxm_ops;
27extern struct meson_afbcd_ops meson_afbcd_g12a_ops;
28
29#endif /* __MESON_OSD_AFBCD_H */