From: "André Apitzsch" <git@apitzsch.eu>
To: Ricardo Ribalda Delgado <ribalda@kernel.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
~postmarketos/upstreaming@lists.sr.ht,
phone-devel@vger.kernel.org, linux-media@vger.kernel.org,
linux-kernel@vger.kernel.org,
Dave Stevenson <dave.stevenson@raspberrypi.com>
Subject: Re: [PATCH v2 07/13] media: i2c: imx214: Check number of lanes from device tree
Date: Wed, 30 Oct 2024 22:17:27 +0100 [thread overview]
Message-ID: <76960282bb92e1827890712ed01e543803ceb992.camel@apitzsch.eu> (raw)
In-Reply-To: <CAPybu_28VXjfJksVccfvytB9PU2-saNpAos8sBtQnhgt8KKz2w@mail.gmail.com>
Hi Ricardo,
Am Mittwoch, dem 30.10.2024 um 12:38 +0100 schrieb Ricardo Ribalda
Delgado:
> On Mon, Oct 21, 2024 at 12:14 AM André Apitzsch via B4 Relay
> <devnull+git.apitzsch.eu@kernel.org> wrote:
> >
> > From: André Apitzsch <git@apitzsch.eu>
> >
> > The imx214 camera is capable of either two-lane or four-lane
> > operation.
> >
> > Currently only the four-lane mode is supported, as proper pixel
> > rates
> > and link frequences for the two-lane mode are unknown.
> >
> > Signed-off-by: André Apitzsch <git@apitzsch.eu>
> > ---
> > drivers/media/i2c/imx214.c | 26 +++++++++++++++++++-------
> > 1 file changed, 19 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/media/i2c/imx214.c
> > b/drivers/media/i2c/imx214.c
> > index
> > 0c83149bcc3e3b833a087d26104eb7dfaafdf904..497baad616ad7374a92a3da2b
> > 7c1096b1d72a0c7 100644
> > --- a/drivers/media/i2c/imx214.c
> > +++ b/drivers/media/i2c/imx214.c
> > @@ -199,7 +199,6 @@ struct imx214 {
> >
> > /*From imx214_mode_tbls.h*/
> > static const struct cci_reg_sequence mode_4096x2304[] = {
> > - { IMX214_REG_CSI_LANE_MODE, IMX214_CSI_4_LANE_MODE },
> > { IMX214_REG_HDR_MODE, IMX214_HDR_MODE_OFF },
> > { IMX214_REG_HDR_RES_REDUCTION, IMX214_HDR_RES_REDU_THROUGH
> > },
> > { IMX214_REG_EXPOSURE_RATIO, 1 },
> > @@ -272,7 +271,6 @@ static const struct cci_reg_sequence
> > mode_4096x2304[] = {
> > };
> >
> > static const struct cci_reg_sequence mode_1920x1080[] = {
> > - { IMX214_REG_CSI_LANE_MODE, IMX214_CSI_4_LANE_MODE },
> > { IMX214_REG_HDR_MODE, IMX214_HDR_MODE_OFF },
> > { IMX214_REG_HDR_RES_REDUCTION, IMX214_HDR_RES_REDU_THROUGH
> > },
> > { IMX214_REG_EXPOSURE_RATIO, 1 },
> > @@ -791,6 +789,13 @@ static int imx214_start_streaming(struct
> > imx214 *imx214)
> > return ret;
> > }
> >
> > + ret = cci_write(imx214->regmap, IMX214_REG_CSI_LANE_MODE,
> > + IMX214_CSI_4_LANE_MODE, NULL);
> > + if (ret) {
> > + dev_err(imx214->dev, "%s failed to configure
> > lanes\n", __func__);
> > + return ret;
> > + }
> > +
> > ret = cci_multi_reg_write(imx214->regmap, imx214->cur_mode-
> > >reg_table,
> > imx214->cur_mode->num_of_regs,
> > NULL);
> > if (ret < 0) {
> > @@ -932,7 +937,7 @@ static int imx214_get_regulators(struct device
> > *dev, struct imx214 *imx214)
> > imx214->supplies);
> > }
> >
> > -static int imx214_parse_fwnode(struct device *dev)
> > +static int imx214_parse_fwnode(struct device *dev, struct imx214
> > *imx214)
> We don't seem to use imx214 in the function. You probably do not want
> to add this change.
> > {
> > struct fwnode_handle *endpoint;
> > struct v4l2_fwnode_endpoint bus_cfg = {
> > @@ -951,6 +956,13 @@ static int imx214_parse_fwnode(struct device
> > *dev)
> > goto done;
> > }
> >
> > + /* Check the number of MIPI CSI2 data lanes */
> > + if (bus_cfg.bus.mipi_csi2.num_data_lanes != 4) {
> > + dev_err_probe(dev, -EINVAL,
> > + "only 4 data lanes are currently
> > supported\n");
> > + goto done;
> > + }
> > +
> > for (i = 0; i < bus_cfg.nr_of_link_frequencies; i++)
> > if (bus_cfg.link_frequencies[i] ==
> > IMX214_DEFAULT_LINK_FREQ)
> > break;
> > @@ -975,14 +987,14 @@ static int imx214_probe(struct i2c_client
> > *client)
> > struct imx214 *imx214;
> > int ret;
> >
> > - ret = imx214_parse_fwnode(dev);
> > - if (ret)
> > - return ret;
> > -
> > imx214 = devm_kzalloc(dev, sizeof(*imx214), GFP_KERNEL);
> > if (!imx214)
> > return -ENOMEM;
> >
> > + ret = imx214_parse_fwnode(dev, imx214);
> > + if (ret)
> > + return ret;
> I am not against changing the order... but the commit message does
> not mention it.
>
I'm not sure how to argue why the order should be changed, now that the
imx214 argument is gone. I'll restore the original order. It can be
undone, when actually needed.
Best regards,
André
> > +
> > imx214->dev = dev;
> >
> > imx214->xclk = devm_clk_get(dev, NULL);
> >
> > --
> > 2.47.0
> >
> >
next prev parent reply other threads:[~2024-10-30 21:45 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-20 22:13 [PATCH v2 00/13] media: i2c: imx214: Miscellaneous cleanups and improvements André Apitzsch via B4 Relay
2024-10-20 22:13 ` [PATCH v2 01/13] media: i2c: imx214: Fix link frequency André Apitzsch via B4 Relay
2024-10-30 11:25 ` Ricardo Ribalda Delgado
2024-11-01 9:09 ` Sakari Ailus
2024-10-20 22:13 ` [PATCH v2 02/13] media: i2c: imx214: Use subdev active state André Apitzsch via B4 Relay
2024-10-30 11:36 ` Ricardo Ribalda Delgado
2024-12-01 18:41 ` André Apitzsch
2024-10-20 22:13 ` [PATCH v2 03/13] media: i2c: imx214: Simplify with dev_err_probe() André Apitzsch via B4 Relay
2024-10-20 22:13 ` [PATCH v2 04/13] media: i2c: imx214: Convert to CCI register access helpers André Apitzsch via B4 Relay
2024-10-20 22:13 ` [PATCH v2 05/13] media: i2c: imx214: Replace register addresses with macros André Apitzsch via B4 Relay
2024-10-20 22:13 ` [PATCH v2 06/13] media: i2c: imx214: Drop IMX214_REG_EXPOSURE from mode reg arrays André Apitzsch via B4 Relay
2024-10-20 22:13 ` [PATCH v2 07/13] media: i2c: imx214: Check number of lanes from device tree André Apitzsch via B4 Relay
2024-10-30 11:38 ` Ricardo Ribalda Delgado
2024-10-30 21:17 ` André Apitzsch [this message]
2024-10-20 22:13 ` [PATCH v2 08/13] media: i2c: imx214: Add vblank and hblank controls André Apitzsch via B4 Relay
2024-10-30 11:57 ` Ricardo Ribalda Delgado
2024-10-20 22:13 ` [PATCH v2 09/13] media: i2c: imx214: Extract format and crop settings André Apitzsch via B4 Relay
2024-10-30 12:10 ` Ricardo Ribalda Delgado
2024-11-20 20:07 ` André Apitzsch
2024-11-20 21:22 ` Ricardo Ribalda Delgado
2024-11-22 10:43 ` Sakari Ailus
2024-12-01 18:23 ` André Apitzsch
2024-10-20 22:13 ` [PATCH v2 10/13] media: i2c: imx214: Implement vflip/hflip controls André Apitzsch via B4 Relay
2024-10-30 12:13 ` Ricardo Ribalda Delgado
2024-10-20 22:13 ` [PATCH v2 11/13] media: i2c: imx214: Add analogue/digital gain control André Apitzsch via B4 Relay
2024-10-20 22:13 ` [PATCH v2 12/13] media: i2c: imx214: Verify chip ID André Apitzsch via B4 Relay
2024-10-20 22:13 ` [PATCH v2 13/13] media: i2c: imx214: Add test pattern control André Apitzsch via B4 Relay
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=76960282bb92e1827890712ed01e543803ceb992.camel@apitzsch.eu \
--to=git@apitzsch.eu \
--cc=dave.stevenson@raspberrypi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=phone-devel@vger.kernel.org \
--cc=ribalda@kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=~postmarketos/upstreaming@lists.sr.ht \
/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
all inboxes | Powered by JetHome®