forked from Minki/linux
1c4b5f4919
Adopt the SPDX license identifier headers to ease license compliance management. All files in the driver are licensed under the GPLv2+ except for the vsp1_regs.h file which is licensed under the GPLv2. This is likely an oversight, but fixing this requires contacting the copyright owners and is out of scope for this patch. While at it fix the file descriptions to match file names where copy and paste error occurred. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
45 lines
1.4 KiB
C
45 lines
1.4 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* vsp1_dl.h -- R-Car VSP1 Display List
|
|
*
|
|
* Copyright (C) 2015 Renesas Corporation
|
|
*
|
|
* Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com)
|
|
*/
|
|
#ifndef __VSP1_DL_H__
|
|
#define __VSP1_DL_H__
|
|
|
|
#include <linux/types.h>
|
|
|
|
struct vsp1_device;
|
|
struct vsp1_dl_fragment;
|
|
struct vsp1_dl_list;
|
|
struct vsp1_dl_manager;
|
|
|
|
#define VSP1_DL_FRAME_END_COMPLETED BIT(0)
|
|
#define VSP1_DL_FRAME_END_INTERNAL BIT(1)
|
|
|
|
void vsp1_dlm_setup(struct vsp1_device *vsp1);
|
|
|
|
struct vsp1_dl_manager *vsp1_dlm_create(struct vsp1_device *vsp1,
|
|
unsigned int index,
|
|
unsigned int prealloc);
|
|
void vsp1_dlm_destroy(struct vsp1_dl_manager *dlm);
|
|
void vsp1_dlm_reset(struct vsp1_dl_manager *dlm);
|
|
unsigned int vsp1_dlm_irq_frame_end(struct vsp1_dl_manager *dlm);
|
|
|
|
struct vsp1_dl_list *vsp1_dl_list_get(struct vsp1_dl_manager *dlm);
|
|
void vsp1_dl_list_put(struct vsp1_dl_list *dl);
|
|
void vsp1_dl_list_write(struct vsp1_dl_list *dl, u32 reg, u32 data);
|
|
void vsp1_dl_list_commit(struct vsp1_dl_list *dl, bool internal);
|
|
|
|
struct vsp1_dl_body *vsp1_dl_fragment_alloc(struct vsp1_device *vsp1,
|
|
unsigned int num_entries);
|
|
void vsp1_dl_fragment_free(struct vsp1_dl_body *dlb);
|
|
void vsp1_dl_fragment_write(struct vsp1_dl_body *dlb, u32 reg, u32 data);
|
|
int vsp1_dl_list_add_fragment(struct vsp1_dl_list *dl,
|
|
struct vsp1_dl_body *dlb);
|
|
int vsp1_dl_list_add_chain(struct vsp1_dl_list *head, struct vsp1_dl_list *dl);
|
|
|
|
#endif /* __VSP1_DL_H__ */
|