Hi,
On Wed, 5 May 2021 at 11:17, Sankeerth Billakanti sbillaka@codeaurora.org wrote:
These patches add support for the next generation eDP driver on SnapDragon with dpu support. The existing eDP driver cannot support the new eDP hardware. So, to maintain backward compatibility, the older eDP driver is moved to v200 folder and the new generation eDP driver is added in the v510 folder.
What exactly does this version correspond to? I assume that v510 corresponds to sdmshrike/sc8180x. Is it right? Is it really so specific, or just v2/v5 would be enough? Not to mention that this is the MDP/ version, while other blocks tend to use block-specific versions/ids.
Also, how much does it differ from the current DP core supported via drivers/gpu/drm/msm/dp ?
First two patches did not make it to the linux-msm, so I can not comment on each of the lines. However just my few cents (other reviewers might disagree though):
- I see little benefit in renaming the folders just for the sake of renaming. You can put your code in drivers/gpu/drm/msm/edp-v510, if you really insist on that. Note that for all other (even incompatible) hardware types we still use single level of folders.
- Also I see that significant parts of code (e.g. AUX, bridge, connector, maybe more) are just c&p of old edp code pieces. Please share the code instead of duplicating it.
- Please consider updating register definitions in xml form and then providing both changed xml files (to mesa project (?)) and generated headers into the kernel.
- Please consider using clk_bulk_* functions instead of using dss_module_power. I'm going to send a patchset reworking current users to use the generic clk_bulk_* function family.
- In generic, this eDP clock handling seems to match closely DP clocks handling (with all the name comparison, etc). Consider moving this to a generic piece of code
- PHY seems to be a version of QMP PHY. Please use it, like it was done for the DP itself. There is support for combined USB+DP PHYs (both v3 and v4), so it should be possible to extend that for eDP.
These are baseline changes with which we can enable display. The new eDP controller can also support additional features such as backlight control, PSR etc. which will be enabled in subsequent patch series.
Summary of changes: DPU driver interface to the new eDP v510 display driver. New generation eDP controller and phy driver implementation. A common interface to choose enable the required eDP driver.
Sankeerth Billakanti (3): drm/msm/edp: support multiple generations of edp hardware drm/msm/edp: add support for next gen edp drm/msm/disp/dpu1: add support for edp encoder
drivers/gpu/drm/msm/Makefile | 19 +- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 7 +- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 33 + drivers/gpu/drm/msm/edp/edp.c | 198 --- drivers/gpu/drm/msm/edp/edp.h | 78 - drivers/gpu/drm/msm/edp/edp.xml.h | 380 ----- drivers/gpu/drm/msm/edp/edp_aux.c | 264 ---- drivers/gpu/drm/msm/edp/edp_bridge.c | 111 -- drivers/gpu/drm/msm/edp/edp_common.c | 38 + drivers/gpu/drm/msm/edp/edp_common.h | 47 + drivers/gpu/drm/msm/edp/edp_connector.c | 132 -- drivers/gpu/drm/msm/edp/edp_ctrl.c | 1375 ------------------ drivers/gpu/drm/msm/edp/edp_phy.c | 98 -- drivers/gpu/drm/msm/edp/v200/edp.xml.h | 380 +++++ drivers/gpu/drm/msm/edp/v200/edp_v200.c | 210 +++ drivers/gpu/drm/msm/edp/v200/edp_v200.h | 70 + drivers/gpu/drm/msm/edp/v200/edp_v200_aux.c | 264 ++++ drivers/gpu/drm/msm/edp/v200/edp_v200_bridge.c | 111 ++ drivers/gpu/drm/msm/edp/v200/edp_v200_connector.c | 132 ++ drivers/gpu/drm/msm/edp/v200/edp_v200_ctrl.c | 1375 ++++++++++++++++++ drivers/gpu/drm/msm/edp/v200/edp_v200_phy.c | 98 ++ drivers/gpu/drm/msm/edp/v510/edp_v510.c | 220 +++ drivers/gpu/drm/msm/edp/v510/edp_v510.h | 151 ++ drivers/gpu/drm/msm/edp/v510/edp_v510_aux.c | 268 ++++ drivers/gpu/drm/msm/edp/v510/edp_v510_bridge.c | 111 ++ drivers/gpu/drm/msm/edp/v510/edp_v510_connector.c | 117 ++ drivers/gpu/drm/msm/edp/v510/edp_v510_ctrl.c | 1583 +++++++++++++++++++++ drivers/gpu/drm/msm/edp/v510/edp_v510_phy.c | 641 +++++++++ drivers/gpu/drm/msm/edp/v510/edp_v510_reg.h | 339 +++++ 29 files changed, 6207 insertions(+), 2643 deletions(-) delete mode 100644 drivers/gpu/drm/msm/edp/edp.c delete mode 100644 drivers/gpu/drm/msm/edp/edp.h delete mode 100644 drivers/gpu/drm/msm/edp/edp.xml.h delete mode 100644 drivers/gpu/drm/msm/edp/edp_aux.c delete mode 100644 drivers/gpu/drm/msm/edp/edp_bridge.c create mode 100644 drivers/gpu/drm/msm/edp/edp_common.c create mode 100644 drivers/gpu/drm/msm/edp/edp_common.h delete mode 100644 drivers/gpu/drm/msm/edp/edp_connector.c delete mode 100644 drivers/gpu/drm/msm/edp/edp_ctrl.c delete mode 100644 drivers/gpu/drm/msm/edp/edp_phy.c create mode 100644 drivers/gpu/drm/msm/edp/v200/edp.xml.h create mode 100644 drivers/gpu/drm/msm/edp/v200/edp_v200.c create mode 100644 drivers/gpu/drm/msm/edp/v200/edp_v200.h create mode 100644 drivers/gpu/drm/msm/edp/v200/edp_v200_aux.c create mode 100644 drivers/gpu/drm/msm/edp/v200/edp_v200_bridge.c create mode 100644 drivers/gpu/drm/msm/edp/v200/edp_v200_connector.c create mode 100644 drivers/gpu/drm/msm/edp/v200/edp_v200_ctrl.c create mode 100644 drivers/gpu/drm/msm/edp/v200/edp_v200_phy.c create mode 100644 drivers/gpu/drm/msm/edp/v510/edp_v510.c create mode 100644 drivers/gpu/drm/msm/edp/v510/edp_v510.h create mode 100644 drivers/gpu/drm/msm/edp/v510/edp_v510_aux.c create mode 100644 drivers/gpu/drm/msm/edp/v510/edp_v510_bridge.c create mode 100644 drivers/gpu/drm/msm/edp/v510/edp_v510_connector.c create mode 100644 drivers/gpu/drm/msm/edp/v510/edp_v510_ctrl.c create mode 100644 drivers/gpu/drm/msm/edp/v510/edp_v510_phy.c create mode 100644 drivers/gpu/drm/msm/edp/v510/edp_v510_reg.h
-- The Qualcomm Innovatin Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
-- With best wishes Dmitry