Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0+ */
0002 /*
0003  * Copyright (C) 2019 BayLibre, SAS
0004  * Author: Neil Armstrong <narmstrong@baylibre.com>
0005  */
0006 
0007 #ifndef __MESON_OSD_AFBCD_H
0008 #define __MESON_OSD_AFBCD_H
0009 
0010 #include "meson_drv.h"
0011 
0012 /* This is an internal address used to transfer pixel from AFBC to the VIU */
0013 #define MESON_G12A_AFBCD_OUT_ADDR   0x1000000
0014 
0015 struct meson_afbcd_ops {
0016     int (*init)(struct meson_drm *priv);
0017     void (*exit)(struct meson_drm *priv);
0018     int (*reset)(struct meson_drm *priv);
0019     int (*enable)(struct meson_drm *priv);
0020     int (*disable)(struct meson_drm *priv);
0021     int (*setup)(struct meson_drm *priv);
0022     int (*fmt_to_blk_mode)(u64 modifier, uint32_t format);
0023     bool (*supported_fmt)(u64 modifier, uint32_t format);
0024 };
0025 
0026 extern struct meson_afbcd_ops meson_afbcd_gxm_ops;
0027 extern struct meson_afbcd_ops meson_afbcd_g12a_ops;
0028 
0029 #endif /* __MESON_OSD_AFBCD_H */