Merge remote-tracking branch 'h8300/h8300-next'
[deliverable/linux.git] / drivers / media / platform / vsp1 / vsp1_dl.h
CommitLineData
1517b039
TS
1/*
2 * vsp1_dl.h -- R-Car VSP1 Display List
3 *
4 * Copyright (C) 2015 Renesas Corporation
5 *
6 * Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com)
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 */
13#ifndef __VSP1_DL_H__
14#define __VSP1_DL_H__
15
aa380ea0 16#include <linux/types.h>
1517b039
TS
17
18struct vsp1_device;
f81e83c4 19struct vsp1_dl_fragment;
c2dd2513 20struct vsp1_dl_list;
ef9621bc 21struct vsp1_dl_manager;
1517b039 22
c2dd2513 23void vsp1_dlm_setup(struct vsp1_device *vsp1);
1517b039 24
ef9621bc 25struct vsp1_dl_manager *vsp1_dlm_create(struct vsp1_device *vsp1,
12161989 26 unsigned int index,
ef9621bc
LP
27 unsigned int prealloc);
28void vsp1_dlm_destroy(struct vsp1_dl_manager *dlm);
c2dd2513
LP
29void vsp1_dlm_reset(struct vsp1_dl_manager *dlm);
30void vsp1_dlm_irq_display_start(struct vsp1_dl_manager *dlm);
31void vsp1_dlm_irq_frame_end(struct vsp1_dl_manager *dlm);
1517b039 32
c2dd2513
LP
33struct vsp1_dl_list *vsp1_dl_list_get(struct vsp1_dl_manager *dlm);
34void vsp1_dl_list_put(struct vsp1_dl_list *dl);
35void vsp1_dl_list_write(struct vsp1_dl_list *dl, u32 reg, u32 data);
36void vsp1_dl_list_commit(struct vsp1_dl_list *dl);
1517b039 37
f81e83c4
LP
38struct vsp1_dl_body *vsp1_dl_fragment_alloc(struct vsp1_device *vsp1,
39 unsigned int num_entries);
40void vsp1_dl_fragment_free(struct vsp1_dl_body *dlb);
41void vsp1_dl_fragment_write(struct vsp1_dl_body *dlb, u32 reg, u32 data);
42int vsp1_dl_list_add_fragment(struct vsp1_dl_list *dl,
43 struct vsp1_dl_body *dlb);
44
1517b039 45#endif /* __VSP1_DL_H__ */
This page took 0.06165 seconds and 5 git commands to generate.