linux/include/video/mmp_disp.h

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * linux/include/video/mmp_disp.h
 * Header file for Marvell MMP Display Controller
 *
 * Copyright (C) 2012 Marvell Technology Group Ltd.
 * Authors: Zhou Zhu <[email protected]>
 */

#ifndef _MMP_DISP_H_
#define _MMP_DISP_H_
#include <linux/kthread.h>

enum {};

static inline int pixfmt_to_stride(int pix_fmt)
{}

/* parameters used by path/overlay */
/* overlay related para: win/addr */
struct mmp_win {};

struct mmp_addr {};

/* path related para: mode */
struct mmp_mode {};

/* main structures */
struct mmp_path;
struct mmp_overlay;
struct mmp_panel;

/* status types */
enum {};

static inline const char *stat_name(int stat)
{}

struct mmp_overlay_ops {};

/* overlay describes a z-order indexed slot in each path. */
struct mmp_overlay {};

/* panel type */
enum {};

struct mmp_panel {};

struct mmp_path_ops {};

/* path output types */
enum {};

/* path is main part of mmp-disp */
struct mmp_path {};

extern struct mmp_path *mmp_get_path(const char *name);
static inline void mmp_path_set_mode(struct mmp_path *path,
		struct mmp_mode *mode)
{}
static inline void mmp_path_set_onoff(struct mmp_path *path, int status)
{}
static inline int mmp_path_get_modelist(struct mmp_path *path,
		struct mmp_mode **modelist)
{}
static inline struct mmp_overlay *mmp_path_get_overlay(
		struct mmp_path *path, int overlay_id)
{}
static inline void mmp_overlay_set_fetch(struct mmp_overlay *overlay,
		int fetch_id)
{}
static inline void mmp_overlay_set_onoff(struct mmp_overlay *overlay,
		int status)
{}
static inline void mmp_overlay_set_win(struct mmp_overlay *overlay,
		struct mmp_win *win)
{}
static inline int mmp_overlay_set_addr(struct mmp_overlay *overlay,
		struct mmp_addr *addr)
{}

/*
 * driver data is set from each detailed ctrl driver for path usage
 * it defined a common interface that plat driver need to implement
 */
struct mmp_path_info {};

extern struct mmp_path *mmp_register_path(
		struct mmp_path_info *info);
extern void mmp_unregister_path(struct mmp_path *path);
extern void mmp_register_panel(struct mmp_panel *panel);
extern void mmp_unregister_panel(struct mmp_panel *panel);

/* defintions for platform data */
/* interface for buffer driver */
struct mmp_buffer_driver_mach_info {};

/* interface for controllers driver */
struct mmp_mach_path_config {};

struct mmp_mach_plat_info {};

/* interface for panel drivers */
struct mmp_mach_panel_info {};
#endif	/* _MMP_DISP_H_ */