From mboxrd@z Thu Jan 1 00:00:00 1970 From: jilaiw@codeaurora.org Subject: Re: [PATCH 2/3] drm:msm: Initial Add Writeback Support Date: Thu, 2 Apr 2015 18:54:37 -0000 Message-ID: References: <1427922770-13721-1-git-send-email-jilaiw@codeaurora.org> <1427967609.10518.33.camel@x220> <1d1ffeacb66f0a24212f83bbe86996d9.squirrel@www.codeaurora.org> <1427999042.10518.60.camel@x220> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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: Rob Clark Cc: linux-arm-msm , Paul Bolle , Linux Kernel Mailing List , "dri-devel@lists.freedesktop.org" List-Id: linux-arm-msm@vger.kernel.org PiBPbiBUaHUsIEFwciAyLCAyMDE1IGF0IDI6MjQgUE0sIFBhdWwgQm9sbGUgPHBlYm9sbGVAdGlz Y2FsaS5ubD4gd3JvdGU6Cj4+IEhpIEppbGFpLAo+Pgo+PiBPbiBUaHUsIDIwMTUtMDQtMDIgYXQg MTc6NTggKzAwMDAsIGppbGFpd0Bjb2RlYXVyb3JhLm9yZyB3cm90ZToKPj4+IFRoYW5rcyBQYXVs LiBTb21lIGNvbW1lbnRzIGVtYmVkZGVkIGFuZCBmb3IgdGhlIHJlc3QgSSB3aWxsIHVwZGF0ZSB0 aGUKPj4+IGNvZGUgYWNjb3JkaW5nbHkuCj4+Cj4+IE1vc3Qgb2YgbXkgY29tbWVudHMgYXBwZWFy IHRvIGJlIGlsbCBpbmZvcm1lZCwgc28gSSB3b3VsZG4ndCBtaW5kIGlmCj4+IHlvdSdkIHNwZWNp Znkgd2hpY2ggdXBkYXRlcyB5b3UgYWN0dWFsbHkgcGxhbiB0byBkby4KPj4KPj4+ID4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9tc20vTWFrZWZpbGUKPj4+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vTWFrZWZpbGUKPj4+ID4KPj4+ID4+ICttc20tJChDT05GSUdfRFJNX01TTV9XQikgKz0g XAo+Pj4gPj4gKyAgbWRwL21kcDUvbWRwNV93Yl9lbmNvZGVyLm8gXAo+Pj4gPj4gKyAgbWRwL21k cF93Yi9tZHBfd2IubyBcCj4+PiA+PiArICBtZHAvbWRwX3diL21kcF93Yl9jb25uZWN0b3IubyBc Cj4+PiA+PiArICBtZHAvbWRwX3diL21kcF93Yl92NGwyLm8KPj4+ID4KPj4+ID4gc28gbWRwX3di X3Y0bDIubyB3aWxsIG5ldmVyIGJlIHBhcnQgb2YgYSBtb2R1bGUuCj4+PiBJZiBDT05GSUctRFJN X01TTV9XQiBpcyB5LCB0aGVuIGFsbCB3YiByZWxhdGVkIGZpbGVzIChpbmNsdWRpbmcKPj4+IG1k cF93Yl92NGwyLm8pIHdpbGwgYmUgYWRkZWQgdG8gbXNtLXksIHRoZW4gYmUgbGlua2VkIHRvIG1z bS5vCj4+PiBvYmotJChDT05GSUdfRFJNX01TTSkgICArPSBtc20ubwo+Pgo+PiAoQSB0ZWxsIHRh bGUgd2FzIHRoYXQgSSBkaWRuJ3QgcXVvdGUgdGhhdCBsaW5lLikKPj4KPj4+IFJlZmVyIHRvIGRv Y3VtZW50IGh0dHA6Ly9sd24ubmV0L0FydGljbGVzLzIxODM1LyAoc2VjdGlvbiAzLjMpLAo+Pj4g aXQgc2hvdWxkIGJlIGFibGUgdG8gYmUgYnVpbHQtaW4gdG8ga2VybmVsIG9yIGFzIGEgbW9kdWxl Lgo+Pgo+PiBJdCdzIGhhcmQgdHlwaW5nIHdpdGggYSBicm93biBwYXBlciBiYWcgZm9yIGhlYWR3 YXJlOiBJIHN0aWxsIGhhdmUKPj4gdHJvdWJsZSBzcGVha2luZyBNYWtlZmlsZSwgZXZlbiBhZnRl ciBhbGwgdGhlc2UgeWVhcnMsIGJ1dCBJJ20gYWZyYWlkCj4+IHlvdSdyZSByaWdodC4KPj4KPj4+ ID4+IC0tLSAvZGV2L251bGwKPj4+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21k cF93Yi9tZHBfd2JfdjRsMi5jCj4+PiA+Cj4+PiA+PiArI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5o Pgo+Pj4gPgo+Pj4gPiBUaGlzIGluY2x1ZGUgaXMgbmVlZGVkIG1vc3RseSBmb3IgbW9kdWxlX3Bh cmFtKCksIHJpZ2h0Pwo+Pj4gPgo+Pj4gPj4gKyNkZWZpbmUgTVNNX1dCX01PRFVMRV9OQU1FICJt c21fd2IiCj4+PiA+Cj4+PiA+IE1TTV9XQl9EUklWRVJfTkFNRT8gQnV0IHNlZSBiZWxvdy4KPj4+ ID4KPj4+ID4+ICtzdGF0aWMgdW5zaWduZWQgZGVidWc7Cj4+PiA+PiArbW9kdWxlX3BhcmFtKGRl YnVnLCB1aW50LCAwNjQ0KTsKPj4+ID4KPj4+ID4gZGVidWcgaXMgYmFzaWNhbGx5IGEgYm9vbGVh biB0eXBlIG9mIGZsYWcuIFdvdWxkCj4+PiA+ICAgICBzdGF0aWMgYm9vbCBkZWJ1ZzsKPj4+ID4g ICAgIG1vZHVsZV9wYXJhbShkZWJ1ZywgYm9vbCwgMDY0NCk7Cj4+PiA+Cj4+PiA+IHdvcms/Cj4+ PiA+Cj4+PiA+PiArTU9EVUxFX1BBUk1fREVTQyhkZWJ1ZywgImFjdGl2YXRlcyBkZWJ1ZyBpbmZv Iik7Cj4+PiA+Cj4+PiA+IE5vIG9uZSBpcyBldmVyIGdvaW5nIHRvIHNlZSB0aGlzIGRlc2NyaXB0 aW9uLgo+Pj4gPgo+Pj4gPj4gKyNkZWZpbmUgZHByaW50ayhkZXYsIGxldmVsLCBmbXQsIGFyZy4u LikgXAo+Pj4gPj4gKyAgdjRsMl9kYmcobGV2ZWwsIGRlYnVnLCAmZGV2LT52NGwyX2RldiwgZm10 LCAjIyBhcmcpCj4+PiA+Cj4+PiA+IEFsbCBpbnN0YW5jZXMgb2YgZHByaW50aygpIHRoYXQgSSBm b3VuZCBoYWQgbGV2ZWwgc2V0IHRvIDEsIHNvIHRoZQo+Pj4gYWJvdmUKPj4+ID4gY291bGQgYmUg c2ltcGxpZmllZCBhIGJpdDoKPj4+ID4gICAgICNkZWZpbmUgZHByaW50ayhkZXYsIGZtdCwgYXJn Li4uKSBcCj4+PiA+ICAgICAgICAgICAgIHY0bDJfZGJnKDEsIGRlYnVnLCAmZGV2LT52NGwyX2Rl diwgZm10LCAjIyBhcmcpCj4+PiA+Cj4+PiA+IEJ1dCBwZXJoYXBzIHByX2RlYnVnKCkgYW5kIHRo ZSBkeW5hbWljIGRlYnVnIGZhY2lsaXR5IGNvdWxkIGJlIHVzZWQKPj4+ID4gaW5zdGVhZCBvZiBt b2R1bGVfcGFyYW0oKSwgZHByaW50aygpIGFuZCB2NGwyX2RiZygpLiBOb3Qgc3VyZSB3aGljaAo+ Pj4gPiBhcHByb2FjaCBpcyBlYXNpZXIuCj4+PiA+Cj4+PiA+PiArc3RhdGljIGNvbnN0IHN0cnVj dCB2NGwyX2ZpbGVfb3BlcmF0aW9ucyBtc21fd2JfdjRsMl9mb3BzID0gewo+Pj4gPj4gKyAgLm93 bmVyID0gVEhJU19NT0RVTEUsCj4+PiA+Cj4+PiA+IFRISVNfTU9EVUxFIHdpbGwgYmFzaWNhbGx5 IGJlIGVxdWl2YWxlbnQgdG8gTlVMTC4KPj4+ID4KPj4+ID4+ICsgIC5vcGVuID0gdjRsMl9maF9v cGVuLAo+Pj4gPj4gKyAgLnJlbGVhc2UgPSB2YjJfZm9wX3JlbGVhc2UsCj4+PiA+PiArICAucG9s bCA9IHZiMl9mb3BfcG9sbCwKPj4+ID4+ICsgIC51bmxvY2tlZF9pb2N0bCA9IHZpZGVvX2lvY3Rs MiwKPj4+ID4+ICt9Owo+Pj4gPgo+Pj4gPj4gK2ludCBtc21fd2JfdjRsMl9pbml0KHN0cnVjdCBt c21fd2IgKndiKQo+Pj4gPj4gK3sKPj4+ID4+ICsgIHN0cnVjdCBtc21fd2JfdjRsMl9kZXYgKmRl djsKPj4+ID4+ICsgIHN0cnVjdCB2aWRlb19kZXZpY2UgKnZmZDsKPj4+ID4+ICsgIHN0cnVjdCB2 YjJfcXVldWUgKnE7Cj4+PiA+PiArICBpbnQgcmV0Owo+Pj4gPj4gKwo+Pj4gPj4gKyAgZGV2ID0g a3phbGxvYyhzaXplb2YoKmRldiksIEdGUF9LRVJORUwpOwo+Pj4gPj4gKyAgaWYgKCFkZXYpCj4+ PiA+PiArICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+Pj4gPj4gKwo+Pj4gPj4gKyAgc25wcmlu dGYoZGV2LT52NGwyX2Rldi5uYW1lLCBzaXplb2YoZGV2LT52NGwyX2Rldi5uYW1lKSwKPj4+ID4+ ICsgICAgICAgICAgICAgICAgICAiJXMiLCBNU01fV0JfTU9EVUxFX05BTUUpOwo+Pj4gPgo+Pj4g PiBJdCBsb29rcyBsaWtlIHlvdSBjYW4gYWN0dWFsbHkgZHJvcCB0aGUgI2RlZmluZSBhbmQgbWVy Z2UgdGhlIGxhc3QKPj4+IHR3bwo+Pj4gPiBhcmd1bWVudHMgdG8gc25wcmludGYoKSBpbnRvIGp1 c3QgIm1zbV93YiIuCj4+PiA+Cj4+PiA+PiArICByZXQgPSB2NGwyX2RldmljZV9yZWdpc3RlcihO VUxMLCAmZGV2LT52NGwyX2Rldik7Cj4+PiA+PiArICBpZiAocmV0KQo+Pj4gPj4gKyAgICAgICAg ICBnb3RvIGZyZWVfZGV2Owo+Pj4gPj4gKwo+Pj4gPj4gKyAgLyogZGVmYXVsdCBBUkdCODg4OCA2 NDB4NDgwICovCj4+PiA+PiArICBkZXYtPmZtdCA9IGdldF9mb3JtYXQoVjRMMl9QSVhfRk1UX1JH QjMyKTsKPj4+ID4+ICsgIGRldi0+d2lkdGggPSA2NDA7Cj4+PiA+PiArICBkZXYtPmhlaWdodCA9 IDQ4MDsKPj4+ID4+ICsKPj4+ID4+ICsgIC8qIGluaXRpYWxpemUgcXVldWUgKi8KPj4+ID4+ICsg IHEgPSAmZGV2LT52Yl92aWRxOwo+Pj4gPj4gKyAgcS0+dHlwZSA9IFY0TDJfQlVGX1RZUEVfVklE RU9fQ0FQVFVSRV9NUExBTkU7Cj4+PiA+PiArICBxLT5pb19tb2RlcyA9IFZCMl9ETUFCVUY7Cj4+ PiA+PiArICBxLT5kcnZfcHJpdiA9IGRldjsKPj4+ID4+ICsgIHEtPmJ1Zl9zdHJ1Y3Rfc2l6ZSA9 IHNpemVvZihzdHJ1Y3QgbXNtX3diX3Y0bDJfYnVmZmVyKTsKPj4+ID4+ICsgIHEtPm9wcyA9ICZt c21fd2JfdmIyX29wczsKPj4+ID4+ICsgIHEtPm1lbV9vcHMgPSAmbXNtX3diX3ZiMl9tZW1fb3Bz Owo+Pj4gPj4gKyAgcS0+dGltZXN0YW1wX3R5cGUgPSBWNEwyX0JVRl9GTEFHX1RJTUVTVEFNUF9N T05PVE9OSUM7Cj4+PiA+PiArCj4+PiA+PiArICByZXQgPSB2YjJfcXVldWVfaW5pdChxKTsKPj4+ ID4+ICsgIGlmIChyZXQpCj4+PiA+PiArICAgICAgICAgIGdvdG8gdW5yZWdfZGV2Owo+Pj4gPj4g Kwo+Pj4gPj4gKyAgbXV0ZXhfaW5pdCgmZGV2LT5tdXRleCk7Cj4+PiA+PiArCj4+PiA+PiArICB2 ZmQgPSAmZGV2LT52ZGV2Owo+Pj4gPj4gKyAgKnZmZCA9IG1zbV93Yl92NGwyX3RlbXBsYXRlOwo+ Pj4gPj4gKyAgdmZkLT5kZWJ1ZyA9IGRlYnVnOwo+Pj4gPgo+Pj4gPiBJIGNvdWxkbid0IGZpbmQg YSBtZW1iZXIgb2Ygc3RydWN0IHZpZGVvX2RldmljZSBuYW1lZCBkZWJ1Zy4gV2hlcmUKPj4+IGRv ZXMKPj4+ID4gdGhhdCBjb21lIGZyb20/IEJlY2F1c2UsIGFzIGZhciBhcyBJIGNhbiBzZWUsIHRo aXMgd29uJ3QgY29tcGlsZS4KPj4+IHllcywgaXQncyB0aGVyZToKPj4+IGh0dHA6Ly9seHIuZnJl ZS1lbGVjdHJvbnMuY29tL3NvdXJjZS9pbmNsdWRlL21lZGlhL3Y0bDItZGV2LmgjTDEyNwo+Pgo+ PiBQcm9iYWJseSBpbiBzb21lIHRyZWUgSSdtIG5vdCBhd2FyZSBvZi4gSSBvbmx5IGRpZDoKPj4g ICAgICQgZ2l0IGNhdC1maWxlIGJsb2IgdjQuMC1yYzY6aW5jbHVkZS9tZWRpYS92NGwyLWRldi5o IHwgZ3JlcCBkZWJ1Zwo+PiAgICAgICAgIC8qIEludGVybmFsIGRldmljZSBkZWJ1ZyBmbGFncywg bm90IGZvciB1c2UgYnkgZHJpdmVycyAqLwo+PiAgICAgICAgIGludCBkZXZfZGVidWc7Cj4+Cj4+ IGFuZAo+PiAgICAgJCBnaXQgY2F0LWZpbGUgYmxvYiBuZXh0LTIwMTUwNDAyOmluY2x1ZGUvbWVk aWEvdjRsMi1kZXYuaCB8IGdyZXAKPj4gZGVidWcKPj4gICAgICAgICAvKiBJbnRlcm5hbCBkZXZp Y2UgZGVidWcgZmxhZ3MsIG5vdCBmb3IgdXNlIGJ5IGRyaXZlcnMgKi8KPj4gICAgICAgICBpbnQg ZGV2X2RlYnVnOwo+Pgo+PiBXaGljaCB0cmVlIGRvZXMgZGVidWcgY29tZSBmcm9tPwo+Cj4gZndp dywgbG9va3MgbGlrZSAxNzAyOGNkIHJlbmFtZWQgZGVidWcgLT4gZGV2X2RlYnVnCj4KPiBCUiwK PiAtUgo+ClRoYW5rcywgUm9iL1BhdWwuIE15IHdvcmtpbmcga2VybmVsIGlzIHN0aWxsIDMuMTQg YmFzZWQgd2l0aCBkcm0gcmVsYXRlZApjb2RlIHVwLXRvLWRhdGUuIEl0IHNlZW1zIHRoYXQgSSBo YXZlIHRvIHBpY2sgdGhlIGxhdGVzdCBrZXJuZWwgZm9yIHRoaXMKY2hhbmdlLCBhdCBsZWFzdCB0 byBwYXNzIHRoZSBjb21waWxhdGlvbi4KPgo+Pgo+PiBUaGFua3MsCj4+Cj4+Cj4+IFBhdWwgQm9s bGUKPj4KPgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753642AbbDBSyn (ORCPT ); Thu, 2 Apr 2015 14:54:43 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:56428 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753545AbbDBSyi (ORCPT ); Thu, 2 Apr 2015 14:54:38 -0400 Message-ID: In-Reply-To: References: <1427922770-13721-1-git-send-email-jilaiw@codeaurora.org> <1427967609.10518.33.camel@x220> <1d1ffeacb66f0a24212f83bbe86996d9.squirrel@www.codeaurora.org> <1427999042.10518.60.camel@x220> Date: Thu, 2 Apr 2015 18:54:37 -0000 Subject: Re: [PATCH 2/3] drm:msm: Initial Add Writeback Support From: jilaiw@codeaurora.org To: "Rob Clark" Cc: "Paul Bolle" , "Jilai Wang" , "dri-devel@lists.freedesktop.org" , "linux-arm-msm" , "Linux Kernel Mailing List" User-Agent: SquirrelMail/1.4.22-4.el6 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7BIT X-Priority: 3 (Normal) Importance: Normal Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > On Thu, Apr 2, 2015 at 2:24 PM, Paul Bolle wrote: >> Hi Jilai, >> >> On Thu, 2015-04-02 at 17:58 +0000, jilaiw@codeaurora.org wrote: >>> Thanks Paul. Some comments embedded and for the rest I will update the >>> code accordingly. >> >> Most of my comments appear to be ill informed, so I wouldn't mind if >> you'd specify which updates you actually plan to do. >> >>> >> --- a/drivers/gpu/drm/msm/Makefile >>> >> +++ b/drivers/gpu/drm/msm/Makefile >>> > >>> >> +msm-$(CONFIG_DRM_MSM_WB) += \ >>> >> + mdp/mdp5/mdp5_wb_encoder.o \ >>> >> + mdp/mdp_wb/mdp_wb.o \ >>> >> + mdp/mdp_wb/mdp_wb_connector.o \ >>> >> + mdp/mdp_wb/mdp_wb_v4l2.o >>> > >>> > so mdp_wb_v4l2.o will never be part of a module. >>> If CONFIG-DRM_MSM_WB is y, then all wb related files (including >>> mdp_wb_v4l2.o) will be added to msm-y, then be linked to msm.o >>> obj-$(CONFIG_DRM_MSM) += msm.o >> >> (A tell tale was that I didn't quote that line.) >> >>> Refer to document http://lwn.net/Articles/21835/ (section 3.3), >>> it should be able to be built-in to kernel or as a module. >> >> It's hard typing with a brown paper bag for headware: I still have >> trouble speaking Makefile, even after all these years, but I'm afraid >> you're right. >> >>> >> --- /dev/null >>> >> +++ b/drivers/gpu/drm/msm/mdp/mdp_wb/mdp_wb_v4l2.c >>> > >>> >> +#include >>> > >>> > This include is needed mostly for module_param(), right? >>> > >>> >> +#define MSM_WB_MODULE_NAME "msm_wb" >>> > >>> > MSM_WB_DRIVER_NAME? But see below. >>> > >>> >> +static unsigned debug; >>> >> +module_param(debug, uint, 0644); >>> > >>> > debug is basically a boolean type of flag. Would >>> > static bool debug; >>> > module_param(debug, bool, 0644); >>> > >>> > work? >>> > >>> >> +MODULE_PARM_DESC(debug, "activates debug info"); >>> > >>> > No one is ever going to see this description. >>> > >>> >> +#define dprintk(dev, level, fmt, arg...) \ >>> >> + v4l2_dbg(level, debug, &dev->v4l2_dev, fmt, ## arg) >>> > >>> > All instances of dprintk() that I found had level set to 1, so the >>> above >>> > could be simplified a bit: >>> > #define dprintk(dev, fmt, arg...) \ >>> > v4l2_dbg(1, debug, &dev->v4l2_dev, fmt, ## arg) >>> > >>> > But perhaps pr_debug() and the dynamic debug facility could be used >>> > instead of module_param(), dprintk() and v4l2_dbg(). Not sure which >>> > approach is easier. >>> > >>> >> +static const struct v4l2_file_operations msm_wb_v4l2_fops = { >>> >> + .owner = THIS_MODULE, >>> > >>> > THIS_MODULE will basically be equivalent to NULL. >>> > >>> >> + .open = v4l2_fh_open, >>> >> + .release = vb2_fop_release, >>> >> + .poll = vb2_fop_poll, >>> >> + .unlocked_ioctl = video_ioctl2, >>> >> +}; >>> > >>> >> +int msm_wb_v4l2_init(struct msm_wb *wb) >>> >> +{ >>> >> + struct msm_wb_v4l2_dev *dev; >>> >> + struct video_device *vfd; >>> >> + struct vb2_queue *q; >>> >> + int ret; >>> >> + >>> >> + dev = kzalloc(sizeof(*dev), GFP_KERNEL); >>> >> + if (!dev) >>> >> + return -ENOMEM; >>> >> + >>> >> + snprintf(dev->v4l2_dev.name, sizeof(dev->v4l2_dev.name), >>> >> + "%s", MSM_WB_MODULE_NAME); >>> > >>> > It looks like you can actually drop the #define and merge the last >>> two >>> > arguments to snprintf() into just "msm_wb". >>> > >>> >> + ret = v4l2_device_register(NULL, &dev->v4l2_dev); >>> >> + if (ret) >>> >> + goto free_dev; >>> >> + >>> >> + /* default ARGB8888 640x480 */ >>> >> + dev->fmt = get_format(V4L2_PIX_FMT_RGB32); >>> >> + dev->width = 640; >>> >> + dev->height = 480; >>> >> + >>> >> + /* initialize queue */ >>> >> + q = &dev->vb_vidq; >>> >> + q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; >>> >> + q->io_modes = VB2_DMABUF; >>> >> + q->drv_priv = dev; >>> >> + q->buf_struct_size = sizeof(struct msm_wb_v4l2_buffer); >>> >> + q->ops = &msm_wb_vb2_ops; >>> >> + q->mem_ops = &msm_wb_vb2_mem_ops; >>> >> + q->timestamp_type = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; >>> >> + >>> >> + ret = vb2_queue_init(q); >>> >> + if (ret) >>> >> + goto unreg_dev; >>> >> + >>> >> + mutex_init(&dev->mutex); >>> >> + >>> >> + vfd = &dev->vdev; >>> >> + *vfd = msm_wb_v4l2_template; >>> >> + vfd->debug = debug; >>> > >>> > I couldn't find a member of struct video_device named debug. Where >>> does >>> > that come from? Because, as far as I can see, this won't compile. >>> yes, it's there: >>> http://lxr.free-electrons.com/source/include/media/v4l2-dev.h#L127 >> >> Probably in some tree I'm not aware of. I only did: >> $ git cat-file blob v4.0-rc6:include/media/v4l2-dev.h | grep debug >> /* Internal device debug flags, not for use by drivers */ >> int dev_debug; >> >> and >> $ git cat-file blob next-20150402:include/media/v4l2-dev.h | grep >> debug >> /* Internal device debug flags, not for use by drivers */ >> int dev_debug; >> >> Which tree does debug come from? > > fwiw, looks like 17028cd renamed debug -> dev_debug > > BR, > -R > Thanks, Rob/Paul. My working kernel is still 3.14 based with drm related code up-to-date. It seems that I have to pick the latest kernel for this change, at least to pass the compilation. > >> >> Thanks, >> >> >> Paul Bolle >> >