From: Benoit Parrot <bparrot@ti.com>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Prabhakar Lad <prabhakar.csengg@gmail.com>,
<linux-media@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-kernel@vger.kernel.org>
Subject: Re: [Patch 12/13] media: am437x-vpfe: Remove per bus width static data
Date: Fri, 13 Sep 2019 08:34:28 -0500 [thread overview]
Message-ID: <20190913133428.kavc3dewxhqhmwyj@ti.com> (raw)
In-Reply-To: <add3cb62-1391-f8e3-15f3-f1345e18da47@xs4all.nl>
Hans Verkuil <hverkuil@xs4all.nl> wrote on Fri [2019-Sep-13 15:19:52 +0200]:
> On 9/9/19 6:27 PM, Benoit Parrot wrote:
> > The bus related static data include in the vpfe_fmt
> > static table can be derived dynamically instead.
> > This simplify the table and it's use.
>
> simplify -> simplifies
> it's -> its
>
> >
> > We instead replace the per bus data info with just
> > the usual bit per pixel value for each supported
>
> bit -> bits
I'll fix all of those, thanks...
It's a shame vi ":set spell" does not help trying to figure out what we
meant to say :)
>
> > pixel format.
> >
> > Signed-off-by: Benoit Parrot <bparrot@ti.com>
> > ---
> > drivers/media/platform/am437x/am437x-vpfe.c | 56 ++++++---------------
> > drivers/media/platform/am437x/am437x-vpfe.h | 16 +-----
> > 2 files changed, 16 insertions(+), 56 deletions(-)
> >
> > diff --git a/drivers/media/platform/am437x/am437x-vpfe.c b/drivers/media/platform/am437x/am437x-vpfe.c
> > index 9759ed398943..9855d4cb1d13 100644
> > --- a/drivers/media/platform/am437x/am437x-vpfe.c
> > +++ b/drivers/media/platform/am437x/am437x-vpfe.c
> > @@ -73,73 +73,43 @@ static struct vpfe_fmt formats[] = {
> > {
> > .fourcc = V4L2_PIX_FMT_YUYV,
> > .code = MEDIA_BUS_FMT_YUYV8_2X8,
> > - .l.width = 10,
> > - .l.bpp = 4,
> > - .s.width = 8,
> > - .s.bpp = 2,
> > + .bitsperpixel = 16,
> > }, {
> > .fourcc = V4L2_PIX_FMT_UYVY,
> > .code = MEDIA_BUS_FMT_UYVY8_2X8,
> > - .l.width = 10,
> > - .l.bpp = 4,
> > - .s.width = 8,
> > - .s.bpp = 2,
> > + .bitsperpixel = 16,
> > }, {
> > .fourcc = V4L2_PIX_FMT_YVYU,
> > .code = MEDIA_BUS_FMT_YVYU8_2X8,
> > - .l.width = 10,
> > - .l.bpp = 4,
> > - .s.width = 8,
> > - .s.bpp = 2,
> > + .bitsperpixel = 16,
> > }, {
> > .fourcc = V4L2_PIX_FMT_VYUY,
> > .code = MEDIA_BUS_FMT_VYUY8_2X8,
> > - .l.width = 10,
> > - .l.bpp = 4,
> > - .s.width = 8,
> > - .s.bpp = 2,
> > + .bitsperpixel = 16,
> > }, {
> > .fourcc = V4L2_PIX_FMT_SBGGR8,
> > .code = MEDIA_BUS_FMT_SBGGR8_1X8,
> > - .l.width = 10,
> > - .l.bpp = 2,
> > - .s.width = 8,
> > - .s.bpp = 1,
> > + .bitsperpixel = 8,
> > }, {
> > .fourcc = V4L2_PIX_FMT_SGBRG8,
> > .code = MEDIA_BUS_FMT_SGBRG8_1X8,
> > - .l.width = 10,
> > - .l.bpp = 2,
> > - .s.width = 8,
> > - .s.bpp = 1,
> > + .bitsperpixel = 8,
> > }, {
> > .fourcc = V4L2_PIX_FMT_SGRBG8,
> > .code = MEDIA_BUS_FMT_SGRBG8_1X8,
> > - .l.width = 10,
> > - .l.bpp = 2,
> > - .s.width = 8,
> > - .s.bpp = 1,
> > + .bitsperpixel = 8,
> > }, {
> > .fourcc = V4L2_PIX_FMT_SRGGB8,
> > .code = MEDIA_BUS_FMT_SRGGB8_1X8,
> > - .l.width = 10,
> > - .l.bpp = 2,
> > - .s.width = 8,
> > - .s.bpp = 1,
> > + .bitsperpixel = 8,
> > }, {
> > .fourcc = V4L2_PIX_FMT_RGB565,
> > .code = MEDIA_BUS_FMT_RGB565_2X8_LE,
> > - .l.width = 10,
> > - .l.bpp = 4,
> > - .s.width = 8,
> > - .s.bpp = 2,
> > + .bitsperpixel = 16,
> > }, {
> > .fourcc = V4L2_PIX_FMT_RGB565X,
> > .code = MEDIA_BUS_FMT_RGB565_2X8_BE,
> > - .l.width = 10,
> > - .l.bpp = 4,
> > - .s.width = 8,
> > - .s.bpp = 2,
> > + .bitsperpixel = 16,
> > },
> > };
> >
> > @@ -184,9 +154,11 @@ static unsigned int __get_bytesperpixel(struct vpfe_device *vpfe,
> > {
> > struct vpfe_subdev_info *sdinfo = vpfe->current_subdev;
> > unsigned int bus_width = sdinfo->vpfe_param.bus_width;
> > - u32 bpp;
> > + u32 bpp, bus_width_bytes, clocksperpixel;
> >
> > - bpp = (bus_width == 10) ? fmt->l.bpp : fmt->s.bpp;
> > + bus_width_bytes = ALIGN(bus_width, 8) >> 3;
> > + clocksperpixel = DIV_ROUND_UP(fmt->bitsperpixel, bus_width);
> > + bpp = clocksperpixel * bus_width_bytes;
> >
> > return bpp;
> > }
> > diff --git a/drivers/media/platform/am437x/am437x-vpfe.h b/drivers/media/platform/am437x/am437x-vpfe.h
> > index 0d10d2b4d7a2..2c9e89395bea 100644
> > --- a/drivers/media/platform/am437x/am437x-vpfe.h
> > +++ b/drivers/media/platform/am437x/am437x-vpfe.h
> > @@ -215,28 +215,16 @@ struct vpfe_ccdc {
> > u32 ccdc_ctx[VPFE_REG_END / sizeof(u32)];
> > };
> >
> > -/*
> > - * struct bus_format - VPFE bus format information
> > - * @width: Bits per pixel (when transferred over a bus)
> > - * @bpp: Bytes per pixel (when stored in memory)
> > - */
> > -struct bus_format {
> > - unsigned int width;
> > - unsigned int bpp;
> > -};
> > -
> > /*
> > * struct vpfe_fmt - VPFE media bus format information
> > * @fourcc: V4L2 pixel format code
> > * @code: V4L2 media bus format code
> > - * @l: 10 bit bus format info
> > - * @s: 8 bit bus format info
> > + * @bitsperpixel: Bits per pixel over the bus
> > */
> > struct vpfe_fmt {
> > u32 fourcc;
> > u32 code;
> > - struct bus_format l;
> > - struct bus_format s;
> > + u32 bitsperpixel;
> > };
> >
> > /*
> >
>
> Regards,
>
> Hans
next prev parent reply other threads:[~2019-09-13 13:32 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-09 16:27 [Patch 00/13] media: am437x-vpfe: overdue maintenance Benoit Parrot
2019-09-09 16:27 ` [Patch 01/13] media: am437x-vpfe: Fix suspend path to always handle pinctrl config Benoit Parrot
2019-09-13 12:59 ` Hans Verkuil
2019-09-13 13:24 ` Benoit Parrot
2019-09-09 16:27 ` [Patch 02/13] media: am437x-vpfe: Fix missing first line Benoit Parrot
2019-09-13 13:00 ` Hans Verkuil
2019-09-13 13:25 ` Benoit Parrot
2019-09-09 16:27 ` [Patch 03/13] media: am437x-vpfe: Rework ISR routine for clarity Benoit Parrot
2019-09-09 16:27 ` [Patch 04/13] media: am437x-vpfe: Wait for end of frame before tear-down Benoit Parrot
2019-09-09 16:27 ` [Patch 05/13] media: am437x-vpfe: Streamlined vb2 buffer cleanup Benoit Parrot
2019-09-16 8:00 ` Lad, Prabhakar
2019-09-16 14:53 ` Benoit Parrot
2019-09-16 16:02 ` Lad, Prabhakar
2019-09-09 16:27 ` [Patch 06/13] media: am437x-vpfe: Setting STD to current value is not an error Benoit Parrot
2019-09-09 16:27 ` [Patch 07/13] media: am437x-vpfe: Use a per instance format array instead of a static one Benoit Parrot
2019-09-13 13:07 ` Hans Verkuil
2019-09-13 13:29 ` Benoit Parrot
2019-09-17 16:19 ` Benoit Parrot
2019-09-09 16:27 ` [Patch 08/13] media: am437x-vpfe: Maintain a reference to the current vpfe_fmt Benoit Parrot
2019-09-13 13:14 ` Hans Verkuil
2019-09-13 13:32 ` Benoit Parrot
2019-09-13 13:34 ` Hans Verkuil
2019-09-13 13:43 ` Benoit Parrot
2019-09-09 16:27 ` [Patch 09/13] media: am437x-vpfe: fix function trace debug log Benoit Parrot
2019-09-09 16:54 ` Joe Perches
2019-09-09 17:14 ` Benoit Parrot
2019-09-09 16:27 ` [Patch 10/13] media: am437x-vpfe: Remove print_fourcc helper Benoit Parrot
2019-09-09 16:39 ` Joe Perches
2019-09-09 17:12 ` Benoit Parrot
2019-09-09 16:27 ` [Patch 11/13] media: am437x-vpfe: TRY_FMT ioctl is not really trying anything Benoit Parrot
2019-09-09 16:27 ` [Patch 12/13] media: am437x-vpfe: Remove per bus width static data Benoit Parrot
2019-09-13 13:19 ` Hans Verkuil
2019-09-13 13:34 ` Benoit Parrot [this message]
2019-09-09 16:27 ` [Patch 13/13] media: am437x-vpfe: Switch to SPDX Licensing Benoit Parrot
2019-09-10 10:42 ` [Patch 00/13] media: am437x-vpfe: overdue maintenance Hans Verkuil
2019-09-10 16:20 ` Benoit Parrot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190913133428.kavc3dewxhqhmwyj@ti.com \
--to=bparrot@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=hverkuil@xs4all.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=prabhakar.csengg@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).