From: Andy Shevchenko <andy@kernel.org>
To: Hans de Goede <hdegoede@redhat.com>
Cc: Sakari Ailus <sakari.ailus@linux.intel.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
linux-media@vger.kernel.org, linux-staging@lists.linux.dev
Subject: Re: [PATCH 07/23] media: atomisp: gc0310: Add link-frequency and pixelrate controls
Date: Mon, 19 May 2025 14:30:43 +0300 [thread overview]
Message-ID: <aCsWY1ICUoHTq07L@smile.fi.intel.com> (raw)
In-Reply-To: <20250517114106.43494-8-hdegoede@redhat.com>
On Sat, May 17, 2025 at 01:40:50PM +0200, Hans de Goede wrote:
> Add support for the pixelrate control as expected by libcamera,
> while at it also add the link-frequency control.
...
> +/*
> + * The actual PLL output rate is unknown, the datasheet
> + * says that the formula for the frame-time in pixels is:
> + * rowtime = win-width + hblank + sh-delay + 4
> + * frametime = rowtime * (win-height + vblank)
> + * Filling this in and multiplying by 30 fps gives:
> + * pixelrate = (660 + 178 + 42 + 4) * (498 + 27) * 30 = 13923000
> + */
> +#define GC0310_PIXELRATE 13923000
Why not utilise the preprocessor to calculate the above?
I mean we can define an arithmetic expression instead of the result
(which is mentioned in the comments anyway).
...
> +/* single lane, bus-format is 8 bpp, CSI-2 is double data rate */
> +#define GC0310_LINK_FREQ (GC0310_PIXELRATE * 8 / 2)
Hmm... I believe it won't be ever the case, but still the Q here is
if we expect rounded up value? In such a case perhaps BITS_TO_BYTES()
would make sense. OTOH the format theoretically can be not only 8bpp
in some cases, but let's say 9bpp, that macro wouldn't help then.
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2025-05-19 11:30 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-17 11:40 [PATCH 00/23] media: atomisp: gc0310: Modernize and move to drivers/media Hans de Goede
2025-05-17 11:40 ` [PATCH 01/23] media: atomisp: gc0310: Rename "dev" function variable to "sensor" Hans de Goede
2025-05-17 20:42 ` Kieran Bingham
2025-05-17 11:40 ` [PATCH 02/23] media: atomisp: gc0310: Drop unused GC0310_FOCAL_LENGTH_NUM define Hans de Goede
2025-05-17 20:43 ` Kieran Bingham
2025-05-17 11:40 ` [PATCH 03/23] media: atomisp: gc0310: Modify vblank value to run at 30 fps Hans de Goede
2025-05-17 20:45 ` Kieran Bingham
2025-05-17 11:40 ` [PATCH 04/23] media: atomisp: gc0310: Switch to CCI register access helpers Hans de Goede
2025-05-19 11:09 ` Andy Shevchenko
2025-05-17 11:40 ` [PATCH 05/23] media: atomisp: gc0310: Use V4L2_CID_ANALOGUE_GAIN for gain control Hans de Goede
2025-05-17 21:09 ` Kieran Bingham
2025-05-18 9:42 ` Kieran Bingham
2025-05-21 14:04 ` Laurent Pinchart
2025-07-04 20:53 ` Hans de Goede
2025-05-17 11:40 ` [PATCH 06/23] media: atomisp: gc0310: Add selection API support Hans de Goede
2025-05-17 20:41 ` Kieran Bingham
2025-07-06 9:52 ` Hans de Goede
2025-05-17 11:40 ` [PATCH 07/23] media: atomisp: gc0310: Add link-frequency and pixelrate controls Hans de Goede
2025-05-19 11:30 ` Andy Shevchenko [this message]
2025-07-06 9:57 ` Hans de Goede
2025-07-08 8:04 ` Sakari Ailus
2025-07-08 9:47 ` Hans de Goede
2025-05-17 11:40 ` [PATCH 08/23] media: atomisp: gc0310: Add vblank and hblank controls Hans de Goede
2025-05-19 11:32 ` Andy Shevchenko
2025-05-17 11:40 ` [PATCH 09/23] media: atomisp: gc0310: Add camera orientation and sensor rotation controls Hans de Goede
2025-05-17 11:40 ` [PATCH 10/23] media: atomisp: gc0310: Limit max exposure value to mode-height + vblank Hans de Goede
2025-05-17 11:40 ` [PATCH 11/23] media: atomisp: gc0310: Add check_hwcfg() function Hans de Goede
2025-05-19 11:35 ` Andy Shevchenko
2025-07-06 9:58 ` Hans de Goede
2025-05-17 11:40 ` [PATCH 12/23] media: atomisp: gc0310: Fix power on/off sleep times Hans de Goede
2025-05-19 11:40 ` Andy Shevchenko
2025-05-17 11:40 ` [PATCH 13/23] media: atomisp: gc0310: Remove unused is_streaming variable Hans de Goede
2025-05-17 11:40 ` [PATCH 14/23] media: atomisp: gc0310: Switch to {enable,disable}_streams Hans de Goede
2025-05-19 11:43 ` Andy Shevchenko
2025-07-06 13:45 ` Hans de Goede
2025-05-17 11:40 ` [PATCH 15/23] media: atomisp: gc0310: Switch to using the sub-device state lock Hans de Goede
2025-05-19 11:44 ` Andy Shevchenko
2025-07-06 13:51 ` Hans de Goede
2025-05-17 11:40 ` [PATCH 16/23] media: atomisp: gc0310: Implement internal_ops.init_state Hans de Goede
2025-05-17 11:41 ` [PATCH 17/23] media: atomisp: gc0310: Use v4l2_subdev_get_fmt() as v4l2_subdev_pad_ops.get_fmt() Hans de Goede
2025-05-17 11:41 ` [PATCH 18/23] media: atomisp: gc0310: Switch to using sd.active_state fmt Hans de Goede
2025-05-17 11:41 ` [PATCH 19/23] media: atomisp: gc0310: Move and rename suspend/resume functions Hans de Goede
2025-05-19 11:50 ` Andy Shevchenko
2025-07-06 14:01 ` Hans de Goede
2025-05-17 11:41 ` [PATCH 20/23] media: atomisp: gc0310: runtime-PM fixes Hans de Goede
2025-05-17 11:41 ` [PATCH 21/23] media: atomisp: gc0310: Drop gc0310_get_frame_interval() Hans de Goede
2025-05-18 9:44 ` Kieran Bingham
2025-05-17 11:41 ` [PATCH 22/23] media: atomisp: gc0310: Drop gc0310_g_skip_frames() Hans de Goede
2025-05-17 14:12 ` Kieran Bingham
2025-05-17 11:41 ` [PATCH 23/23] media: Move gc0310 sensor drivers to drivers/media/i2c/ Hans de Goede
2025-05-19 12:19 ` Sakari Ailus
2025-05-19 11:54 ` [PATCH 00/23] media: atomisp: gc0310: Modernize and move to drivers/media Andy Shevchenko
-- strict thread matches above, loose matches on Subject: below --
2025-05-21 23:09 [PATCH 23/23] media: Move gc0310 sensor drivers to drivers/media/i2c/ kernel test robot
2025-05-23 10:17 ` Dan Carpenter
2025-05-23 7:59 ` Andy Shevchenko
2025-07-06 13:55 ` Hans de Goede
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=aCsWY1ICUoHTq07L@smile.fi.intel.com \
--to=andy@kernel.org \
--cc=hdegoede@redhat.com \
--cc=linux-media@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=mchehab@kernel.org \
--cc=sakari.ailus@linux.intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.