From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans Verkuil Subject: Re: [PATCH v5 06/11] cec: add HDMI CEC framework Date: Sun, 03 May 2015 12:41:19 +0200 Message-ID: <5545FB4F.1060003@xs4all.nl> References: <1430301765-22202-1-git-send-email-k.debski@samsung.com> <1430301765-22202-7-git-send-email-k.debski@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1430301765-22202-7-git-send-email-k.debski@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Kamil Debski , dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org Cc: linux-samsung-soc@vger.kernel.org, sean@mess.org, mchehab@osg.samsung.com, dmitry.torokhov@gmail.com, lars@opdenkamp.eu, Hans Verkuil , kyungmin.park@samsung.com, thomas@tommie-lie.de, linux-input@vger.kernel.org, m.szyprowski@samsung.com List-Id: linux-input@vger.kernel.org SGkgS2FtaWwsCgpIZXJlIGlzIG15IHJldmlldzoKCk9uIDA0LzI5LzIwMTUgMTI6MDIgUE0sIEth bWlsIERlYnNraSB3cm90ZToKPiBGcm9tOiBIYW5zIFZlcmt1aWwgPGhhbnN2ZXJrQGNpc2NvLmNv bT4KPiAKPiBUaGUgYWRkZWQgSERNSSBDRUMgZnJhbWV3b3JrIHByb3ZpZGVzIGEgZ2VuZXJpYyBr ZXJuZWwgaW50ZXJmYWNlIGZvcgo+IEhETUkgQ0VDIGRldmljZXMuCj4gCj4gU2lnbmVkLW9mZi1i eTogSGFucyBWZXJrdWlsIDxoYW5zdmVya0BjaXNjby5jb20+Cj4gW2suZGVic2tpQHNhbXN1bmcu Y29tOiBNZXJnZWQgQ0VDIFVwZGF0ZXMgY29tbWl0IGJ5IEhhbnMgVmVya3VpbF0KPiBbay5kZWJz a2lAc2Ftc3VuZy5jb206IE1lcmdlZCBVcGRhdGUgYXV0aG9yIGNvbW1pdCBieSBIYW5zIFZlcmt1 aWxdCj4gW2suZGVic2tpQHNhbXN1bmcuY29tOiBjaGFuZ2Uga3RocmVhZCBoYW5kbGluZyB3aGVu IHNldHRpbmcgbG9naWNhbAo+IGFkZHJlc3NdCj4gW2suZGVic2tpQHNhbXN1bmcuY29tOiBjb2Rl IGNsZWFudXAgYW5kIGZpeGVzXQo+IFtrLmRlYnNraUBzYW1zdW5nLmNvbTogYWRkIG1pc3Npbmcg Q0VDIGNvbW1hbmRzIHRvIG1hdGNoIHNwZWNdCj4gW2suZGVic2tpQHNhbXN1bmcuY29tOiBhZGQg UkMgZnJhbWV3b3JrIHN1cHBvcnRdCj4gW2suZGVic2tpQHNhbXN1bmcuY29tOiBtb3ZlIGFuZCBl ZGl0IGRvY3VtZW50YXRpb25dCj4gW2suZGVic2tpQHNhbXN1bmcuY29tOiBhZGQgdmVuZG9yIGlk IHJlcG9ydGluZ10KPiBbay5kZWJza2lAc2Ftc3VuZy5jb206IGFkZCBwb3NzaWJpbGl0eSB0byBj bGVhciBhc3NpZ25lZCBsb2dpY2FsCj4gYWRkcmVzc2VzXQo+IFtrLmRlYnNraUBzYW1zdW5nLmNv bTogZG9jdW1lbnRhdGlvbiBmaXhlcywgY2xlbmF1cCBhbmQgZXhwYW5zaW9uXQo+IFtrLmRlYnNr aUBzYW1zdW5nLmNvbTogcmVvcmRlciBvZiBBUEkgc3RydWN0cyBhbmQgYWRkIHJlc2VydmVkIGZp ZWxkc10KPiBbay5kZWJza2lAc2Ftc3VuZy5jb206IGZpeCBoYW5kbGluZyBvZiBldmVudHMgYW5k IGZpeCAzMi82NGJpdCB0aW1lc3BlYwo+IHByb2JsZW1dCj4gW2suZGVic2tpQHNhbXN1bmcuY29t OiBhZGQgY2VjLmggdG8gaW5jbHVkZS91YXBpL2xpbnV4L0tidWlsZF0KPiBbay5kZWJza2lAc2Ft c3VuZy5jb206IGFkZCBzZXF1ZW5jZSBudW1iZXIgaGFuZGxpbmddCj4gW2suZGVic2tpQHNhbXN1 bmcuY29tOiBhZGQgcGFzc3Rocm91Z2ggbW9kZV0KPiBbay5kZWJza2lAc2Ftc3VuZy5jb206IGZp eCBDRUMgZGVmaW5lcywgYWRkIG1pc3NpbmcgQ0VDIDIuMCBjb21tYW5kc10KPiBbay5kZWJza2lA c2Ftc3VuZy5jb206IGFkZCBEb2NCb29rIGRvY3VtZW50YXRpb24gYnkgSGFucyBWZXJrdWlsLCB3 aXRoCj4gbWlub3IgYWRkaXRpb25zXQo+IFNpZ25lZC1vZmYtYnk6IEthbWlsIERlYnNraSA8ay5k ZWJza2lAc2Ftc3VuZy5jb20+Cj4gLS0tCj4gIERvY3VtZW50YXRpb24vY2VjLnR4dCAgICAgfCAg Mzk2ICsrKysrKysrKysrKysrKwo+ICBkcml2ZXJzL21lZGlhL0tjb25maWcgICAgIHwgICAgNiAr Cj4gIGRyaXZlcnMvbWVkaWEvTWFrZWZpbGUgICAgfCAgICAyICsKPiAgZHJpdmVycy9tZWRpYS9j ZWMuYyAgICAgICB8IDEyMDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCj4gIGluY2x1ZGUvbWVkaWEvY2VjLmggICAgICAgfCAgMTQyICsrKysrKwo+ICBpbmNs dWRlL3VhcGkvbGludXgvS2J1aWxkIHwgICAgMSArCj4gIGluY2x1ZGUvdWFwaS9saW51eC9jZWMu aCAgfCAgMzM3ICsrKysrKysrKysrKysKPiAgNyBmaWxlcyBjaGFuZ2VkLCAyMDg0IGluc2VydGlv bnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vY2VjLnR4dAo+ICBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9jZWMuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQg aW5jbHVkZS9tZWRpYS9jZWMuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS91YXBpL2xp bnV4L2NlYy5oCj4gCj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vY2VjLnR4dCBiL0RvY3Vt ZW50YXRpb24vY2VjLnR4dAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4u MmI2YzA4YQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9Eb2N1bWVudGF0aW9uL2NlYy50eHQKCjxz bmlwPgoKPiArVGhlIGZvbGxvd2luZyBjYXBhYmlsaXRpZXMgYXJlIGRlZmluZWQ6Cj4gKwo+ICsv KiBVc2Vyc3BhY2UgaGFzIHRvIGNvbmZpZ3VyZSB0aGUgYWRhcHRlciBzdGF0ZSAoZW5hYmxlL2Rp c2FibGUpICovCj4gKyNkZWZpbmUgQ0VDX0NBUF9TVEFURQkJKDEgPDwgMCkKPiArLyogVXNlcnNw YWNlIGhhcyB0byBjb25maWd1cmUgdGhlIHBoeXNpY2FsIGFkZHJlc3MgKi8KPiArI2RlZmluZSBD RUNfQ0FQX1BIWVNfQUREUgkoMSA8PCAxKQo+ICsvKiBVc2Vyc3BhY2UgaGFzIHRvIGNvbmZpZ3Vy ZSB0aGUgbG9naWNhbCBhZGRyZXNzZXMgKi8KPiArI2RlZmluZSBDRUNfQ0FQX0xPR19BRERSUwko MSA8PCAyKQo+ICsvKiBVc2Vyc3BhY2UgY2FuIHRyYW5zbWl0IG1lc3NhZ2VzICovCj4gKyNkZWZp bmUgQ0VDX0NBUF9UUkFOU01JVAkoMSA8PCAzKQo+ICsvKiBVc2Vyc3BhY2UgY2FuIHJlY2VpdmUg bWVzc2FnZXMgKi8KPiArI2RlZmluZSBDRUNfQ0FQX1JFQ0VJVkUJCSgxIDw8IDQpCj4gKy8qIFVz ZXJzcGFjZSBoYXMgdG8gY29uZmlndXJlIHRoZSB2ZW5kb3IgaWQgKi8KPiArI2RlZmluZSBDRUNf Q0FQX1ZFTkRPUl9JRAkoMSA8PCA1KQo+ICsvKiBUaGUgaGFyZHdhcmUgaGFzIHRoZSBwb3NzaWJp bGl0eSB0byB3b3JrIGluIHRoZSBwcm9taXNjdW91cyBtb2RlICovCj4gKyNkZWZpbmUgQ0VDX0NB UF9QUk9NSVNDVU9VUwkoMSA8PCA2KQoKQ0FQX1BST01JU0NVT1VTIGRvZXNuJ3QgZXhpc3QgYW55 bW9yZSwgdGhpcyBjYW4gYmUgcmVtb3ZlZC4KCkluc3RlYWQgYWRkIHRoZSBQQVNTVEhST1VHSCBj YXBhYmlsaXR5LgoKRnJhbmtseSwgSSB3b25kZXIgaWYgdGhpcyBjZWMudHh0IGRvY3VtZW50IHNo b3VsZCBkb2N1bWVudCB0aGUgdXNlcnNwYWNlCkFQSSBhdCBhbGwgbm93IHRoYXQgdGhhdCBpcyBw YXJ0IG9mIERvY0Jvb2suIEkgdGhpbmsgaXQgaXMgYmV0dGVyIGlmIGl0Cm9ubHkgZGVzY3JpYmVz IHRoZSBrZXJuZWwgQVBJIGFuZCBqdXN0IHJlZmVycyB0byB0aGUgRG9jQm9vayBmb3IgdGhlCnVz ZXJzcGFjZSBwYXJ0cy4KCkNFQ19HL1NfUEFTU1RIUk9VR0ggYXJlbid0IGRlc2NyaWJlZCBoZXJl IGFzIHdlbGwsIHdoaWNoIG9ubHkgc2hvd3MgdGhhdAp0aGUgdXNlcnNwYWNlIEFQSSBzaG91bGQg anVzdCBiZSBkcm9wcGVkLgoKPHNuaXA+Cgo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvbGlu dXgvY2VjLmggYi9pbmNsdWRlL3VhcGkvbGludXgvY2VjLmgKCjxzbmlwPgoKPiArLyogVGhlIGhh cmR3YXJlIGhhcyB0aGUgcG9zc2liaWxpdHkgdG8gd29yayBpbiB0aGUgcGFzc3Rocm91Z2ggKi8K CnMvdGhlIHBhc3N0aHJvdWdoL3Bhc3N0aHJvdWdoIG1vZGUvCgo+ICsjZGVmaW5lIENFQ19DQVBf UEFTU1RIUk9VR0gJKDEgPDwgNikKCjxzbmlwPgoKPiArI2RlZmluZSBDRUNfR19FVkVOVAkJX0lP V1IoJ2EnLCA5LCBzdHJ1Y3QgY2VjX2V2ZW50KQo+ICsvKgo+ICsgICBSZWFkIGFuZCBzZXQgdGhl IHZlbmRvciBJRCBvZiB0aGUgQ0VDIGFkYXB0ZXIuCj4gKyAqLwo+ICsjZGVmaW5lIENFQ19HX1ZF TkRPUl9JRAkJX0lPUignYScsIDksIF9fdTMyKQoKOSAtPiAxMCwgc2FtZSBmb3IgdGhlIGZvbGxv d2luZyBpb2N0bHMsIGFsbCBuZWVkIHRvIGJlIGluY3JlYXNlZCBieSAxCnNpbmNlIGN1cnJlbnQg R19FVkVOVCBhbmQgR19WRU5ET1JfSUQgaGF2ZSB0aGUgc2FtZSBpb2N0bCBudW1iZXIuCgo+ICsj ZGVmaW5lIENFQ19TX1ZFTkRPUl9JRAkJX0lPVygnYScsIDEwLCBfX3UzMikKPiArLyoKPiArICAg RW5hYmxlL2Rpc2FibGUgdGhlIHBhc3N0aHJvdWdoIG1vZGUKPiArICovCj4gKyNkZWZpbmUgQ0VD X0dfUEFTU1RIUk9VR0gJX0lPUignYScsIDExLCBfX3UzMikKPiArI2RlZmluZSBDRUNfU19QQVNT VEhST1VHSAlfSU9XKCdhJywgMTIsIF9fdTMyKQo+ICsKPiArI2VuZGlmCj4gCgpSZWdhcmRzLAoK CUhhbnMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from lb1-smtp-cloud6.xs4all.net ([194.109.24.24]:40485 "EHLO lb1-smtp-cloud6.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751062AbbECKle (ORCPT ); Sun, 3 May 2015 06:41:34 -0400 Message-ID: <5545FB4F.1060003@xs4all.nl> Date: Sun, 03 May 2015 12:41:19 +0200 From: Hans Verkuil MIME-Version: 1.0 To: Kamil Debski , dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org CC: m.szyprowski@samsung.com, mchehab@osg.samsung.com, kyungmin.park@samsung.com, thomas@tommie-lie.de, sean@mess.org, dmitry.torokhov@gmail.com, linux-input@vger.kernel.org, linux-samsung-soc@vger.kernel.org, lars@opdenkamp.eu, Hans Verkuil Subject: Re: [PATCH v5 06/11] cec: add HDMI CEC framework References: <1430301765-22202-1-git-send-email-k.debski@samsung.com> <1430301765-22202-7-git-send-email-k.debski@samsung.com> In-Reply-To: <1430301765-22202-7-git-send-email-k.debski@samsung.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-media-owner@vger.kernel.org List-ID: Hi Kamil, Here is my review: On 04/29/2015 12:02 PM, Kamil Debski wrote: > From: Hans Verkuil > > The added HDMI CEC framework provides a generic kernel interface for > HDMI CEC devices. > > Signed-off-by: Hans Verkuil > [k.debski@samsung.com: Merged CEC Updates commit by Hans Verkuil] > [k.debski@samsung.com: Merged Update author commit by Hans Verkuil] > [k.debski@samsung.com: change kthread handling when setting logical > address] > [k.debski@samsung.com: code cleanup and fixes] > [k.debski@samsung.com: add missing CEC commands to match spec] > [k.debski@samsung.com: add RC framework support] > [k.debski@samsung.com: move and edit documentation] > [k.debski@samsung.com: add vendor id reporting] > [k.debski@samsung.com: add possibility to clear assigned logical > addresses] > [k.debski@samsung.com: documentation fixes, clenaup and expansion] > [k.debski@samsung.com: reorder of API structs and add reserved fields] > [k.debski@samsung.com: fix handling of events and fix 32/64bit timespec > problem] > [k.debski@samsung.com: add cec.h to include/uapi/linux/Kbuild] > [k.debski@samsung.com: add sequence number handling] > [k.debski@samsung.com: add passthrough mode] > [k.debski@samsung.com: fix CEC defines, add missing CEC 2.0 commands] > [k.debski@samsung.com: add DocBook documentation by Hans Verkuil, with > minor additions] > Signed-off-by: Kamil Debski > --- > Documentation/cec.txt | 396 +++++++++++++++ > drivers/media/Kconfig | 6 + > drivers/media/Makefile | 2 + > drivers/media/cec.c | 1200 +++++++++++++++++++++++++++++++++++++++++++++ > include/media/cec.h | 142 ++++++ > include/uapi/linux/Kbuild | 1 + > include/uapi/linux/cec.h | 337 +++++++++++++ > 7 files changed, 2084 insertions(+) > create mode 100644 Documentation/cec.txt > create mode 100644 drivers/media/cec.c > create mode 100644 include/media/cec.h > create mode 100644 include/uapi/linux/cec.h > > diff --git a/Documentation/cec.txt b/Documentation/cec.txt > new file mode 100644 > index 0000000..2b6c08a > --- /dev/null > +++ b/Documentation/cec.txt > +The following capabilities are defined: > + > +/* Userspace has to configure the adapter state (enable/disable) */ > +#define CEC_CAP_STATE (1 << 0) > +/* Userspace has to configure the physical address */ > +#define CEC_CAP_PHYS_ADDR (1 << 1) > +/* Userspace has to configure the logical addresses */ > +#define CEC_CAP_LOG_ADDRS (1 << 2) > +/* Userspace can transmit messages */ > +#define CEC_CAP_TRANSMIT (1 << 3) > +/* Userspace can receive messages */ > +#define CEC_CAP_RECEIVE (1 << 4) > +/* Userspace has to configure the vendor id */ > +#define CEC_CAP_VENDOR_ID (1 << 5) > +/* The hardware has the possibility to work in the promiscuous mode */ > +#define CEC_CAP_PROMISCUOUS (1 << 6) CAP_PROMISCUOUS doesn't exist anymore, this can be removed. Instead add the PASSTHROUGH capability. Frankly, I wonder if this cec.txt document should document the userspace API at all now that that is part of DocBook. I think it is better if it only describes the kernel API and just refers to the DocBook for the userspace parts. CEC_G/S_PASSTHROUGH aren't described here as well, which only shows that the userspace API should just be dropped. > diff --git a/include/uapi/linux/cec.h b/include/uapi/linux/cec.h > +/* The hardware has the possibility to work in the passthrough */ s/the passthrough/passthrough mode/ > +#define CEC_CAP_PASSTHROUGH (1 << 6) > +#define CEC_G_EVENT _IOWR('a', 9, struct cec_event) > +/* > + Read and set the vendor ID of the CEC adapter. > + */ > +#define CEC_G_VENDOR_ID _IOR('a', 9, __u32) 9 -> 10, same for the following ioctls, all need to be increased by 1 since current G_EVENT and G_VENDOR_ID have the same ioctl number. > +#define CEC_S_VENDOR_ID _IOW('a', 10, __u32) > +/* > + Enable/disable the passthrough mode > + */ > +#define CEC_G_PASSTHROUGH _IOR('a', 11, __u32) > +#define CEC_S_PASSTHROUGH _IOW('a', 12, __u32) > + > +#endif > Regards, Hans