From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yakir Yang Subject: Re: [PATCH v8 1/2] drm/rockchip: hdmi: add Innosilicon HDMI support Date: Wed, 3 Feb 2016 17:34:40 +0800 Message-ID: <56B1C9B0.3030806@rock-chips.com> References: <1454049768-30872-1-git-send-email-ykk@rock-chips.com> <1454050059-31196-1-git-send-email-ykk@rock-chips.com> <20160129082000.b25fd19cea94c4f3ec45e17f@free.fr> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160129082000.b25fd19cea94c4f3ec45e17f@free.fr> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jean-Francois Moine Cc: Mark Rutland , devicetree@vger.kernel.org, Thierry Reding , Pawel Moll , Ian Campbell , Ken Mixte , Zheng Yang , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, Rob Herring , Kumar Gala , Ben Chan , linux-arm-kernel@lists.infradead.org List-Id: linux-rockchip.vger.kernel.org SGkgSmVhbiwKClNvcnJ5IGFib3V0IG1pc3MgeW91ciBjb21tZW50cyAgOikKCk9uIDAxLzI5LzIw MTYgMDM6MjAgUE0sIEplYW4tRnJhbmNvaXMgTW9pbmUgd3JvdGU6Cj4gT24gRnJpLCAyOSBKYW4g MjAxNiAxNDo0NzozOSArMDgwMAo+IFlha2lyIFlhbmcgPHlra0Byb2NrLWNoaXBzLmNvbT4gd3Jv dGU6Cj4KPj4gVGhlIElubm9zaWxpY29uIEhETUkgaXMgYSBsb3cgcG93ZXIgSERNSSAxLjQgdHJh bnNtaXR0ZXIKPj4gSVAsIGFuZCBpdCBoYXZlIGJlZW4gaW50ZWdyYXRlZCBvbiBzb21lIHJvY2tj aGlwIENQVXMKPj4gKGxpa2UgUkszMDM2LCBSSzMxMngpLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBZ YWtpciBZYW5nIDx5a2tAcm9jay1jaGlwcy5jb20+Cj4+IC0tLQo+PiBDaGFuZ2VzIGluIHY4Ogo+ PiAtIERvbid0IGNoZWNrIHdoZXRoZXIgZW5jb2RlciBvdXRwdXQgZm9ybWF0IGlzIFJHQiBjb2xv cnNwYWNlLCBjYXVzZSBkcml2ZXIKPj4gICAgZGVmYXVsdCBjb25maWd1cmUgdGhlIG91dHB1dCBj b2xvcnNwYWNlIHRvIFJHQi4gKFpoZW5nWWFuZykKPj4gLSBDb3JyZWN0IHRoZSBjaGVjayBjb25k aXRpb24gaW4gaW5ub19oZG1pX2NvbmZpZ192aWRlb19jc2MoKSAoWmhlbmdZYW5nKQo+PiAgICAg IC0gaWYgKGRhdGEtPmVuY19vdXRfZm9ybWF0ID09IGRhdGEtPmVuY19vdXRfZm9ybWF0KSB7Cj4+ ICAgICAgKyBpZiAoZGF0YS0+ZW5jX2luX2Zvcm1hdCA9PSBkYXRhLT5lbmNfb3V0X2Zvcm1hdCkg ewo+Pgo+PiBDaGFuZ2VzIGluIHY3Ogo+PiAtIENvcnJlY3QgdGhlIG1vZHVsZSBsaWNuZXNlIHN0 YXRlbWVudCAoUGF1bCkKPj4gICAgICAgLSBNT0RVTEVfTElDRU5TRSgiR1BMIik7Cj4+ICAgICAg ICsgTU9EVUxFX0xJQ0VOU0UoIkdQTHYyIik7Cj4+IC0gU3RhcnQgaW5kZW50YXRpb24gd2l0aCB0 YWJzIGFuZCBmaXggdGhlIG1pc3NwZWxsIGluIEtjb25maWcgKFBhdWwpCj4+IC0gQ2FycnkgdGhl IGxvc3QgZGV2aWNlLWJpbmRpbmcgZG9jdW1lbnQgKEhlaWtvKQo+Pgo+PiBDaGFuZ2VzIGluIHY2 Ogo+PiAtIFJlYmFzZSB0aGUgTWFrZWZpbGUvS2NvbmZpZyBmaWxlcyB3aGljaCBhZGQgYnkgQ2hy aXMncyByb2NrY2hpcC1taXBpIGRyaXZlciAoQ2Flc2VyKQo+Pgo+PiBDaGFuZ2VzIGluIHY1Ogo+ PiAtIFVzZSBoZG1pX2luZm9mcmFtZSBoZWxwZXIgZnVuY3Rpb25zIHRvIHBhY2tlZCB0aGUgaW5m b2ZyYW1lIChSdXNzZWxsKQo+PiAtIFJlbW92ZSB0aGUgdW51c2VkIGRvdWJsZSB3YWl0X2Zvcl9j b21wbGV0aW9uX3RpbWVvdXQgZm9yIGRkYyB0cmFuc2ZlciAoUnVzc2VsbCkKPj4gLSBSZW1vdmUg dGhlIHVudXNlZCBsb2NhbCB2YXJpYWJsZSBpbiAiaW5ub19oZG1pX2kyY193cml0ZSgpIiBmdW5j dGlvbiAoUnVzc2VsbCkKPj4KPj4gQ2hhbmdlcyBpbiB2NDoKPj4gLSBNb2RpZnkgdGhlIGNvbW1p dCB0aXRsZSAiZHJtL3JvY2tjaGlwOiBoZG1pOiAuLi4iIChNYXJrKQo+PiAtIENvcnJlY3QgdGhl ICJES01TIiB0byAiRFBNUyIgKE1hcmspCj4+IC0gRml4IG92ZXIgODAgY2hhcmFjdGVycyBwcm9i bGVtcyAoTWFyaykKPj4gLSBSZW1vdmUgZW5jb2RlciAucHJlcGFyZS8uY29tbWl0IGhlbHBlciBm dW5jdGlvbnMsIGFuZCBtb3ZlIHRoZSB2b3AgbW9kZQo+PiBjb25maWd1cmUgZnVuY3Rpb24gaW50 byBlbmNvZGVyIC5lbmFibGUgaGVscGVyIGZ1bmN0aW9ucy4gKE1hcmspCj4+Cj4+IENoYW5nZXMg aW4gdjM6Cj4+IC0gVXNlIGVuY29kZXIgZW5hYmxlL2Rpc2FibGUgZnVuY3Rpb24sIGFuZCByZW1v dmUgdGhlIGVuY29kZXIgRFBNUyBmdW5jdGlvbgo+PiAtIEtlZXAgSERNSSBQTEwgcG93ZXIgb24g aW4gc3RhbmRieSBtb2RlCj4+Cj4+IENoYW5nZXMgaW4gdjI6Cj4+IC0gVXNpbmcgRFJNIGF0b21p YyBoZWxwZXIgZnVuY3Rpb25zIGZvciBjb25uZWN0b3IgaW5pdCAoTWFyaykKPj4gLSBSZW1vdmUg ImhkbWktPmNvbm5lY3Rvci5lbmNvZGVyID0gZW5jb2RlcjsiIChNYXJrKQo+Pgo+PiAgIGRyaXZl cnMvZ3B1L2RybS9yb2NrY2hpcC9LY29uZmlnICAgICB8ICAgOCArCj4+ICAgZHJpdmVycy9ncHUv ZHJtL3JvY2tjaGlwL01ha2VmaWxlICAgIHwgICAxICsKPj4gICBkcml2ZXJzL2dwdS9kcm0vcm9j a2NoaXAvaW5ub19oZG1pLmMgfCA5MzkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKPj4gICBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmggfCAzNjIgKysrKysr KysrKysrKysKPj4gICA0IGZpbGVzIGNoYW5nZWQsIDEzMTAgaW5zZXJ0aW9ucygrKQo+PiAgIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMKPj4g ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5o Cj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvS2NvbmZpZyBiL2Ry aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9LY29uZmlnCj4+IGluZGV4IDg1NzM5ODUuLjc2YjMzNjIg MTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9LY29uZmlnCj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9LY29uZmlnCj4+IEBAIC0zNSwzICszNSwxMSBAQCBj b25maWcgUk9DS0NISVBfRFdfTUlQSV9EU0kKPj4gICAJIGZvciB0aGUgU3lub3BzeXMgRGVzaWdu V2FyZSBIRE1JIGRyaXZlci4gSWYgeW91IHdhbnQgdG8KPj4gICAJIGVuYWJsZSBNSVBJIERTSSBv biBSSzMyODggYmFzZWQgU29DLCB5b3Ugc2hvdWxkIHNlbGV0IHRoaXMKPj4gICAJIG9wdGlvbi4K Pj4gKwo+PiArY29uZmlnIFJPQ0tDSElQX0lOTk9fSERNSQo+PiArCXRyaXN0YXRlICJSb2NrY2hp cCBzcGVjaWZpYyBleHRlbnNpb25zIGZvciBJbm5vc2lsaWNvbiBIRE1JIgo+PiArCWRlcGVuZHMg b24gRFJNX1JPQ0tDSElQCj4+ICsJaGVscAo+PiArCSAgVGhpcyBzZWxlY3RzIHN1cHBvcnQgZm9y IFJvY2tjaGlwIFNvQyBzcGVjaWZpYyBleHRlbnNpb25zCj4+ICsJICBmb3IgdGhlIElubm9zaWxp Y29uIEhETUkgZHJpdmVyLiBJZiB5b3Ugd2FudCB0byBlbmFibGUKPj4gKwkgIEhETUkgb24gUksz MDM2IGJhc2VkIFNvQywgeW91IHNob3VsZCBzZWxlY3QgdGhpcyBvcHRpb24uCj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0v cm9ja2NoaXAvTWFrZWZpbGUKPj4gaW5kZXggZjZhODA5YS4uZGY4ZmJlZiAxMDA2NDQKPj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL01ha2VmaWxlCj4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9yb2NrY2hpcC9NYWtlZmlsZQo+PiBAQCAtOCw1ICs4LDYgQEAgcm9ja2NoaXBkcm0tJChD T05GSUdfRFJNX0ZCREVWX0VNVUxBVElPTikgKz0gcm9ja2NoaXBfZHJtX2ZiZGV2Lm8KPj4gICAK Pj4gICBvYmotJChDT05GSUdfUk9DS0NISVBfRFdfSERNSSkgKz0gZHdfaGRtaS1yb2NrY2hpcC5v Cj4+ICAgb2JqLSQoQ09ORklHX1JPQ0tDSElQX0RXX01JUElfRFNJKSArPSBkdy1taXBpLWRzaS5v Cj4+ICtvYmotJChDT05GSUdfUk9DS0NISVBfSU5OT19IRE1JKSArPSBpbm5vX2hkbWkubwo+PiAg IAo+PiAgIG9iai0kKENPTkZJR19EUk1fUk9DS0NISVApICs9IHJvY2tjaGlwZHJtLm8gcm9ja2No aXBfdm9wX3JlZy5vCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5u b19oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMKPj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMC4uYzk5ZDg4ZAo+PiAtLS0gL2Rldi9udWxs Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYwo+PiBAQCAtMCww ICsxLDkzOSBAQAo+PiArLyoKPj4gKyAqIENvcHlyaWdodCAoQykgRnV6aG91IFJvY2tjaGlwIEVs ZWN0cm9uaWNzIENvLkx0ZAo+PiArICogICAgWmhlbmcgWWFuZyA8emhlbmd5YW5nQHJvY2stY2hp cHMuY29tPgo+PiArICogICAgWWFraXIgWWFuZyA8eWtrQHJvY2stY2hpcHMuY29tPgo+PiArICoK Pj4gKyAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMKPj4gKyAqIExpY2Vuc2UgdmVyc2lvbiAyLCBhcyBwdWJsaXNoZWQg YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgYW5kCj4+ICsgKiBtYXkgYmUgY29waWVk LCBkaXN0cmlidXRlZCwgYW5kIG1vZGlmaWVkIHVuZGVyIHRob3NlIHRlcm1zLgo+PiArICoKPj4g KyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAo+PiArICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKPj4gKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPj4gKyAqIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4+ICsgKi8KPj4gKwo+PiArI2luY2x1ZGUg PGxpbnV4L2lycS5oPgo+PiArI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgo+PiArI2luY2x1ZGUgPGxp bnV4L2RlbGF5Lmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvZXJyLmg+Cj4+ICsjaW5jbHVkZSA8bGlu dXgvaGRtaS5oPgo+PiArI2luY2x1ZGUgPGxpbnV4L21mZC9zeXNjb24uaD4KPj4gKyNpbmNsdWRl IDxsaW51eC9tb2R1bGUuaD4KPj4gKyNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgo+PiArI2luY2x1 ZGUgPGxpbnV4L29mX2RldmljZS5oPgo+PiArCj4+ICsjaW5jbHVkZSA8ZHJtL2RybV9vZi5oPgo+ PiArI2luY2x1ZGUgPGRybS9kcm1QLmg+Cj4+ICsjaW5jbHVkZSA8ZHJtL2RybV9hdG9taWNfaGVs cGVyLmg+Cj4+ICsjaW5jbHVkZSA8ZHJtL2RybV9jcnRjX2hlbHBlci5oPgo+PiArI2luY2x1ZGUg PGRybS9kcm1fZWRpZC5oPgo+PiArI2luY2x1ZGUgPGRybS9kcm1fZW5jb2Rlcl9zbGF2ZS5oPgo+ IFRoaXMgaXMgbm90IG5lZWRlZC4KCkRvIHlvdSBtZWFuIHRoZSAiZHJtX2VuY29kZXJfc2xhdmUu aCIgZmlsZSA/CgpZZXAsIHNlZW1zIEkgaGF2ZW4ndCBjYWxsZWQgYW50IGVuY29kZXIgc2xhdmUg aGVscGVyIGZ1bmN0aW9ucywgdGhhbmtzLgoKCj4KPj4gKwo+PiArI2luY2x1ZGUgInJvY2tjaGlw X2RybV9kcnYuaCIKPj4gKyNpbmNsdWRlICJyb2NrY2hpcF9kcm1fdm9wLmgiCj4+ICsKPj4gKyNp bmNsdWRlICJpbm5vX2hkbWkuaCIKPiAJW3NuaXBdCj4KCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: ykk@rock-chips.com (Yakir Yang) Date: Wed, 3 Feb 2016 17:34:40 +0800 Subject: [PATCH v8 1/2] drm/rockchip: hdmi: add Innosilicon HDMI support In-Reply-To: <20160129082000.b25fd19cea94c4f3ec45e17f@free.fr> References: <1454049768-30872-1-git-send-email-ykk@rock-chips.com> <1454050059-31196-1-git-send-email-ykk@rock-chips.com> <20160129082000.b25fd19cea94c4f3ec45e17f@free.fr> Message-ID: <56B1C9B0.3030806@rock-chips.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Jean, Sorry about miss your comments :) On 01/29/2016 03:20 PM, Jean-Francois Moine wrote: > On Fri, 29 Jan 2016 14:47:39 +0800 > Yakir Yang wrote: > >> The Innosilicon HDMI is a low power HDMI 1.4 transmitter >> IP, and it have been integrated on some rockchip CPUs >> (like RK3036, RK312x). >> >> Signed-off-by: Yakir Yang >> --- >> Changes in v8: >> - Don't check whether encoder output format is RGB colorspace, cause driver >> default configure the output colorspace to RGB. (ZhengYang) >> - Correct the check condition in inno_hdmi_config_video_csc() (ZhengYang) >> - if (data->enc_out_format == data->enc_out_format) { >> + if (data->enc_in_format == data->enc_out_format) { >> >> Changes in v7: >> - Correct the module licnese statement (Paul) >> - MODULE_LICENSE("GPL"); >> + MODULE_LICENSE("GPLv2"); >> - Start indentation with tabs and fix the misspell in Kconfig (Paul) >> - Carry the lost device-binding document (Heiko) >> >> Changes in v6: >> - Rebase the Makefile/Kconfig files which add by Chris's rockchip-mipi driver (Caeser) >> >> Changes in v5: >> - Use hdmi_infoframe helper functions to packed the infoframe (Russell) >> - Remove the unused double wait_for_completion_timeout for ddc transfer (Russell) >> - Remove the unused local variable in "inno_hdmi_i2c_write()" function (Russell) >> >> Changes in v4: >> - Modify the commit title "drm/rockchip: hdmi: ..." (Mark) >> - Correct the "DKMS" to "DPMS" (Mark) >> - Fix over 80 characters problems (Mark) >> - Remove encoder .prepare/.commit helper functions, and move the vop mode >> configure function into encoder .enable helper functions. (Mark) >> >> Changes in v3: >> - Use encoder enable/disable function, and remove the encoder DPMS function >> - Keep HDMI PLL power on in standby mode >> >> Changes in v2: >> - Using DRM atomic helper functions for connector init (Mark) >> - Remove "hdmi->connector.encoder = encoder;" (Mark) >> >> drivers/gpu/drm/rockchip/Kconfig | 8 + >> drivers/gpu/drm/rockchip/Makefile | 1 + >> drivers/gpu/drm/rockchip/inno_hdmi.c | 939 +++++++++++++++++++++++++++++++++++ >> drivers/gpu/drm/rockchip/inno_hdmi.h | 362 ++++++++++++++ >> 4 files changed, 1310 insertions(+) >> create mode 100644 drivers/gpu/drm/rockchip/inno_hdmi.c >> create mode 100644 drivers/gpu/drm/rockchip/inno_hdmi.h >> >> diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig >> index 8573985..76b3362 100644 >> --- a/drivers/gpu/drm/rockchip/Kconfig >> +++ b/drivers/gpu/drm/rockchip/Kconfig >> @@ -35,3 +35,11 @@ config ROCKCHIP_DW_MIPI_DSI >> for the Synopsys DesignWare HDMI driver. If you want to >> enable MIPI DSI on RK3288 based SoC, you should selet this >> option. >> + >> +config ROCKCHIP_INNO_HDMI >> + tristate "Rockchip specific extensions for Innosilicon HDMI" >> + depends on DRM_ROCKCHIP >> + help >> + This selects support for Rockchip SoC specific extensions >> + for the Innosilicon HDMI driver. If you want to enable >> + HDMI on RK3036 based SoC, you should select this option. >> diff --git a/drivers/gpu/drm/rockchip/Makefile b/drivers/gpu/drm/rockchip/Makefile >> index f6a809a..df8fbef 100644 >> --- a/drivers/gpu/drm/rockchip/Makefile >> +++ b/drivers/gpu/drm/rockchip/Makefile >> @@ -8,5 +8,6 @@ rockchipdrm-$(CONFIG_DRM_FBDEV_EMULATION) += rockchip_drm_fbdev.o >> >> obj-$(CONFIG_ROCKCHIP_DW_HDMI) += dw_hdmi-rockchip.o >> obj-$(CONFIG_ROCKCHIP_DW_MIPI_DSI) += dw-mipi-dsi.o >> +obj-$(CONFIG_ROCKCHIP_INNO_HDMI) += inno_hdmi.o >> >> obj-$(CONFIG_DRM_ROCKCHIP) += rockchipdrm.o rockchip_vop_reg.o >> diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c >> new file mode 100644 >> index 0000000..c99d88d >> --- /dev/null >> +++ b/drivers/gpu/drm/rockchip/inno_hdmi.c >> @@ -0,0 +1,939 @@ >> +/* >> + * Copyright (C) Fuzhou Rockchip Electronics Co.Ltd >> + * Zheng Yang >> + * Yakir Yang >> + * >> + * This software is licensed under the terms of the GNU General Public >> + * License version 2, as published by the Free Software Foundation, and >> + * may be copied, distributed, and modified under those terms. >> + * >> + * This program is distributed in the hope that it will be useful, >> + * but WITHOUT ANY WARRANTY; without even the implied warranty of >> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> + * GNU General Public License for more details. >> + */ >> + >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> + >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include > This is not needed. Do you mean the "drm_encoder_slave.h" file ? Yep, seems I haven't called ant encoder slave helper functions, thanks. > >> + >> +#include "rockchip_drm_drv.h" >> +#include "rockchip_drm_vop.h" >> + >> +#include "inno_hdmi.h" > [snip] > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752090AbcBCJex (ORCPT ); Wed, 3 Feb 2016 04:34:53 -0500 Received: from lucky1.263xmail.com ([211.157.147.132]:60641 "EHLO lucky1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751142AbcBCJet (ORCPT ); Wed, 3 Feb 2016 04:34:49 -0500 X-263anti-spam: KSV:0; X-MAIL-GRAY: 1 X-MAIL-DELIVERY: 0 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-ADDR-CHECKED: 0 X-RL-SENDER: ykk@rock-chips.com X-FST-TO: zhengyang@rock-chips.com X-SENDER-IP: 58.22.7.114 X-LOGIN-NAME: ykk@rock-chips.com X-UNIQUE-TAG: X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: [PATCH v8 1/2] drm/rockchip: hdmi: add Innosilicon HDMI support To: Jean-Francois Moine References: <1454049768-30872-1-git-send-email-ykk@rock-chips.com> <1454050059-31196-1-git-send-email-ykk@rock-chips.com> <20160129082000.b25fd19cea94c4f3ec45e17f@free.fr> Cc: Mark Yao , Heiko Stuebner , Mark Rutland , devicetree@vger.kernel.org, Pawel Moll , Ian Campbell , Ben Chan , Ken Mixte , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, Rob Herring , Kumar Gala , Thierry Reding , linux-arm-kernel@lists.infradead.org, Zheng Yang From: Yakir Yang Message-ID: <56B1C9B0.3030806@rock-chips.com> Date: Wed, 3 Feb 2016 17:34:40 +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: <20160129082000.b25fd19cea94c4f3ec45e17f@free.fr> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Jean, Sorry about miss your comments :) On 01/29/2016 03:20 PM, Jean-Francois Moine wrote: > On Fri, 29 Jan 2016 14:47:39 +0800 > Yakir Yang wrote: > >> The Innosilicon HDMI is a low power HDMI 1.4 transmitter >> IP, and it have been integrated on some rockchip CPUs >> (like RK3036, RK312x). >> >> Signed-off-by: Yakir Yang >> --- >> Changes in v8: >> - Don't check whether encoder output format is RGB colorspace, cause driver >> default configure the output colorspace to RGB. (ZhengYang) >> - Correct the check condition in inno_hdmi_config_video_csc() (ZhengYang) >> - if (data->enc_out_format == data->enc_out_format) { >> + if (data->enc_in_format == data->enc_out_format) { >> >> Changes in v7: >> - Correct the module licnese statement (Paul) >> - MODULE_LICENSE("GPL"); >> + MODULE_LICENSE("GPLv2"); >> - Start indentation with tabs and fix the misspell in Kconfig (Paul) >> - Carry the lost device-binding document (Heiko) >> >> Changes in v6: >> - Rebase the Makefile/Kconfig files which add by Chris's rockchip-mipi driver (Caeser) >> >> Changes in v5: >> - Use hdmi_infoframe helper functions to packed the infoframe (Russell) >> - Remove the unused double wait_for_completion_timeout for ddc transfer (Russell) >> - Remove the unused local variable in "inno_hdmi_i2c_write()" function (Russell) >> >> Changes in v4: >> - Modify the commit title "drm/rockchip: hdmi: ..." (Mark) >> - Correct the "DKMS" to "DPMS" (Mark) >> - Fix over 80 characters problems (Mark) >> - Remove encoder .prepare/.commit helper functions, and move the vop mode >> configure function into encoder .enable helper functions. (Mark) >> >> Changes in v3: >> - Use encoder enable/disable function, and remove the encoder DPMS function >> - Keep HDMI PLL power on in standby mode >> >> Changes in v2: >> - Using DRM atomic helper functions for connector init (Mark) >> - Remove "hdmi->connector.encoder = encoder;" (Mark) >> >> drivers/gpu/drm/rockchip/Kconfig | 8 + >> drivers/gpu/drm/rockchip/Makefile | 1 + >> drivers/gpu/drm/rockchip/inno_hdmi.c | 939 +++++++++++++++++++++++++++++++++++ >> drivers/gpu/drm/rockchip/inno_hdmi.h | 362 ++++++++++++++ >> 4 files changed, 1310 insertions(+) >> create mode 100644 drivers/gpu/drm/rockchip/inno_hdmi.c >> create mode 100644 drivers/gpu/drm/rockchip/inno_hdmi.h >> >> diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig >> index 8573985..76b3362 100644 >> --- a/drivers/gpu/drm/rockchip/Kconfig >> +++ b/drivers/gpu/drm/rockchip/Kconfig >> @@ -35,3 +35,11 @@ config ROCKCHIP_DW_MIPI_DSI >> for the Synopsys DesignWare HDMI driver. If you want to >> enable MIPI DSI on RK3288 based SoC, you should selet this >> option. >> + >> +config ROCKCHIP_INNO_HDMI >> + tristate "Rockchip specific extensions for Innosilicon HDMI" >> + depends on DRM_ROCKCHIP >> + help >> + This selects support for Rockchip SoC specific extensions >> + for the Innosilicon HDMI driver. If you want to enable >> + HDMI on RK3036 based SoC, you should select this option. >> diff --git a/drivers/gpu/drm/rockchip/Makefile b/drivers/gpu/drm/rockchip/Makefile >> index f6a809a..df8fbef 100644 >> --- a/drivers/gpu/drm/rockchip/Makefile >> +++ b/drivers/gpu/drm/rockchip/Makefile >> @@ -8,5 +8,6 @@ rockchipdrm-$(CONFIG_DRM_FBDEV_EMULATION) += rockchip_drm_fbdev.o >> >> obj-$(CONFIG_ROCKCHIP_DW_HDMI) += dw_hdmi-rockchip.o >> obj-$(CONFIG_ROCKCHIP_DW_MIPI_DSI) += dw-mipi-dsi.o >> +obj-$(CONFIG_ROCKCHIP_INNO_HDMI) += inno_hdmi.o >> >> obj-$(CONFIG_DRM_ROCKCHIP) += rockchipdrm.o rockchip_vop_reg.o >> diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c >> new file mode 100644 >> index 0000000..c99d88d >> --- /dev/null >> +++ b/drivers/gpu/drm/rockchip/inno_hdmi.c >> @@ -0,0 +1,939 @@ >> +/* >> + * Copyright (C) Fuzhou Rockchip Electronics Co.Ltd >> + * Zheng Yang >> + * Yakir Yang >> + * >> + * This software is licensed under the terms of the GNU General Public >> + * License version 2, as published by the Free Software Foundation, and >> + * may be copied, distributed, and modified under those terms. >> + * >> + * This program is distributed in the hope that it will be useful, >> + * but WITHOUT ANY WARRANTY; without even the implied warranty of >> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> + * GNU General Public License for more details. >> + */ >> + >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> + >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include > This is not needed. Do you mean the "drm_encoder_slave.h" file ? Yep, seems I haven't called ant encoder slave helper functions, thanks. > >> + >> +#include "rockchip_drm_drv.h" >> +#include "rockchip_drm_vop.h" >> + >> +#include "inno_hdmi.h" > [snip] >