All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime.ripard@bootlin.com>
To: Kishon Vijay Abraham I <kishon@ti.com>
Cc: Boris Brezillon <boris.brezillon@bootlin.com>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	linux-media@vger.kernel.org,
	Archit Taneja <architt@codeaurora.org>,
	Andrzej Hajda <a.hajda@samsung.com>, Chen-Yu Tsai <wens@csie.org>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-arm-kernel@lists.infradead.org,
	Krzysztof Witos <kwitos@cadence.com>,
	Rafal Ciepiela <rafalc@cadence.com>
Subject: Re: [PATCH v2 8/9] phy: Add Cadence D-PHY support
Date: Fri, 16 Nov 2018 10:17:24 +0100	[thread overview]
Message-ID: <20181116091724.4wwdrgn5hfcdao6b@flea> (raw)
In-Reply-To: <5f5bcc06-51b2-d565-56a0-083c66c1f01a@ti.com>

[-- Attachment #1: Type: text/plain, Size: 1680 bytes --]

Hi!

On Mon, Nov 12, 2018 at 03:21:56PM +0530, Kishon Vijay Abraham I wrote:
> > +static int cdns_dphy_validate(struct phy *phy, enum phy_mode mode,
> > +			      union phy_configure_opts *opts)
> > +{
> > +	struct cdns_dphy_cfg cfg = { 0 };
> > +
> > +	if (mode != PHY_MODE_MIPI_DPHY)
> > +		return -EINVAL;
> > +
> > +	return cdns_dphy_config_from_opts(phy, &opts->mipi_dphy, &cfg);
> > +}
> > +
> > +static int cdns_dphy_configure(struct phy *phy, union phy_configure_opts *opts)
> > +{
> > +	struct cdns_dphy *dphy = phy_get_drvdata(phy);
> > +	struct cdns_dphy_cfg cfg = { 0 };
> > +	int ret;
> > +
> > +	ret = cdns_dphy_config_from_opts(phy, &opts->mipi_dphy, &cfg);
> > +	if (ret)
> > +		return ret;
> 
> Can you explain why you need the same function to be invoked from both validate
> and configure callback? I see this to be redundant.

Sure.

Validate and configure serve two rather different purposes. validate
is here to make sure that a configuration can work with the PHY, and
to let the phy adjust the configuration to find a more optimal one.

configure, on the other hand, apply a configuration. We still have to
make sure that the configuration can work, since:
  - We might have called validate any number of times, with any number
    of configurations before calling configure, so we don't know which
    configuration we validate is actually going to be applied later on
    (if it's even applied)
  - If we don't care about the validation at all, we might just call
    configure directly

Does that make sense?

Maxime

-- 
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: maxime.ripard@bootlin.com (Maxime Ripard)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 8/9] phy: Add Cadence D-PHY support
Date: Fri, 16 Nov 2018 10:17:24 +0100	[thread overview]
Message-ID: <20181116091724.4wwdrgn5hfcdao6b@flea> (raw)
In-Reply-To: <5f5bcc06-51b2-d565-56a0-083c66c1f01a@ti.com>

Hi!

On Mon, Nov 12, 2018 at 03:21:56PM +0530, Kishon Vijay Abraham I wrote:
> > +static int cdns_dphy_validate(struct phy *phy, enum phy_mode mode,
> > +			      union phy_configure_opts *opts)
> > +{
> > +	struct cdns_dphy_cfg cfg = { 0 };
> > +
> > +	if (mode != PHY_MODE_MIPI_DPHY)
> > +		return -EINVAL;
> > +
> > +	return cdns_dphy_config_from_opts(phy, &opts->mipi_dphy, &cfg);
> > +}
> > +
> > +static int cdns_dphy_configure(struct phy *phy, union phy_configure_opts *opts)
> > +{
> > +	struct cdns_dphy *dphy = phy_get_drvdata(phy);
> > +	struct cdns_dphy_cfg cfg = { 0 };
> > +	int ret;
> > +
> > +	ret = cdns_dphy_config_from_opts(phy, &opts->mipi_dphy, &cfg);
> > +	if (ret)
> > +		return ret;
> 
> Can you explain why you need the same function to be invoked from both validate
> and configure callback? I see this to be redundant.

Sure.

Validate and configure serve two rather different purposes. validate
is here to make sure that a configuration can work with the PHY, and
to let the phy adjust the configuration to find a more optimal one.

configure, on the other hand, apply a configuration. We still have to
make sure that the configuration can work, since:
  - We might have called validate any number of times, with any number
    of configurations before calling configure, so we don't know which
    configuration we validate is actually going to be applied later on
    (if it's even applied)
  - If we don't care about the validation at all, we might just call
    configure directly

Does that make sense?

Maxime

-- 
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20181116/2ab0c490/attachment-0001.sig>

  reply	other threads:[~2018-11-16  9:17 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-06 14:54 [PATCH v2 0/9] phy: Add configuration interface for MIPI D-PHY devices Maxime Ripard
2018-11-06 14:54 ` Maxime Ripard
2018-11-06 14:54 ` Maxime Ripard
2018-11-06 14:54 ` [PATCH v2 1/9] phy: Add MIPI D-PHY mode Maxime Ripard
2018-11-06 14:54   ` Maxime Ripard
2018-11-06 14:54   ` Maxime Ripard
2018-11-07 13:29   ` Sakari Ailus
2018-11-07 13:29     ` Sakari Ailus
2018-11-06 14:54 ` [PATCH v2 2/9] phy: Add configuration interface Maxime Ripard
2018-11-06 14:54   ` Maxime Ripard
2018-11-12 10:02   ` Kishon Vijay Abraham I
2018-11-12 10:02     ` Kishon Vijay Abraham I
2018-11-12 10:02     ` Kishon Vijay Abraham I
2018-11-14 10:51     ` Maxime Ripard
2018-11-14 10:51       ` Maxime Ripard
2018-11-14 10:51       ` Maxime Ripard
2018-11-06 14:54 ` [PATCH v2 3/9] phy: Add MIPI D-PHY configuration options Maxime Ripard
2018-11-06 14:54   ` Maxime Ripard
2018-11-19 13:58   ` Sakari Ailus
2018-11-19 13:58     ` Sakari Ailus
2018-11-19 13:58     ` Sakari Ailus
2018-11-21  9:52     ` Maxime Ripard
2018-11-21  9:52       ` Maxime Ripard
2018-11-21  9:52       ` Maxime Ripard
2018-11-06 14:54 ` [PATCH v2 4/9] phy: dphy: Add configuration helpers Maxime Ripard
2018-11-06 14:54   ` Maxime Ripard
2018-11-06 14:54   ` Maxime Ripard
2018-11-19 13:43   ` Sakari Ailus
2018-11-19 13:43     ` Sakari Ailus
2018-11-19 13:43     ` Sakari Ailus
2018-11-21  9:33     ` Maxime Ripard
2018-11-21  9:33       ` Maxime Ripard
2018-12-04  5:58       ` Kishon Vijay Abraham I
2018-12-04  5:58         ` Kishon Vijay Abraham I
2018-12-04  5:58         ` Kishon Vijay Abraham I
2018-12-04 15:48         ` Maxime Ripard
2018-12-04 15:48           ` Maxime Ripard
2018-12-04 15:48           ` Maxime Ripard
2018-11-06 14:54 ` [PATCH v2 5/9] sun6i: dsi: Convert to generic phy handling Maxime Ripard
2018-11-06 14:54   ` Maxime Ripard
2018-11-06 14:54 ` [PATCH v2 6/9] phy: Move Allwinner A31 D-PHY driver to drivers/phy/ Maxime Ripard
2018-11-06 14:54   ` Maxime Ripard
2018-11-06 14:54   ` Maxime Ripard
2018-11-19 17:05   ` Sakari Ailus
2018-11-19 17:05     ` Sakari Ailus
2018-11-19 17:05     ` Sakari Ailus
2018-11-06 14:54 ` [PATCH v2 7/9] drm/bridge: cdns: Separate DSI and D-PHY configuration Maxime Ripard
2018-11-06 14:54   ` Maxime Ripard
2018-11-06 14:54   ` Maxime Ripard
2018-11-06 14:54 ` [PATCH v2 8/9] phy: Add Cadence D-PHY support Maxime Ripard
2018-11-06 14:54   ` Maxime Ripard
2018-11-12  9:51   ` Kishon Vijay Abraham I
2018-11-12  9:51     ` Kishon Vijay Abraham I
2018-11-12  9:51     ` Kishon Vijay Abraham I
2018-11-16  9:17     ` Maxime Ripard [this message]
2018-11-16  9:17       ` Maxime Ripard
2018-11-20  5:32     ` Kishon Vijay Abraham I
2018-11-20  5:32       ` Kishon Vijay Abraham I
2018-11-20  5:32       ` Kishon Vijay Abraham I
2018-11-21 10:11       ` Maxime Ripard
2018-11-21 10:11         ` Maxime Ripard
2018-11-21 10:11         ` Maxime Ripard
2018-11-21 10:29         ` Kishon Vijay Abraham I
2018-11-21 10:29           ` Kishon Vijay Abraham I
2018-11-21 10:29           ` Kishon Vijay Abraham I
2018-11-21 13:47           ` Maxime Ripard
2018-11-21 13:47             ` Maxime Ripard
2018-11-21 13:47             ` Maxime Ripard
2018-11-22  8:46             ` Kishon Vijay Abraham I
2018-11-22  8:46               ` Kishon Vijay Abraham I
2018-11-22  8:46               ` Kishon Vijay Abraham I
2018-11-19 21:24   ` Sakari Ailus
2018-11-19 21:24     ` Sakari Ailus
2018-11-21 13:21     ` Maxime Ripard
2018-11-21 13:21       ` Maxime Ripard
2018-11-06 14:54 ` [PATCH v2 9/9] drm/bridge: cdns: Convert to phy framework Maxime Ripard
2018-11-06 14:54   ` Maxime Ripard
2018-12-07  5:00 ` [PATCH v2 0/9] phy: Add configuration interface for MIPI D-PHY devices Kishon Vijay Abraham I
2018-12-07  5:00   ` Kishon Vijay Abraham I
2018-12-07  5:00   ` Kishon Vijay Abraham I
2018-12-07  9:09   ` Maxime Ripard
2018-12-07  9:09     ` Maxime Ripard
2018-12-07  9:09     ` Maxime Ripard

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=20181116091724.4wwdrgn5hfcdao6b@flea \
    --to=maxime.ripard@bootlin.com \
    --cc=a.hajda@samsung.com \
    --cc=architt@codeaurora.org \
    --cc=boris.brezillon@bootlin.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=kishon@ti.com \
    --cc=kwitos@cadence.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=rafalc@cadence.com \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=wens@csie.org \
    /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.