On Mon, Feb 04, 2019 at 03:33:31PM +0530, Kishon Vijay Abraham I wrote: > > > On 21/01/19 9:15 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. > > Can the PHY changes go independently of the consumer drivers? or else I'll need > ACKs from the GPU MAINTAINER. Maxime is a gpu maintainer, so you're all good :-) -Daniel > > Thanks > Kishon > > > > > Let me know what you think, > > Maxime > > > > Changes from v4: > > - Removed regression on the variable calculation > > - Fixed the wakeup unit > > - Collected Sean Acked-by on the last patch > > - Collected Sakari Reviewed-by on the first patch > > > > Changes from v3 > > - Rebased on 5.0-rc1 > > - Added the fixes suggested by Sakari > > > > Changes from v2: > > - Rebased on next > > - Changed the interface to accomodate for the new submodes > > - Changed the timings units from nanoseconds to picoseconds > > - Added minimum and maximum boundaries to the documentation > > - Moved the clock enabling to phy_power_on in the Cadence DPHY driver > > - Exported the phy_configure and phy_validate symbols > > - Rework the phy pll divider computation in the cadence dphy driver > > > > 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: dphy: Remove unused header > > phy: dphy: Change units of wakeup and init parameters > > phy: dphy: Clarify lanes parameter documentation > > 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 > > dt-bindings: phy: Move the Cadence D-PHY bindings > > 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/Kconfig | 1 +- > > drivers/gpu/drm/bridge/cdns-dsi.c | 538 +------ > > 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/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 | 389 +++++- > > drivers/phy/phy-core-mipi-dphy.c | 8 +- > > include/linux/phy/phy-mipi-dphy.h | 13 +- > > 17 files changed, 894 insertions(+), 789 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 > > > > base-commit: bfeffd155283772bbe78c6a05dec7c0128ee500c > > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch