From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark yao Subject: Re: [PATCH RESEND v3 1/2] drm: introduce bus_flags in drm_display_info Date: Thu, 5 May 2016 14:18:34 +0800 Message-ID: <572AE5BA.3060003@rock-chips.com> References: <1462424940-5164-1-git-send-email-stefan@agner.ch> <1462424940-5164-2-git-send-email-stefan@agner.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from regular1.263xmail.com (regular1.263xmail.com [211.150.99.137]) by gabe.freedesktop.org (Postfix) with ESMTPS id D7BF26E8DE for ; Thu, 5 May 2016 06:18:41 +0000 (UTC) In-Reply-To: <1462424940-5164-2-git-send-email-stefan@agner.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Stefan Agner , dri-devel@lists.freedesktop.org, thierry.reding@gmail.com 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, denis@eukrea.com, eric@eukrea.com List-Id: dri-devel@lists.freedesktop.org SGkgU3RlZmFuCgpBY3R1YWxseSwgdGhlIHBpeGVsIGNsb2NrIG9yIGRhdGEgZW5hYmxlIHBvbGFy aXR5IGFyZSBhbHNvIG5lZWRlZCBieSAKZHJtL3JvY2tjaGlwLAoKYnV0IEkgaGF2ZSBhIHF1ZXN0 aW9uOgoKd2h5IG5vdCBhZGQgdGhlc2UgcG9sYXJpdHkgaW50byBkcm1fZGlzcGxheV9tb2RlLT5m bGFncy4gCmRybV9kaXNwbGF5X21vZGUtPmZsYWdzIGhhcyBoc3luYyBhbmQgdnN5bmMgcG9sYXJp dHksCkkgdGhpbmsgaXQncyBjb29sIHRoYXQgYWRkIHBpeGVsIGNsb2NrIG9yIGRhdGEgZW5hYmxl IHBvbGFyaXR5IG9uIApkcm1fZGlzcGxheV9tb2RlLT5mbGFncy4KClRoZSBwb2xhcml0eSBzZWVt cyBzaG91bGQgYmUgdXNlZCBvbiBjcnRjLCBidXQgY3J0YyBjYW4ndCBkaXJlY3QgZ2V0IHRoZSAK cGFuZWwsIHNhdmUgcG9sYXJpdHkgb24gcGFuZWxfZGVzYyBtZWFucyBuZWVkIG1vcmUgd29yayB0 byB0cmFuc21pdCBpdCAKdG8gY3J0Yy4KClRoYW5rcy4KCk9uIDIwMTblubQwNeaciDA15pelIDEz OjA4LCBTdGVmYW4gQWduZXIgd3JvdGU6Cj4gSW50cm9kdWNlIGJ1c19mbGFncyB0byBzcGVjaWZ5 IGRpc3BsYXkgYnVzIHByb3BlcnRpZXMgbGlrZSBzaWduYWwKPiBwb2xhcml0aWVzLiBUaGlzIGlz IHVzZWZ1bCBmb3IgcGFyYWxsZWwgZGlzcGxheSBidXNlcywgZS5nLiB0bwo+IHNwZWNpZnkgdGhl IHBpeGVsIGNsb2NrIG9yIGRhdGEgZW5hYmxlIHBvbGFyaXR5Lgo+Cj4gU3VnZ2VzdGVkLWJ5OiBU aGllcnJ5IFJlZGluZyA8dGhpZXJyeS5yZWRpbmdAZ21haWwuY29tPgo+IEFja2VkLWJ5OiBQaGls aXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgo+IEFja2VkLWJ5OiBNYW5mcmVkIFNj aGxhZWdsIDxtYW5mcmVkLnNjaGxhZWdsQGdteC5hdD4KPiBBY2tlZC1ieTogRGFuaWVsIFZldHRl ciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gQWduZXIg PHN0ZWZhbkBhZ25lci5jaD4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1z aW1wbGUuYyB8IDIgKysKPiAgIGluY2x1ZGUvZHJtL2RybV9jcnRjLmggICAgICAgICAgICAgICB8 IDkgKysrKysrKysrCj4gICAyIGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKPgo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2ltcGxlLmMgYi9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtc2ltcGxlLmMKPiBpbmRleCBjZWIyMDQ4Li43N2FlMDdmIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaW1wbGUuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaW1wbGUuYwo+IEBAIC03Miw2ICs3Miw3IEBA IHN0cnVjdCBwYW5lbF9kZXNjIHsKPiAgIAl9IGRlbGF5Owo+ICAgCj4gICAJdTMyIGJ1c19mb3Jt YXQ7Cj4gKwl1MzIgYnVzX2ZsYWdzOwo+ICAgfTsKPiAgIAo+ICAgc3RydWN0IHBhbmVsX3NpbXBs ZSB7Cj4gQEAgLTE0NCw2ICsxNDUsNyBAQCBzdGF0aWMgaW50IHBhbmVsX3NpbXBsZV9nZXRfZml4 ZWRfbW9kZXMoc3RydWN0IHBhbmVsX3NpbXBsZSAqcGFuZWwpCj4gICAJaWYgKHBhbmVsLT5kZXNj LT5idXNfZm9ybWF0KQo+ICAgCQlkcm1fZGlzcGxheV9pbmZvX3NldF9idXNfZm9ybWF0cygmY29u bmVjdG9yLT5kaXNwbGF5X2luZm8sCj4gICAJCQkJCQkgJnBhbmVsLT5kZXNjLT5idXNfZm9ybWF0 LCAxKTsKPiArCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmJ1c19mbGFncyA9IHBhbmVsLT5kZXNj LT5idXNfZmxhZ3M7Cj4gICAKPiAgIAlyZXR1cm4gbnVtOwo+ICAgfQo+IGRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS9kcm1fY3J0Yy5oIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAo+IGluZGV4IDRh Y2RhZjUuLmQxNTU5Y2QgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAo+ICsr KyBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPiBAQCAtMTE4LDYgKzExOCwxNCBAQCBlbnVtIHN1 YnBpeGVsX29yZGVyIHsKPiAgICNkZWZpbmUgRFJNX0NPTE9SX0ZPUk1BVF9SR0I0NDQJCSgxPDww KQo+ICAgI2RlZmluZSBEUk1fQ09MT1JfRk9STUFUX1lDUkNCNDQ0CSgxPDwxKQo+ICAgI2RlZmlu ZSBEUk1fQ09MT1JfRk9STUFUX1lDUkNCNDIyCSgxPDwyKQo+ICsKPiArI2RlZmluZSBEUk1fQlVT X0ZMQUdfREVfTE9XCQkoMTw8MCkKPiArI2RlZmluZSBEUk1fQlVTX0ZMQUdfREVfSElHSAkJKDE8 PDEpCj4gKy8qIGRyaXZlIGRhdGEgb24gcG9zLiBlZGdlICovCj4gKyNkZWZpbmUgRFJNX0JVU19G TEFHX1BJWERBVEFfUE9TRURHRQkoMTw8MikKPiArLyogZHJpdmUgZGF0YSBvbiBuZWcuIGVkZ2Ug Ki8KPiArI2RlZmluZSBEUk1fQlVTX0ZMQUdfUElYREFUQV9ORUdFREdFCSgxPDwzKQo+ICsKPiAg IC8qCj4gICAgKiBEZXNjcmliZXMgYSBnaXZlbiBkaXNwbGF5IChlLmcuIENSVCBvciBmbGF0IHBh bmVsKSBhbmQgaXRzIGxpbWl0YXRpb25zLgo+ICAgICovCj4gQEAgLTEzOSw2ICsxNDcsNyBAQCBz dHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyB7Cj4gICAKPiAgIAljb25zdCB1MzIgKmJ1c19mb3JtYXRz Owo+ICAgCXVuc2lnbmVkIGludCBudW1fYnVzX2Zvcm1hdHM7Cj4gKwl1MzIgYnVzX2ZsYWdzOwo+ ICAgCj4gICAJLyogTWFzayBvZiBzdXBwb3J0ZWQgaGRtaSBkZWVwIGNvbG9yIG1vZGVzICovCj4g ICAJdTggZWRpZF9oZG1pX2RjX21vZGVzOwoKCi0tIArvvK1hcmsgWWFvCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753028AbcEEGSt (ORCPT ); Thu, 5 May 2016 02:18:49 -0400 Received: from regular1.263xmail.com ([211.150.99.137]:33010 "EHLO regular1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751385AbcEEGSr (ORCPT ); Thu, 5 May 2016 02:18:47 -0400 X-263anti-spam: BIG:0;ABS:1;DNS:0;ATT:0;SPF:S;KSV:0; X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-ABS-CHECKED: 1 X-SKE-CHECKED: 1 X-ADDR-CHECKED: 0 X-KSVirus-check: 0 X-RL-SENDER: mark.yao@rock-chips.com X-FST-TO: denis@eukrea.com X-SENDER-IP: 58.22.7.114 X-LOGIN-NAME: mark.yao@rock-chips.com X-UNIQUE-TAG: <4e74784220bd9ff05722d89c8015d893> X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: [PATCH RESEND v3 1/2] drm: introduce bus_flags in drm_display_info To: Stefan Agner , dri-devel@lists.freedesktop.org, thierry.reding@gmail.com References: <1462424940-5164-1-git-send-email-stefan@agner.ch> <1462424940-5164-2-git-send-email-stefan@agner.ch> Cc: 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 From: Mark yao Message-ID: <572AE5BA.3060003@rock-chips.com> Date: Thu, 5 May 2016 14:18:34 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <1462424940-5164-2-git-send-email-stefan@agner.ch> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. 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; -- Mark Yao