From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH RFC 1/5] drm/edid: Add support to get edid early Date: Mon, 17 Aug 2015 10:52:27 +0300 Message-ID: <87614epd1g.fsf@intel.com> References: <439567280-13491-1-git-send-email-srinivas.kandagatla@linaro.org> <1439567398-13611-1-git-send-email-srinivas.kandagatla@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1439567398-13611-1-git-send-email-srinivas.kandagatla@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding , dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, Srinivas Kandagatla , linux-kernel@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org T24gRnJpLCAxNCBBdWcgMjAxNSwgU3Jpbml2YXMgS2FuZGFnYXRsYSA8c3Jpbml2YXMua2FuZGFn YXRsYUBsaW5hcm8ub3JnPiB3cm90ZToKPiBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCB0byBnZXQg ZWRpZCB3YXkgZWFybHkgYmVmb3JlIHRoZSBjb25uZWN0b3IgaXMKPiBjcmVhdGVkLCB0aGlzIGlz IG1haW5seSB1c2VkIGZvciBwYW5lbCBkcml2ZXJzIHRvIGF1dG8tcHJvYmUgdGhlIHBhbmVsCj4g YmFzZWQgb24gdGhlIHZlbmRvciBhbmQgcHJvZHVjdCBpZCBmcm9tIEVESUQuCj4KPiBTaWduZWQt b2ZmLWJ5OiBTcmluaXZhcyBLYW5kYWdhdGxhIDxzcmluaXZhcy5rYW5kYWdhdGxhQGxpbmFyby5v cmc+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jIHwgOCArKysrKysrKwo+ICBp bmNsdWRlL2RybS9kcm1fY3J0Yy5oICAgICB8IDEgKwo+ICAyIGZpbGVzIGNoYW5nZWQsIDkgaW5z ZXJ0aW9ucygrKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiBpbmRleCA3MDg3ZGEzLi4zMDM1OWNkIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9lZGlkLmMKPiBAQCAtMTM4OCw2ICsxMzg4LDE0IEBAIHN0cnVjdCBlZGlkICpkcm1f Z2V0X2VkaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgfQo+ICBFWFBPUlRf U1lNQk9MKGRybV9nZXRfZWRpZCk7Cj4gIAo+ICtzdHJ1Y3QgZWRpZCAqZHJtX2dldF9lZGlkX2Vh cmx5KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlcikKPiArewo+ICsJc3RydWN0IGRybV9jb25u ZWN0b3IgZHVtbXlfY29ubmVjdG9yOwo+ICsKPiArCXJldHVybiBkcm1fZ2V0X2VkaWQoJmR1bW15 X2Nvbm5lY3RvciwgYWRhcHRlcik7CgpUaGlzIHdpbGwgb29wcyB0aGUga2VybmVsIG9uIGJhZCBF RElELgoKQlIsCkphbmkuCgoKPiArfQo+ICtFWFBPUlRfU1lNQk9MKGRybV9nZXRfZWRpZF9lYXJs eSk7Cj4gKwo+ICAvKioKPiAgICogZHJtX2VkaWRfZHVwbGljYXRlIC0gZHVwbGljYXRlIGFuIEVE SUQgYW5kIHRoZSBleHRlbnNpb25zCj4gICAqIEBlZGlkOiBFRElEIHRvIGR1cGxpY2F0ZQo+IGRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMu aAo+IGluZGV4IDU3Y2E4Y2MuLjM1ZDg3NjMgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJt X2NydGMuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPiBAQCAtMTMzMCw2ICsxMzMw LDcgQEAgZXh0ZXJuIHZvaWQgZHJtX3JlaW5pdF9wcmltYXJ5X21vZGVfZ3JvdXAoc3RydWN0IGRy bV9kZXZpY2UgKmRldik7Cj4gIGV4dGVybiBib29sIGRybV9wcm9iZV9kZGMoc3RydWN0IGkyY19h ZGFwdGVyICphZGFwdGVyKTsKPiAgZXh0ZXJuIHN0cnVjdCBlZGlkICpkcm1fZ2V0X2VkaWQoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCQkJCSBzdHJ1Y3QgaTJjX2FkYXB0ZXIg KmFkYXB0ZXIpOwo+ICtleHRlcm4gc3RydWN0IGVkaWQgKmRybV9nZXRfZWRpZF9lYXJseShzdHJ1 Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIpOwo+ICBleHRlcm4gc3RydWN0IGVkaWQgKmRybV9lZGlk X2R1cGxpY2F0ZShjb25zdCBzdHJ1Y3QgZWRpZCAqZWRpZCk7Cj4gIGV4dGVybiBpbnQgZHJtX2Fk ZF9lZGlkX21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIHN0cnVjdCBlZGlk ICplZGlkKTsKPiAgZXh0ZXJuIHZvaWQgZHJtX21vZGVfY29uZmlnX2luaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldik7Cj4gLS0gCj4gMS45LjEKPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+IGRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291 cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754572AbbHQHtb (ORCPT ); Mon, 17 Aug 2015 03:49:31 -0400 Received: from mga03.intel.com ([134.134.136.65]:59985 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750866AbbHQHt3 (ORCPT ); Mon, 17 Aug 2015 03:49:29 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,693,1432623600"; d="scan'208";a="785116880" From: Jani Nikula To: Srinivas Kandagatla , Thierry Reding , dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Srinivas Kandagatla Subject: Re: [PATCH RFC 1/5] drm/edid: Add support to get edid early In-Reply-To: <1439567398-13611-1-git-send-email-srinivas.kandagatla@linaro.org> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <439567280-13491-1-git-send-email-srinivas.kandagatla@linaro.org> <1439567398-13611-1-git-send-email-srinivas.kandagatla@linaro.org> User-Agent: Notmuch/0.20.2+58~g39779b9 (http://notmuchmail.org) Emacs/24.4.1 (x86_64-pc-linux-gnu) Date: Mon, 17 Aug 2015 10:52:27 +0300 Message-ID: <87614epd1g.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 14 Aug 2015, Srinivas Kandagatla wrote: > This patch adds support to get edid way early before the connector is > created, this is mainly used for panel drivers to auto-probe the panel > based on the vendor and product id from EDID. > > Signed-off-by: Srinivas Kandagatla > --- > drivers/gpu/drm/drm_edid.c | 8 ++++++++ > include/drm/drm_crtc.h | 1 + > 2 files changed, 9 insertions(+) > > diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c > index 7087da3..30359cd 100644 > --- a/drivers/gpu/drm/drm_edid.c > +++ b/drivers/gpu/drm/drm_edid.c > @@ -1388,6 +1388,14 @@ struct edid *drm_get_edid(struct drm_connector *connector, > } > EXPORT_SYMBOL(drm_get_edid); > > +struct edid *drm_get_edid_early(struct i2c_adapter *adapter) > +{ > + struct drm_connector dummy_connector; > + > + return drm_get_edid(&dummy_connector, adapter); This will oops the kernel on bad EDID. BR, Jani. > +} > +EXPORT_SYMBOL(drm_get_edid_early); > + > /** > * drm_edid_duplicate - duplicate an EDID and the extensions > * @edid: EDID to duplicate > diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h > index 57ca8cc..35d8763 100644 > --- a/include/drm/drm_crtc.h > +++ b/include/drm/drm_crtc.h > @@ -1330,6 +1330,7 @@ extern void drm_reinit_primary_mode_group(struct drm_device *dev); > extern bool drm_probe_ddc(struct i2c_adapter *adapter); > extern struct edid *drm_get_edid(struct drm_connector *connector, > struct i2c_adapter *adapter); > +extern struct edid *drm_get_edid_early(struct i2c_adapter *adapter); > extern struct edid *drm_edid_duplicate(const struct edid *edid); > extern int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid); > extern void drm_mode_config_init(struct drm_device *dev); > -- > 1.9.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel -- Jani Nikula, Intel Open Source Technology Center