From: laurent.pinchart@ideasonboard.com (Laurent Pinchart)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 04/10] phy: dphy: Add configuration helpers
Date: Fri, 07 Sep 2018 17:26:29 +0300 [thread overview]
Message-ID: <1923627.Ifno3EcWVN@avalon> (raw)
In-Reply-To: <20180907133739.6lvlw7wsdk4ffeua@flea>
Hi Maxime,
On Friday, 7 September 2018 16:37:39 EEST Maxime Ripard wrote:
> On Wed, Sep 05, 2018 at 04:46:05PM +0300, Laurent Pinchart wrote:
> > On Wednesday, 5 September 2018 12:16:35 EEST Maxime Ripard wrote:
> >> The MIPI D-PHY spec defines default values and boundaries for most of
> >> the parameters it defines. Introduce helpers to help drivers get
> >> meaningful values based on their current parameters, and validate the
> >> boundaries of these parameters if needed.
> >>
> >> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
> >> ---
> >>
> >> drivers/phy/Kconfig | 8 ++-
> >> drivers/phy/Makefile | 1 +-
> >> drivers/phy/phy-core-mipi-dphy.c | 160 ++++++++++++++++++++++++++++++-
> >> include/linux/phy/phy-mipi-dphy.h | 6 +-
> >> 4 files changed, 175 insertions(+)
> >> create mode 100644 drivers/phy/phy-core-mipi-dphy.c
[snip]
> >> diff --git a/drivers/phy/phy-core-mipi-dphy.c
> >> b/drivers/phy/phy-core-mipi-dphy.c new file mode 100644
> >> index 000000000000..6c1ddc7734a2
> >> --- /dev/null
> >> +++ b/drivers/phy/phy-core-mipi-dphy.c
> >> @@ -0,0 +1,160 @@
> >> +/* SPDX-License-Identifier: GPL-2.0 */
> >> +/*
> >> + * Copyright (C) 2013 NVIDIA Corporation
> >> + * Copyright (C) 2018 Cadence Design Systems Inc.
> >> + */
> >> +
> >> +#include <linux/errno.h>
> >> +#include <linux/export.h>
> >> +#include <linux/kernel.h>
> >> +#include <linux/time64.h>
> >> +
> >> +#include <linux/phy/phy.h>
> >> +#include <linux/phy/phy-mipi-dphy.h>
> >> +
> >> +/*
> >> + * Default D-PHY timings based on MIPI D-PHY specification. Derived
> >> from the
> >> + * valid ranges specified in Section 6.9, Table 14, Page 40 of the
> >> D-PHY
> >> + * specification (v1.2) with minor adjustments.
> >
> > Could you list those adjustments ?
>
> I will. This was taken from the Tegra DSI driver, so I'm not sure what
> these are exactly, but that should be addressed.
>
> >> + */
> >> +int phy_mipi_dphy_get_default_config(unsigned long pixel_clock,
> >> + unsigned int bpp,
> >> + unsigned int lanes,
> >> + struct phy_configure_opts_mipi_dphy *cfg)
> >> +{
> >> + unsigned long hs_clk_rate;
> >> + unsigned long ui;
> >> +
> >> + if (!cfg)
> >> + return -EINVAL;
> >
> > Should we really expect cfg to be NULL ?
>
> It avoids a kernel panic and it's not in a hot patch, so I'd say yes?
A few line below you divide by the lanes parameter without checking whether it
is equal to 0 first, which would also cause issues.
I believe that invalid values in input parameters should only be handled
explicitly when considered acceptable for the caller to pass such values. In
this case a NULL cfg pointer is a bug in the caller, which would get noticed
during development if the kernel panics.
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2018-09-07 14:26 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-05 9:16 [PATCH 00/10] phy: Add configuration interface for MIPI D-PHY devices Maxime Ripard
2018-09-05 9:16 ` [PATCH 01/10] phy: Add MIPI D-PHY mode Maxime Ripard
2018-09-05 13:46 ` Laurent Pinchart
2018-09-05 9:16 ` [PATCH 02/10] phy: Add configuration interface Maxime Ripard
2018-09-05 13:39 ` Laurent Pinchart
2018-09-06 14:48 ` Maxime Ripard
2018-09-06 16:24 ` Andrew Lunn
2018-09-07 9:01 ` Maxime Ripard
2018-09-06 16:51 ` Laurent Pinchart
2018-09-07 9:07 ` Maxime Ripard
2018-09-06 9:27 ` Kishon Vijay Abraham I
2018-09-06 14:56 ` Maxime Ripard
2018-09-12 7:42 ` Kishon Vijay Abraham I
2018-09-12 8:42 ` Maxime Ripard
2018-09-14 8:48 ` Kishon Vijay Abraham I
2018-09-19 12:14 ` Maxime Ripard
2018-09-21 14:18 ` Maxime Ripard
2018-09-24 8:48 ` Kishon Vijay Abraham I
2018-09-24 9:54 ` Maxime Ripard
2018-09-24 11:55 ` Kishon Vijay Abraham I
2018-09-24 12:19 ` Maxime Ripard
2018-09-05 9:16 ` [PATCH 03/10] phy: Add MIPI D-PHY configuration options Maxime Ripard
2018-09-05 13:43 ` Laurent Pinchart
2018-09-07 8:56 ` Maxime Ripard
2018-09-07 14:50 ` Laurent Pinchart
2018-09-10 14:18 ` Maxime Ripard
2018-09-05 9:16 ` [PATCH 04/10] phy: dphy: Add configuration helpers Maxime Ripard
2018-09-05 13:46 ` Laurent Pinchart
2018-09-07 13:37 ` Maxime Ripard
2018-09-07 14:26 ` Laurent Pinchart [this message]
2018-09-10 14:16 ` Maxime Ripard
2018-09-10 14:28 ` Laurent Pinchart
2018-09-05 9:16 ` [PATCH 05/10] sun6i: dsi: Convert to generic phy handling Maxime Ripard
2018-09-05 9:16 ` [PATCH 06/10] phy: Move Allwinner A31 D-PHY driver to drivers/phy/ Maxime Ripard
2018-09-05 9:16 ` [PATCH 07/10] drm/bridge: cdns: Remove mode_check test Maxime Ripard
2018-09-05 9:16 ` [PATCH 08/10] drm/bridge: cdns: Separate DSI and D-PHY configuration Maxime Ripard
2018-09-05 9:16 ` [PATCH 09/10] phy: Add Cadence D-PHY support Maxime Ripard
2018-09-05 13:48 ` Laurent Pinchart
2018-09-07 13:38 ` Maxime Ripard
2018-09-05 9:16 ` [PATCH 10/10] drm/bridge: cdns: Convert to phy framework 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=1923627.Ifno3EcWVN@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-kernel@lists.infradead.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 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).