Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1418528 > unrolled thread

[PATCH RFC 0/2] v4l: platform: Add Renesas R-Car FDP1 Driver

Started byKieran Bingham <kieran@ksquared.org.uk>
First post2016-06-09 19:40 +0200
Last post2016-06-10 14:40 +0200
Articles 2 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH RFC 0/2] v4l: platform: Add Renesas R-Car FDP1 Driver Kieran Bingham <kieran@ksquared.org.uk> - 2016-06-09 19:40 +0200
    Re: [PATCH RFC 1/2] v4l: platform: Add Renesas R-Car FDP1 Driver Kieran Bingham <kieran@ksquared.org.uk> - 2016-06-10 14:40 +0200

#1418528 — [PATCH RFC 0/2] v4l: platform: Add Renesas R-Car FDP1 Driver

FromKieran Bingham <kieran@ksquared.org.uk>
Date2016-06-09 19:40 +0200
Subject[PATCH RFC 0/2] v4l: platform: Add Renesas R-Car FDP1 Driver
Message-ID<rIc5X-13V-13@gated-at.bofh.it>
This early version of the driver, is submitted for review, and functions only
as a pixel format converter.

The FDP1, (Fine Display Processor) is a de-interlacer device, with capability
to convert from various YCbCr/YUV formats to both YCbCr/YUV and RGB formats
at the same time as converting interlaced content to progressive.

It can also function with progressive frames on input, and still act as a
pixel converter which is the current state of the driver.

The next phase of work will be to implement the de-interlacing fucntionality
on top of this code base, however as it is now a functional driver this seemed
like an apt point to start the review process.

Kieran Bingham (2):
  v4l: platform: Add Renesas R-Car FDP1 Driver
  MAINTAINERS: Add support for FDP driver

 MAINTAINERS                        |    9 +
 drivers/media/platform/Kconfig     |   13 +
 drivers/media/platform/Makefile    |    1 +
 drivers/media/platform/rcar_fdp1.c | 2038 ++++++++++++++++++++++++++++++++++++
 4 files changed, 2061 insertions(+)
 create mode 100644 drivers/media/platform/rcar_fdp1.c

-- 
2.7.4

[toc] | [next] | [standalone]


#1419344 — Re: [PATCH RFC 1/2] v4l: platform: Add Renesas R-Car FDP1 Driver

FromKieran Bingham <kieran@ksquared.org.uk>
Date2016-06-10 14:40 +0200
SubjectRe: [PATCH RFC 1/2] v4l: platform: Add Renesas R-Car FDP1 Driver
Message-ID<rItTb-4zv-25@gated-at.bofh.it>
In reply to#1418528
Today I learned about make C=1

So ... reviewing my own patch, consider the following sparse warnings
'fixed up'

I'll run make C=1 before any future submissions from now on.


On 09/06/16 18:37, Kieran Bingham wrote:
> The FDP1 driver performs advanced de-interlacing on a memory 2 memory
> based video stream, and supports conversion from YCbCr/YUV
> to RGB pixel formats
> 
> Signed-off-by: Kieran Bingham <kieran@bingham.xyz>
> ---
>  drivers/media/platform/Kconfig     |   13 +
>  drivers/media/platform/Makefile    |    1 +
>  drivers/media/platform/rcar_fdp1.c | 2038 ++++++++++++++++++++++++++++++++++++
>  3 files changed, 2052 insertions(+)
>  create mode 100644 drivers/media/platform/rcar_fdp1.c

...

> +/* FDP1 Lookup tables range from 0...255 only */
> +unsigned char fdp1_diff_adj[256] = {
sparse: warning: symbol '...' was not declared. Should it be static?
+ static unsigned...

> +	0x00, 0x24, 0x43, 0x5E, 0x76, 0x8C, 0x9E, 0xAF,
...
> +	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
> +};
> +
> +unsigned char fdp1_sad_adj[256] = {
likewise

> +	0x00, 0x24, 0x43, 0x5E, 0x76, 0x8C, 0x9E, 0xAF,
...
> +	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
> +};
> +
> +unsigned char fdp1_bld_gain[256] = {
and again ...
> +	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
...
> +	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80
> +};
> +
> +unsigned char fdp1_dif_gain[256] = {
> +	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
...
> +	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80
> +};
> +
> +unsigned char fdp1_mdet[256] = {
and finally for the lut...
> +	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
...
> +	0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
> +};
> +
...

> +static void fdp1_write(struct fdp1_dev *fdp1, u32 val, unsigned int reg)
> +{
> +	if (debug >= 2)
> +		dprintk(fdp1, "Write to %p\n", fdp1->regs + reg);
> +
> +	iowrite32(val, fdp1->regs + reg);
> +}
> +
> +
> +void fdp1_print_regs32(struct fdp1_dev *fdp1)
Another +static

...

> +static struct fdp1_plane_addrs vb2_dc_to_pa(struct vb2_v4l2_buffer *buf,
> +		unsigned int planes)
> +{
> +	struct fdp1_plane_addrs pa = { 0 };

sparse: warning: missing braces around initializer
+ struct fdp1_plane_addrs pa = { { 0 } };

-- 
Regards

Kieran Bingham

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web