#include <linux/device.h>
#include <linux/gfp.h>
#include <media/v4l2-subdev.h>
#include <media/videobuf2-vmalloc.h>
#include "vsp1.h"
#include "vsp1_dl.h"
#include "vsp1_hgo.h"
#define HGO_DATA_SIZE …
static inline u32 vsp1_hgo_read(struct vsp1_hgo *hgo, u32 reg)
{ … }
static inline void vsp1_hgo_write(struct vsp1_hgo *hgo,
struct vsp1_dl_body *dlb, u32 reg, u32 data)
{ … }
void vsp1_hgo_frame_end(struct vsp1_entity *entity)
{ … }
#define V4L2_CID_VSP1_HGO_MAX_RGB …
#define V4L2_CID_VSP1_HGO_NUM_BINS …
static const struct v4l2_ctrl_config hgo_max_rgb_control = …;
static const s64 hgo_num_bins[] = …;
static const struct v4l2_ctrl_config hgo_num_bins_control = …;
static void hgo_configure_stream(struct vsp1_entity *entity,
struct v4l2_subdev_state *state,
struct vsp1_pipeline *pipe,
struct vsp1_dl_list *dl,
struct vsp1_dl_body *dlb)
{ … }
static const struct vsp1_entity_operations hgo_entity_ops = …;
static const unsigned int hgo_mbus_formats[] = …;
struct vsp1_hgo *vsp1_hgo_create(struct vsp1_device *vsp1)
{ … }