From: Daniel Scally <djrscally@gmail.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: Paul Kocialkowski <paul.kocialkowski@bootlin.com>,
linux-media@vger.kernel.org, Yong Zhi <yong.zhi@intel.com>,
Bingbu Cao <bingbu.cao@intel.com>,
Tianshu Qiu <tian.shu.qiu@intel.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Hans de Goede <hdegoede@redhat.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Kieran Bingham <kieran.bingham@ideasonboard.com>
Subject: Re: [PATCH v4 04/16] media: i2c: Support 19.2MHz input clock in ov8865
Date: Sat, 20 Nov 2021 22:46:59 +0000 [thread overview]
Message-ID: <4e87d0d0-3eed-e464-ce16-e64cf6d89ab9@gmail.com> (raw)
In-Reply-To: <YX//JqaiubPXeNey@paasikivi.fi.intel.com>
Hi Sakari - sorry, only just coming back to this series.
On 01/11/2021 14:52, Sakari Ailus wrote:
>> +static struct ov8865_pll_configs ov8865_pll_configs_19_2mhz = {
>> + .pll1_config = &ov8865_pll1_config_native_19_2mhz,
>> + .pll2_config_native = &ov8865_pll2_config_native_19_2mhz,
>> + .pll2_config_binning = &ov8865_pll2_config_binning_19_2mhz,
>> +};
>> +
>> +static struct ov8865_pll_configs ov8865_pll_configs_24mhz = {
>> + .pll1_config = &ov8865_pll1_config_native_24mhz,
>> + .pll2_config_native = &ov8865_pll2_config_native_24mhz,
>> + .pll2_config_binning = &ov8865_pll2_config_binning_24mhz,
>> +};
>
> These should be const.
Done, thank you.
>> @@ -2858,13 +2917,38 @@ static int ov8865_probe(struct i2c_client *client)
>> goto error_endpoint;
>> }
>>
>> - rate = clk_get_rate(sensor->extclk);
>> - if (rate != OV8865_EXTCLK_RATE) {
>> - dev_err(dev, "clock rate %lu Hz is unsupported\n", rate);
>> + /*
>> + * We could have either a 24MHz or 19.2MHz clock rate. Check for a
>> + * clock-frequency property and if found, set that rate. This should
>> + * cover the ACPI case. If the system uses devicetree then the
>> + * configured rate should already be set, so we'll have to check it.
>> + */
>> + ret = fwnode_property_read_u32(dev_fwnode(dev), "clock-frequency",
>> + &rate);
>> + if (!ret) {
>> + ret = clk_set_rate(sensor->extclk, rate);
>> + if (ret) {
>> + dev_err(dev, "failed to set clock rate\n");
>> + return ret;
>> + }
>> + }
>> +
>> + sensor->extclk_rate = clk_get_rate(sensor->extclk);
>
> clk_get_rate() returns 0 if you don't have a clock. But you can still have
> clock-frequency property that tells the frequency. This is generally the
> case on ACPI based systems apart from some exceptions (which I understand
> you're well aware of).
>
> See e.g. drivers/media/i2c/ccs/ccs-core.c .
I'm checking the clock-frequency property above...that should be
sufficient here I think right?
>> +
>> + for (i = 0; i < ARRAY_SIZE(supported_extclk_rates); i++) {
>> + if (sensor->extclk_rate == supported_extclk_rates[i])
>> + break;
>> + }
>> +
>> + if (i == ARRAY_SIZE(supported_extclk_rates)) {
>> + dev_err(dev, "clock rate %lu Hz is unsupported\n",
>> + sensor->extclk_rate);
>> ret = -EINVAL;
>> goto error_endpoint;
>> }
>>
>> + sensor->pll_configs = ov8865_pll_configs[i];
>> +
>> /* Subdev, entity and pad */
>>
>> subdev = &sensor->subdev;
>
next prev parent reply other threads:[~2021-11-20 22:47 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-01 0:11 [PATCH v4 00/16] Extensions to ov8865 driver Daniel Scally
2021-11-01 0:11 ` [PATCH v4 01/16] media: i2c: Add ACPI support to ov8865 Daniel Scally
2021-11-01 10:01 ` Andy Shevchenko
2021-11-01 23:24 ` Daniel Scally
2021-11-01 0:11 ` [PATCH v4 02/16] media: i2c: Fix incorrect value in comment Daniel Scally
2021-11-01 0:11 ` [PATCH v4 03/16] media: i2c: Defer probe if not endpoint found Daniel Scally
2021-11-01 0:11 ` [PATCH v4 04/16] media: i2c: Support 19.2MHz input clock in ov8865 Daniel Scally
2021-11-01 10:29 ` Andy Shevchenko
2021-11-21 23:14 ` Daniel Scally
2021-11-01 14:52 ` Sakari Ailus
2021-11-20 22:46 ` Daniel Scally [this message]
2021-11-21 23:32 ` Daniel Scally
2021-11-01 0:11 ` [PATCH v4 05/16] media: i2c: Add .get_selection() support to ov8865 Daniel Scally
2021-11-01 0:11 ` [PATCH v4 06/16] media: i2c: Switch control to V4L2_CID_ANALOGUE_GAIN Daniel Scally
2021-11-01 0:11 ` [PATCH v4 07/16] media: i2c: Add vblank control to ov8865 Daniel Scally
2021-11-01 14:54 ` Sakari Ailus
2021-11-01 23:45 ` Daniel Scally
2021-11-02 9:26 ` Sakari Ailus
2021-11-01 0:11 ` [PATCH v4 08/16] media: i2c: Add hblank " Daniel Scally
2021-11-01 0:11 ` [PATCH v4 09/16] media: i2c: Update HTS values in ov8865 Daniel Scally
2021-11-01 15:04 ` Sakari Ailus
2021-11-22 0:18 ` Daniel Scally
2021-11-01 0:11 ` [PATCH v4 10/16] media: i2c: cap exposure at height + vblank " Daniel Scally
2021-11-01 0:11 ` [PATCH v4 11/16] media: i2c: Add controls from fwnode to ov8865 Daniel Scally
2021-11-01 0:11 ` [PATCH v4 12/16] media: i2c: Switch exposure control unit to lines Daniel Scally
2021-11-01 0:11 ` [PATCH v4 13/16] media: i2c: Re-order runtime pm initialisation Daniel Scally
2021-11-01 11:30 ` Andy Shevchenko
2021-11-02 8:30 ` Daniel Scally
2021-11-01 0:11 ` [PATCH v4 14/16] media: i2c: Use dev_err_probe() in ov8865 Daniel Scally
2021-11-01 0:11 ` [PATCH v4 15/16] media: ipu3-cio2: Add INT347A to cio2-bridge Daniel Scally
2021-11-01 0:11 ` [PATCH v4 16/16] media: i2c: ov8865: Fix lockdep error Daniel Scally
2021-11-01 11:31 ` Andy Shevchenko
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=4e87d0d0-3eed-e464-ce16-e64cf6d89ab9@gmail.com \
--to=djrscally@gmail.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=bingbu.cao@intel.com \
--cc=hdegoede@redhat.com \
--cc=kieran.bingham@ideasonboard.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=paul.kocialkowski@bootlin.com \
--cc=sakari.ailus@linux.intel.com \
--cc=tian.shu.qiu@intel.com \
--cc=yong.zhi@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.