Commit 989af883 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Mauro Carvalho Chehab
Browse files

[media] v4l: vsp1: Add LUT support



The Look-Up Table looks up values in 8-bit indexed tables separately for
each color component.

Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent a626e64e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
vsp1-y					:= vsp1_drv.o vsp1_entity.o vsp1_video.o
vsp1-y					+= vsp1_rpf.o vsp1_rwpf.o vsp1_wpf.o
vsp1-y					+= vsp1_hsit.o vsp1_lif.o vsp1_sru.o
vsp1-y					+= vsp1_uds.o
vsp1-y					+= vsp1_hsit.o vsp1_lif.o vsp1_lut.o
vsp1-y					+= vsp1_sru.o vsp1_uds.o

obj-$(CONFIG_VIDEO_RENESAS_VSP1)	+= vsp1.o
+2 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ struct device;
struct vsp1_platform_data;
struct vsp1_hsit;
struct vsp1_lif;
struct vsp1_lut;
struct vsp1_rwpf;
struct vsp1_sru;
struct vsp1_uds;
@@ -52,6 +53,7 @@ struct vsp1_device {
	struct vsp1_hsit *hsi;
	struct vsp1_hsit *hst;
	struct vsp1_lif *lif;
	struct vsp1_lut *lut;
	struct vsp1_rwpf *rpf[VPS1_MAX_RPF];
	struct vsp1_sru *sru;
	struct vsp1_uds *uds[VPS1_MAX_UDS];
+11 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@
#include "vsp1.h"
#include "vsp1_hsit.h"
#include "vsp1_lif.h"
#include "vsp1_lut.h"
#include "vsp1_rwpf.h"
#include "vsp1_sru.h"
#include "vsp1_uds.h"
@@ -180,6 +181,16 @@ static int vsp1_create_entities(struct vsp1_device *vsp1)
		list_add_tail(&vsp1->lif->entity.list_dev, &vsp1->entities);
	}

	if (vsp1->pdata->features & VSP1_HAS_LUT) {
		vsp1->lut = vsp1_lut_create(vsp1);
		if (IS_ERR(vsp1->lut)) {
			ret = PTR_ERR(vsp1->lut);
			goto done;
		}

		list_add_tail(&vsp1->lut->entity.list_dev, &vsp1->entities);
	}

	for (i = 0; i < vsp1->pdata->rpf_count; ++i) {
		struct vsp1_rwpf *rpf;

+1 −0
Original line number Diff line number Diff line
@@ -126,6 +126,7 @@ int vsp1_entity_init(struct vsp1_device *vsp1, struct vsp1_entity *entity,
		{ VI6_DPR_NODE_HSI, VI6_DPR_HSI_ROUTE },
		{ VI6_DPR_NODE_HST, VI6_DPR_HST_ROUTE },
		{ VI6_DPR_NODE_LIF, 0 },
		{ VI6_DPR_NODE_LUT, VI6_DPR_LUT_ROUTE },
		{ VI6_DPR_NODE_RPF(0), VI6_DPR_RPF_ROUTE(0) },
		{ VI6_DPR_NODE_RPF(1), VI6_DPR_RPF_ROUTE(1) },
		{ VI6_DPR_NODE_RPF(2), VI6_DPR_RPF_ROUTE(2) },
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ enum vsp1_entity_type {
	VSP1_ENTITY_HSI,
	VSP1_ENTITY_HST,
	VSP1_ENTITY_LIF,
	VSP1_ENTITY_LUT,
	VSP1_ENTITY_RPF,
	VSP1_ENTITY_SRU,
	VSP1_ENTITY_UDS,
Loading