Re: [PATCH v2 0/9] phy: Add configuration interface for MIPI D-PHY devices

From: Kishon Vijay Abraham I
Date: Fri Dec 07 2018 - 00:01:46 EST


Maxime,

On 06/11/18 8:24 PM, Maxime Ripard wrote:
> Hi,
>
> Here is a set of patches to allow the phy framework consumers to test and
> apply runtime configurations.
>
> This is needed to support more phy classes that require tuning based on
> parameters depending on the current use case of the device, in addition to
> the power state management already provided by the current functions.
>
> A first test bed for that API are the MIPI D-PHY devices. There's a number
> of solutions that have been used so far to support these phy, most of the
> time being an ad-hoc driver in the consumer.
>
> That approach has a big shortcoming though, which is that this is quite
> difficult to deal with consumers integrated with multiple variants of phy,
> of multiple consumers integrated with the same phy.
>
> The latter case can be found in the Cadence DSI bridge, and the CSI
> transceiver and receivers. All of them are integrated with the same phy, or
> can be integrated with different phy, depending on the implementation.
>
> I've looked at all the MIPI DSI drivers I could find, and gathered all the
> parameters I could find. The interface should be complete, and most of the
> drivers can be converted in the future. The current set converts two of
> them: the above mentionned Cadence DSI driver so that the v4l2 drivers can
> use them, and the Allwinner MIPI-DSI driver.

Are you planning to send one more revision of this series after fixing the
comments?

Thanks
Kishon
>
> Let me know what you think,
> Maxime
>
> Changes from v1:
> - Rebased on top of 4.20-rc1
> - Removed the bus mode and timings parameters from the MIPI D-PHY
> parameters, since that shouldn't have any impact on the PHY itself.
> - Reworked the Cadence DSI and D-PHY drivers to take this into account.
> - Remove the mode parameter from phy_configure
> - Added phy_configure and phy_validate stubs
> - Return -EOPNOTSUPP in phy_configure and phy_validate when the operation
> is not implemented
>
> Maxime Ripard (9):
> phy: Add MIPI D-PHY mode
> phy: Add configuration interface
> phy: Add MIPI D-PHY configuration options
> phy: dphy: Add configuration helpers
> sun6i: dsi: Convert to generic phy handling
> phy: Move Allwinner A31 D-PHY driver to drivers/phy/
> drm/bridge: cdns: Separate DSI and D-PHY configuration
> phy: Add Cadence D-PHY support
> drm/bridge: cdns: Convert to phy framework
>
> Documentation/devicetree/bindings/display/bridge/cdns,dsi.txt | 21 +-
> Documentation/devicetree/bindings/phy/cdns,dphy.txt | 20 +-
> drivers/gpu/drm/bridge/cdns-dsi.c | 535 +------
> drivers/gpu/drm/sun4i/Kconfig | 3 +-
> drivers/gpu/drm/sun4i/Makefile | 5 +-
> drivers/gpu/drm/sun4i/sun6i_mipi_dphy.c | 292 +----
> drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 31 +-
> drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h | 17 +-
> drivers/phy/Kconfig | 8 +-
> drivers/phy/Makefile | 1 +-
> drivers/phy/allwinner/Kconfig | 12 +-
> drivers/phy/allwinner/Makefile | 1 +-
> drivers/phy/allwinner/phy-sun6i-mipi-dphy.c | 318 ++++-
> drivers/phy/cadence/Kconfig | 13 +-
> drivers/phy/cadence/Makefile | 1 +-
> drivers/phy/cadence/cdns-dphy.c | 459 ++++++-
> drivers/phy/phy-core-mipi-dphy.c | 160 ++-
> drivers/phy/phy-core.c | 61 +-
> include/linux/phy/phy-mipi-dphy.h | 238 +++-
> include/linux/phy/phy.h | 65 +-
> 20 files changed, 1482 insertions(+), 779 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/phy/cdns,dphy.txt
> delete mode 100644 drivers/gpu/drm/sun4i/sun6i_mipi_dphy.c
> create mode 100644 drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
> create mode 100644 drivers/phy/cadence/cdns-dphy.c
> create mode 100644 drivers/phy/phy-core-mipi-dphy.c
> create mode 100644 include/linux/phy/phy-mipi-dphy.h
>
> base-commit: 651022382c7f8da46cb4872a545ee1da6d097d2a
>