From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com (Ville =?iso-8859-1?Q?Syrj=E4l=E4?=) Date: Thu, 1 Mar 2018 23:18:40 +0200 Subject: [PATCH] drm/bridge: sii902x: Fall back to standard modes In-Reply-To: References: <20180214130059.19052-1-linus.walleij@linaro.org> Message-ID: <20180301211840.GD5453@intel.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, Mar 01, 2018 at 10:02:55PM +0100, Linus Walleij wrote: > Hm, hard to get review feedback on this one. > > It gives me proper video on an ARM Versatile Express utilizing the > bridge driver with a plugged in DVI-to-VGA dongle with the new > PL111 DRI driver. > > Liviu? Pawel? > > Some ACK is fine to know I am doing the right thing :) Why isn't the probe helper's noedid fallback working? > > Yours, > Linus Walleij > > On Wed, Feb 14, 2018 at 2:00 PM, Linus Walleij wrote: > > The following happens when connection a DVI output driven > > from the SiI9022 using a DVI-to-VGA adapter plug: > > > > i2c i2c-0: sendbytes: NAK bailout. > > i2c i2c-0: sendbytes: NAK bailout. > > > > Then no picture. Apparently the I2C engine inside the SiI9022 > > is not smart enough to try to fall back to DDC I2C. Or the > > vendor have not integrated the electronics properly. I don't > > know which one it is. > > > > By using standard modes as fallback, the bridge probes nicely > > with a minor warning and we get picture. > > > > This code is inspired by similar code in the dumb VGA bridge. > > > > Signed-off-by: Linus Walleij > > --- > > drivers/gpu/drm/bridge/sii902x.c | 15 +++++++++++++-- > > 1 file changed, 13 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c > > index b1ab4ab09532..4483095c4013 100644 > > --- a/drivers/gpu/drm/bridge/sii902x.c > > +++ b/drivers/gpu/drm/bridge/sii902x.c > > @@ -168,8 +168,19 @@ static int sii902x_get_modes(struct drm_connector *connector) > > return ret; > > > > edid = drm_get_edid(connector, sii902x->i2c->adapter); > > - drm_mode_connector_update_edid_property(connector, edid); > > - if (edid) { > > + if (!edid) { > > + /* > > + * This happens when using a simple DVI-to-VGA converter > > + * dongle for example: the I2C lines are not bridged over > > + * to VGA DDC. > > + */ > > + DRM_INFO("EDID readout failed, falling back to standard modes\n"); > > + ret = drm_add_modes_noedid(connector, 1920, 1080); > > + /* Set some standard resolution most monitors can handle */ > > + drm_set_preferred_mode(connector, 1024, 768); > > + } else { > > + /* Data from EDID readout */ > > + drm_mode_connector_update_edid_property(connector, edid); > > num = drm_add_edid_modes(connector, edid); > > kfree(edid); > > } > > -- > > 2.14.3 > > > _______________________________________________ > dri-devel mailing list > dri-devel at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Ville Syrj?l? Intel OTC From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/bridge: sii902x: Fall back to standard modes Date: Thu, 1 Mar 2018 23:18:40 +0200 Message-ID: <20180301211840.GD5453@intel.com> References: <20180214130059.19052-1-linus.walleij@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 41B3C6ED9C for ; Thu, 1 Mar 2018 21:18:45 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Linus Walleij Cc: Pawel Moll , Liviu Dudau , "open list:DRM PANEL DRIVERS" , Laurent Pinchart , Linux ARM List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBNYXIgMDEsIDIwMTggYXQgMTA6MDI6NTVQTSArMDEwMCwgTGludXMgV2FsbGVpaiB3 cm90ZToKPiBIbSwgaGFyZCB0byBnZXQgcmV2aWV3IGZlZWRiYWNrIG9uIHRoaXMgb25lLgo+IAo+ IEl0IGdpdmVzIG1lIHByb3BlciB2aWRlbyBvbiBhbiBBUk0gVmVyc2F0aWxlIEV4cHJlc3MgdXRp bGl6aW5nIHRoZQo+IGJyaWRnZSBkcml2ZXIgd2l0aCBhIHBsdWdnZWQgaW4gRFZJLXRvLVZHQSBk b25nbGUgd2l0aCB0aGUgbmV3Cj4gUEwxMTEgRFJJIGRyaXZlci4KPiAKPiBMaXZpdT8gUGF3ZWw/ Cj4gCj4gU29tZSBBQ0sgaXMgZmluZSB0byBrbm93IEkgYW0gZG9pbmcgdGhlIHJpZ2h0IHRoaW5n IDopCgpXaHkgaXNuJ3QgdGhlIHByb2JlIGhlbHBlcidzIG5vZWRpZCBmYWxsYmFjayB3b3JraW5n PwoKPiAKPiBZb3VycywKPiBMaW51cyBXYWxsZWlqCj4gCj4gT24gV2VkLCBGZWIgMTQsIDIwMTgg YXQgMjowMCBQTSwgTGludXMgV2FsbGVpaiA8bGludXMud2FsbGVpakBsaW5hcm8ub3JnPiB3cm90 ZToKPiA+IFRoZSBmb2xsb3dpbmcgaGFwcGVucyB3aGVuIGNvbm5lY3Rpb24gYSBEVkkgb3V0cHV0 IGRyaXZlbgo+ID4gZnJvbSB0aGUgU2lJOTAyMiB1c2luZyBhIERWSS10by1WR0EgYWRhcHRlciBw bHVnOgo+ID4KPiA+IGkyYyBpMmMtMDogc2VuZGJ5dGVzOiBOQUsgYmFpbG91dC4KPiA+IGkyYyBp MmMtMDogc2VuZGJ5dGVzOiBOQUsgYmFpbG91dC4KPiA+Cj4gPiBUaGVuIG5vIHBpY3R1cmUuIEFw cGFyZW50bHkgdGhlIEkyQyBlbmdpbmUgaW5zaWRlIHRoZSBTaUk5MDIyCj4gPiBpcyBub3Qgc21h cnQgZW5vdWdoIHRvIHRyeSB0byBmYWxsIGJhY2sgdG8gRERDIEkyQy4gT3IgdGhlCj4gPiB2ZW5k b3IgaGF2ZSBub3QgaW50ZWdyYXRlZCB0aGUgZWxlY3Ryb25pY3MgcHJvcGVybHkuIEkgZG9uJ3QK PiA+IGtub3cgd2hpY2ggb25lIGl0IGlzLgo+ID4KPiA+IEJ5IHVzaW5nIHN0YW5kYXJkIG1vZGVz IGFzIGZhbGxiYWNrLCB0aGUgYnJpZGdlIHByb2JlcyBuaWNlbHkKPiA+IHdpdGggYSBtaW5vciB3 YXJuaW5nIGFuZCB3ZSBnZXQgcGljdHVyZS4KPiA+Cj4gPiBUaGlzIGNvZGUgaXMgaW5zcGlyZWQg Ynkgc2ltaWxhciBjb2RlIGluIHRoZSBkdW1iIFZHQSBicmlkZ2UuCj4gPgo+ID4gU2lnbmVkLW9m Zi1ieTogTGludXMgV2FsbGVpaiA8bGludXMud2FsbGVpakBsaW5hcm8ub3JnPgo+ID4gLS0tCj4g PiAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMgfCAxNSArKysrKysrKysrKysrLS0K PiA+ICAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiA+ Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMgYi9kcml2 ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYwo+ID4gaW5kZXggYjFhYjRhYjA5NTMyLi40NDgz MDk1YzQwMTMgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMngu Ywo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMKPiA+IEBAIC0xNjgs OCArMTY4LDE5IEBAIHN0YXRpYyBpbnQgc2lpOTAyeF9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ID4KPiA+ ICAgICAgICAgZWRpZCA9IGRybV9nZXRfZWRpZChjb25uZWN0b3IsIHNpaTkwMngtPmkyYy0+YWRh cHRlcik7Cj4gPiAtICAgICAgIGRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0 eShjb25uZWN0b3IsIGVkaWQpOwo+ID4gLSAgICAgICBpZiAoZWRpZCkgewo+ID4gKyAgICAgICBp ZiAoIWVkaWQpIHsKPiA+ICsgICAgICAgICAgICAgICAvKgo+ID4gKyAgICAgICAgICAgICAgICAq IFRoaXMgaGFwcGVucyB3aGVuIHVzaW5nIGEgc2ltcGxlIERWSS10by1WR0EgY29udmVydGVyCj4g PiArICAgICAgICAgICAgICAgICogZG9uZ2xlIGZvciBleGFtcGxlOiB0aGUgSTJDIGxpbmVzIGFy ZSBub3QgYnJpZGdlZCBvdmVyCj4gPiArICAgICAgICAgICAgICAgICogdG8gVkdBIEREQy4KPiA+ ICsgICAgICAgICAgICAgICAgKi8KPiA+ICsgICAgICAgICAgICAgICBEUk1fSU5GTygiRURJRCBy ZWFkb3V0IGZhaWxlZCwgZmFsbGluZyBiYWNrIHRvIHN0YW5kYXJkIG1vZGVzXG4iKTsKPiA+ICsg ICAgICAgICAgICAgICByZXQgPSBkcm1fYWRkX21vZGVzX25vZWRpZChjb25uZWN0b3IsIDE5MjAs IDEwODApOwo+ID4gKyAgICAgICAgICAgICAgIC8qIFNldCBzb21lIHN0YW5kYXJkIHJlc29sdXRp b24gbW9zdCBtb25pdG9ycyBjYW4gaGFuZGxlICovCj4gPiArICAgICAgICAgICAgICAgZHJtX3Nl dF9wcmVmZXJyZWRfbW9kZShjb25uZWN0b3IsIDEwMjQsIDc2OCk7Cj4gPiArICAgICAgIH0gZWxz ZSB7Cj4gPiArICAgICAgICAgICAgICAgLyogRGF0YSBmcm9tIEVESUQgcmVhZG91dCAqLwo+ID4g KyAgICAgICAgICAgICAgIGRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShj b25uZWN0b3IsIGVkaWQpOwo+ID4gICAgICAgICAgICAgICAgIG51bSA9IGRybV9hZGRfZWRpZF9t b2Rlcyhjb25uZWN0b3IsIGVkaWQpOwo+ID4gICAgICAgICAgICAgICAgIGtmcmVlKGVkaWQpOwo+ ID4gICAgICAgICB9Cj4gPiAtLQo+ID4gMi4xNC4zCj4gPgo+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+IGRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRl bCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==