On Thu, May 23, 2019 at 10:50:41AM +0300, Laurent Pinchart wrote: > Hi Torsten, > > Thank you for the patch. Thank you for the thorough review! > On Thu, May 23, 2019 at 08:53:56AM +0200, Torsten Duwe wrote: > > +{ > > + struct anx6345 *anx6345 = connector_to_anx6345(connector); > > + int err, num_modes = 0; > > + bool power_off = false; > > + > > + mutex_lock(&anx6345->lock); > > + > > + if (!anx6345->edid) { > > Could the chip be used with a hot-pluggable display, or is it guaranteed > that EDID will never change ? The chip itself is capable of (e)DP hot-plugging, so the signals suggest. See the previous discussions about what to expect on the output side. Currently, the driver does not handle hot-plugging. > > + > > + err = drm_of_find_panel_or_bridge(client->dev.of_node, 1, 0, > > + &anx6345->panel, NULL); > > + if (err == -EPROBE_DEFER) > > + return err; > > + > > + if (err) > > + DRM_DEBUG("No panel found\n"); > > Shouldn't this be fatal ? No, basically same as above. On the output side, there can be a panel, another bridge, or some eDP plug. If the DT didn't explicitly specify a panel or a bridge, we can still generate video output as soon as there is valid EDID data. Your other points went straight onto my TODO list. Torsten