Hi,
On Thu, Aug 26, 2021 at 10:20 PM Stephen Boyd swboyd@chromium.org wrote:
Quoting Bjorn Andersson (2021-08-25 16:42:31)
diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c index 2c7de43f655a..4a6132c18e57 100644 --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -78,6 +78,8 @@ struct dp_display_private { char *name; int irq;
int id;
/* state variables */ bool core_initialized; bool hpd_irq_on;
@@ -115,8 +117,19 @@ struct dp_display_private { struct dp_audio *audio; };
+struct msm_dp_config {
phys_addr_t io_start[3];
Can this be made into another struct, like msm_dp_desc, that also indicates what type of DP connector it is, i.e. eDP vs DP? That would help me understand in modetest and /sys/class/drm what sort of connector is probing. dp_drm_connector_init() would need to pass the type of connector appropriately. Right now, eDP connectors still show up as DP instead of eDP in sysfs.
I'm not convinced that's the right way to do it. I think the right way forward here is to look at whether drm_of_find_panel_or_bridge() finds a panel. If it finds a panel then we're eDP. If it doesn't then we're DP. That matches roughly what Laurent was planning to do for ti-sn65dsi86:
https://lore.kernel.org/all/20210322030128.2283-11-laurent.pinchart+renesas@...
I know technically an eDP and DP controller can have different sets of features but I think what we really are trying to communicate to modetest is whether an internal panel or external display is connected, right?
-Doug