From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Agner Subject: Re: [PATCH RESEND v3 1/2] drm: introduce bus_flags in drm_display_info Date: Thu, 05 May 2016 09:19:53 -0700 Message-ID: <3ef5018d5af4e405ac43accea72f802e@agner.ch> References: <1462424940-5164-1-git-send-email-stefan@agner.ch> <1462424940-5164-2-git-send-email-stefan@agner.ch> <572AE5BA.3060003@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.kmu-office.ch (mail.kmu-office.ch [IPv6:2a02:418:6a02::a2]) by gabe.freedesktop.org (Postfix) with ESMTPS id BB3B76E2DB for ; Thu, 5 May 2016 16:23:32 +0000 (UTC) In-Reply-To: <572AE5BA.3060003@rock-chips.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Mark yao Cc: jianwei.wang.chn@gmail.com, meng.yi@nxp.com, linux@arm.linux.org.uk, alison.wang@freescale.com, daniel.vetter@ffwll.ch, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, denis@eukrea.com, eric@eukrea.com List-Id: dri-devel@lists.freedesktop.org SGkgTWFyaywKCk9uIDIwMTYtMDUtMDQgMjM6MTgsIE1hcmsgeWFvIHdyb3RlOgo+IEhpIFN0ZWZh bgo+IAo+IEFjdHVhbGx5LCB0aGUgcGl4ZWwgY2xvY2sgb3IgZGF0YSBlbmFibGUgcG9sYXJpdHkg YXJlIGFsc28gbmVlZGVkIGJ5Cj4gZHJtL3JvY2tjaGlwLAo+IAo+IGJ1dCBJIGhhdmUgYSBxdWVz dGlvbjoKPiAKPiB3aHkgbm90IGFkZCB0aGVzZSBwb2xhcml0eSBpbnRvIGRybV9kaXNwbGF5X21v ZGUtPmZsYWdzLgo+IGRybV9kaXNwbGF5X21vZGUtPmZsYWdzIGhhcyBoc3luYyBhbmQgdnN5bmMg cG9sYXJpdHksCj4gSSB0aGluayBpdCdzIGNvb2wgdGhhdCBhZGQgcGl4ZWwgY2xvY2sgb3IgZGF0 YSBlbmFibGUgcG9sYXJpdHkgb24KPiBkcm1fZGlzcGxheV9tb2RlLT5mbGFncy4KClRoaXMgaGFz IGJlZW4gcHJvcG9zZWQgc2V2ZXJhbCB0aW1lcywgaW5jbHVkaW5nIG1lICh2MSBvZiB0aGlzCnBh dGNoc2V0KS4gSG93ZXZlciwgdGhlcmUgYXJlIGdvb2QgcmVhc29ucyB3aHkgdGhpcyBoYXMgbm90 IGJlZW4KYWNjZXB0ZWQsIG1haW5seSBzaW5jZSBtb2RlIGZsYWdzIGxlYWsgdG8gdXNlciBzcGFj ZSBhbmQgdGhlIGtlcm5lbApkZXZlbG9wZXIgd2FudGVkIHRvIGF2b2lkIHRoYXQgKGV2ZW4gbW9y ZSkgc3VjaCBoYXJkd2FyZSBjb25maWd1cmF0aW9uCmdldHMgbGVha2VkIHRvIHVzZXIgc3BhY2Uu Li4gVGhpcyBpcyBob3cgSSB1bmRlcnN0YW5kIGl0LCBidXQgeW91IG1pZ2h0CndhbnQgdG8gcmVh ZCB0aGUgYXJjaGl2ZXMgZm9yIGRldGFpbHMuCgotLQpTdGVmYW4KCj4gCj4gVGhlIHBvbGFyaXR5 IHNlZW1zIHNob3VsZCBiZSB1c2VkIG9uIGNydGMsIGJ1dCBjcnRjIGNhbid0IGRpcmVjdCBnZXQK PiB0aGUgcGFuZWwsIHNhdmUgcG9sYXJpdHkgb24gcGFuZWxfZGVzYyBtZWFucyBuZWVkIG1vcmUg d29yayB0bwo+IHRyYW5zbWl0IGl0IHRvIGNydGMuCj4gCj4gVGhhbmtzLgo+IAo+IE9uIDIwMTbl ubQwNeaciDA15pelIDEzOjA4LCBTdGVmYW4gQWduZXIgd3JvdGU6Cj4+IEludHJvZHVjZSBidXNf ZmxhZ3MgdG8gc3BlY2lmeSBkaXNwbGF5IGJ1cyBwcm9wZXJ0aWVzIGxpa2Ugc2lnbmFsCj4+IHBv bGFyaXRpZXMuIFRoaXMgaXMgdXNlZnVsIGZvciBwYXJhbGxlbCBkaXNwbGF5IGJ1c2VzLCBlLmcu IHRvCj4+IHNwZWNpZnkgdGhlIHBpeGVsIGNsb2NrIG9yIGRhdGEgZW5hYmxlIHBvbGFyaXR5Lgo+ Pgo+PiBTdWdnZXN0ZWQtYnk6IFRoaWVycnkgUmVkaW5nIDx0aGllcnJ5LnJlZGluZ0BnbWFpbC5j b20+Cj4+IEFja2VkLWJ5OiBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgo+ PiBBY2tlZC1ieTogTWFuZnJlZCBTY2hsYWVnbCA8bWFuZnJlZC5zY2hsYWVnbEBnbXguYXQ+Cj4+ IEFja2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+PiBTaWdu ZWQtb2ZmLWJ5OiBTdGVmYW4gQWduZXIgPHN0ZWZhbkBhZ25lci5jaD4KPj4gLS0tCj4+ICAgZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jIHwgMiArKwo+PiAgIGluY2x1ZGUvZHJt L2RybV9jcnRjLmggICAgICAgICAgICAgICB8IDkgKysrKysrKysrCj4+ICAgMiBmaWxlcyBjaGFu Z2VkLCAxMSBpbnNlcnRpb25zKCspCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtc2ltcGxlLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2ltcGxl LmMKPj4gaW5kZXggY2ViMjA0OC4uNzdhZTA3ZiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLXNpbXBsZS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1zaW1wbGUuYwo+PiBAQCAtNzIsNiArNzIsNyBAQCBzdHJ1Y3QgcGFuZWxfZGVzYyB7Cj4+ ICAgCX0gZGVsYXk7Cj4+ICAgICAJdTMyIGJ1c19mb3JtYXQ7Cj4+ICsJdTMyIGJ1c19mbGFnczsK Pj4gICB9Owo+PiAgICAgc3RydWN0IHBhbmVsX3NpbXBsZSB7Cj4+IEBAIC0xNDQsNiArMTQ1LDcg QEAgc3RhdGljIGludCBwYW5lbF9zaW1wbGVfZ2V0X2ZpeGVkX21vZGVzKHN0cnVjdCBwYW5lbF9z aW1wbGUgKnBhbmVsKQo+PiAgIAlpZiAocGFuZWwtPmRlc2MtPmJ1c19mb3JtYXQpCj4+ICAgCQlk cm1fZGlzcGxheV9pbmZvX3NldF9idXNfZm9ybWF0cygmY29ubmVjdG9yLT5kaXNwbGF5X2luZm8s Cj4+ICAgCQkJCQkJICZwYW5lbC0+ZGVzYy0+YnVzX2Zvcm1hdCwgMSk7Cj4+ICsJY29ubmVjdG9y LT5kaXNwbGF5X2luZm8uYnVzX2ZsYWdzID0gcGFuZWwtPmRlc2MtPmJ1c19mbGFnczsKPj4gICAg IAlyZXR1cm4gbnVtOwo+PiAgIH0KPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jcnRj LmggYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4+IGluZGV4IDRhY2RhZjUuLmQxNTU5Y2QgMTAw NjQ0Cj4+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPj4gKysrIGIvaW5jbHVkZS9kcm0v ZHJtX2NydGMuaAo+PiBAQCAtMTE4LDYgKzExOCwxNCBAQCBlbnVtIHN1YnBpeGVsX29yZGVyIHsK Pj4gICAjZGVmaW5lIERSTV9DT0xPUl9GT1JNQVRfUkdCNDQ0CQkoMTw8MCkKPj4gICAjZGVmaW5l IERSTV9DT0xPUl9GT1JNQVRfWUNSQ0I0NDQJKDE8PDEpCj4+ICAgI2RlZmluZSBEUk1fQ09MT1Jf Rk9STUFUX1lDUkNCNDIyCSgxPDwyKQo+PiArCj4+ICsjZGVmaW5lIERSTV9CVVNfRkxBR19ERV9M T1cJCSgxPDwwKQo+PiArI2RlZmluZSBEUk1fQlVTX0ZMQUdfREVfSElHSAkJKDE8PDEpCj4+ICsv KiBkcml2ZSBkYXRhIG9uIHBvcy4gZWRnZSAqLwo+PiArI2RlZmluZSBEUk1fQlVTX0ZMQUdfUElY REFUQV9QT1NFREdFCSgxPDwyKQo+PiArLyogZHJpdmUgZGF0YSBvbiBuZWcuIGVkZ2UgKi8KPj4g KyNkZWZpbmUgRFJNX0JVU19GTEFHX1BJWERBVEFfTkVHRURHRQkoMTw8MykKPj4gKwo+PiAgIC8q Cj4+ICAgICogRGVzY3JpYmVzIGEgZ2l2ZW4gZGlzcGxheSAoZS5nLiBDUlQgb3IgZmxhdCBwYW5l bCkgYW5kIGl0cyBsaW1pdGF0aW9ucy4KPj4gICAgKi8KPj4gQEAgLTEzOSw2ICsxNDcsNyBAQCBz dHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyB7Cj4+ICAgICAJY29uc3QgdTMyICpidXNfZm9ybWF0czsK Pj4gICAJdW5zaWduZWQgaW50IG51bV9idXNfZm9ybWF0czsKPj4gKwl1MzIgYnVzX2ZsYWdzOwo+ PiAgICAgCS8qIE1hc2sgb2Ygc3VwcG9ydGVkIGhkbWkgZGVlcCBjb2xvciBtb2RlcyAqLwo+PiAg IAl1OCBlZGlkX2hkbWlfZGNfbW9kZXM7Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757641AbcEEQXd (ORCPT ); Thu, 5 May 2016 12:23:33 -0400 Received: from mail.kmu-office.ch ([178.209.48.109]:43889 "EHLO mail.kmu-office.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752937AbcEEQXc (ORCPT ); Thu, 5 May 2016 12:23:32 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Date: Thu, 05 May 2016 09:19:53 -0700 From: Stefan Agner To: Mark yao Cc: dri-devel@lists.freedesktop.org, thierry.reding@gmail.com, jianwei.wang.chn@gmail.com, meng.yi@nxp.com, linux@arm.linux.org.uk, eric@eukrea.com, alison.wang@freescale.com, daniel.vetter@ffwll.ch, linux-kernel@vger.kernel.org, denis@eukrea.com Subject: Re: [PATCH RESEND v3 1/2] drm: introduce bus_flags in drm_display_info In-Reply-To: <572AE5BA.3060003@rock-chips.com> References: <1462424940-5164-1-git-send-email-stefan@agner.ch> <1462424940-5164-2-git-send-email-stefan@agner.ch> <572AE5BA.3060003@rock-chips.com> Message-ID: <3ef5018d5af4e405ac43accea72f802e@agner.ch> User-Agent: Roundcube Webmail/1.1.3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Mark, On 2016-05-04 23:18, Mark yao wrote: > Hi Stefan > > Actually, the pixel clock or data enable polarity are also needed by > drm/rockchip, > > but I have a question: > > why not add these polarity into drm_display_mode->flags. > drm_display_mode->flags has hsync and vsync polarity, > I think it's cool that add pixel clock or data enable polarity on > drm_display_mode->flags. This has been proposed several times, including me (v1 of this patchset). However, there are good reasons why this has not been accepted, mainly since mode flags leak to user space and the kernel developer wanted to avoid that (even more) such hardware configuration gets leaked to user space... This is how I understand it, but you might want to read the archives for details. -- Stefan > > The polarity seems should be used on crtc, but crtc can't direct get > the panel, save polarity on panel_desc means need more work to > transmit it to crtc. > > Thanks. > > On 2016年05月05日 13:08, Stefan Agner wrote: >> Introduce bus_flags to specify display bus properties like signal >> polarities. This is useful for parallel display buses, e.g. to >> specify the pixel clock or data enable polarity. >> >> Suggested-by: Thierry Reding >> Acked-by: Philipp Zabel >> Acked-by: Manfred Schlaegl >> Acked-by: Daniel Vetter >> Signed-off-by: Stefan Agner >> --- >> drivers/gpu/drm/panel/panel-simple.c | 2 ++ >> include/drm/drm_crtc.h | 9 +++++++++ >> 2 files changed, 11 insertions(+) >> >> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c >> index ceb2048..77ae07f 100644 >> --- a/drivers/gpu/drm/panel/panel-simple.c >> +++ b/drivers/gpu/drm/panel/panel-simple.c >> @@ -72,6 +72,7 @@ struct panel_desc { >> } delay; >> u32 bus_format; >> + u32 bus_flags; >> }; >> struct panel_simple { >> @@ -144,6 +145,7 @@ static int panel_simple_get_fixed_modes(struct panel_simple *panel) >> if (panel->desc->bus_format) >> drm_display_info_set_bus_formats(&connector->display_info, >> &panel->desc->bus_format, 1); >> + connector->display_info.bus_flags = panel->desc->bus_flags; >> return num; >> } >> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h >> index 4acdaf5..d1559cd 100644 >> --- a/include/drm/drm_crtc.h >> +++ b/include/drm/drm_crtc.h >> @@ -118,6 +118,14 @@ enum subpixel_order { >> #define DRM_COLOR_FORMAT_RGB444 (1<<0) >> #define DRM_COLOR_FORMAT_YCRCB444 (1<<1) >> #define DRM_COLOR_FORMAT_YCRCB422 (1<<2) >> + >> +#define DRM_BUS_FLAG_DE_LOW (1<<0) >> +#define DRM_BUS_FLAG_DE_HIGH (1<<1) >> +/* drive data on pos. edge */ >> +#define DRM_BUS_FLAG_PIXDATA_POSEDGE (1<<2) >> +/* drive data on neg. edge */ >> +#define DRM_BUS_FLAG_PIXDATA_NEGEDGE (1<<3) >> + >> /* >> * Describes a given display (e.g. CRT or flat panel) and its limitations. >> */ >> @@ -139,6 +147,7 @@ struct drm_display_info { >> const u32 *bus_formats; >> unsigned int num_bus_formats; >> + u32 bus_flags; >> /* Mask of supported hdmi deep color modes */ >> u8 edid_hdmi_dc_modes;