From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753195AbcIBLZU (ORCPT ); Fri, 2 Sep 2016 07:25:20 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:34447 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1751040AbcIBLZT (ORCPT ); Fri, 2 Sep 2016 07:25:19 -0400 From: YT Shen To: , Philipp Zabel CC: David Airlie , Matthias Brugger , YT Shen , Daniel Kurtz , Mao Huang , CK Hu , Bibby Hsieh , Daniel Vetter , Thierry Reding , Jie Qiu , Maxime Ripard , Chris Wilson , shaoming chen , Jitao Shi , Boris Brezillon , Dan Carpenter , , , , , Sascha Hauer , , Subject: [PATCH v7 0/9] MT2701 DRM support Date: Fri, 2 Sep 2016 19:24:35 +0800 Message-ID: <1472815484-43821-1-git-send-email-yt.shen@mediatek.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is MT2701 DRM support PATCH v7, based on 4.8-rc1. We add DSI interrupt control, transfer function for MIPI DSI panel support. Most codes are the same, except some register changed. For example: - DISP_OVL address offset changed, color format definition changed. - DISP_RDMA fifo size changed. - DISP_COLOR offset changed. - MIPI_TX setting changed. We add a new component DDP_COMPONENT_BLS, and the connections are updated. OVL -> RDMA -> COLOR -> BLS -> DSI RDMA -> DPI And we have shadow register support in MT2701. We remove dts patch from the patch series, which depends on MT2701 CCF and scpsys. Changes since v6: - Change data type of irq_data to u32 - Rewrite mtk_dsi_host_transfer() for simplify - Move some MIPI_TX config to patch of "drm/mediatek: add *driver_data for different hardware settings". - Remove device tree from this patch series Changes since v5: - Remove DPI device tree and compatible string - Use one wait queue to handle interrupt status - Update the interrupt check flow and DSI_INT_ALL_BITS - Use same function for host read/write command - various fixes Changes since v4: - Add messages when timeout in mtk_disp_mutex_acquire() - Add descriptions for DISP_REG_MUTEX registers - Move connection settings for display modules to a separate patch - Remove 'mt2701-disp-wdma' because it is unused - Move cleaning up and renaming to a separate patch - Use wait_event_interruptible_timeout() to replace polling - Remove irq_num from mtk_dsi structure - Remove redundant and debug codes Changes since v3: - Add DSI support for MIPI DSI panels - Update BLS binding to PWM nodes - Remove ufoe device nodes - Remove redundant parentheses - Remove global variable initialization Changes since v2: - Rename mtk_ddp_mux_sel to mtk_ddp_sout_sel - Update mt2701_mtk_ddp_ext components - Changed to prefix naming - Reorder the patch series - Use of_device_get_match_data() to get driver private data - Use iopoll macros to implement mtk_disp_mutex_acquire() - Removed empty device tree nodes Changes since v1: - Removed BLS bindings and codes, which belong to pwm driver - Moved mtk_disp_mutex_acquire() just before mtk_crtc_ddp_config() - Split patch into smaller parts - Added const keyword to constant structure - Removed codes for special memory align The PATCH depends on the following patch: https://patchwork.kernel.org/patch/9289401/ ("dt-bindings: ARM: Mediatek: Document bindings for MT2701") https://patchwork.kernel.org/patch/9222997/ ("dt-bindings: pwm: Add MediaTek display PWM bindings") Thanks, yt.shen YT Shen (7): drm/mediatek: rename macros, add chip prefix drm/mediatek: add *driver_data for different hardware settings drm/mediatek: add shadow register support drm/mediatek: update display module connections drm/mediatek: cleaning up and refine drm/mediatek: update DSI sub driver flow drm/mediatek: add support for Mediatek SoC MT2701 shaoming chen (2): drm/mediatek: add dsi interrupt control drm/mediatek: add dsi transfer function drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 32 ++- drivers/gpu/drm/mediatek/mtk_disp_rdma.c | 17 +- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 75 +++-- drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 138 ++++++--- drivers/gpu/drm/mediatek/mtk_drm_ddp.h | 2 + drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 34 ++- drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h | 14 + drivers/gpu/drm/mediatek/mtk_drm_drv.c | 54 +++- drivers/gpu/drm/mediatek/mtk_drm_drv.h | 9 + drivers/gpu/drm/mediatek/mtk_dsi.c | 432 ++++++++++++++++++++++++---- drivers/gpu/drm/mediatek/mtk_mipi_tx.c | 70 +++-- 11 files changed, 717 insertions(+), 160 deletions(-) -- 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: YT Shen Subject: [PATCH v7 0/9] MT2701 DRM support Date: Fri, 2 Sep 2016 19:24:35 +0800 Message-ID: <1472815484-43821-1-git-send-email-yt.shen@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, Philipp Zabel Cc: Daniel Vetter , Jie Qiu , Mao Huang , yingjoe.chen@mediatek.com, Dan Carpenter , Jitao Shi , linux-mediatek@lists.infradead.org, Matthias Brugger , shaoming chen , linux-arm-kernel@lists.infradead.org, srv_heupstream@mediatek.com, emil.l.velikov@gmail.com, linux-kernel@vger.kernel.org, Sascha Hauer , Maxime Ripard List-Id: linux-mediatek@lists.infradead.org VGhpcyBpcyBNVDI3MDEgRFJNIHN1cHBvcnQgUEFUQ0ggdjcsIGJhc2VkIG9uIDQuOC1yYzEuCldl IGFkZCBEU0kgaW50ZXJydXB0IGNvbnRyb2wsIHRyYW5zZmVyIGZ1bmN0aW9uIGZvciBNSVBJIERT SSBwYW5lbCBzdXBwb3J0LgpNb3N0IGNvZGVzIGFyZSB0aGUgc2FtZSwgZXhjZXB0IHNvbWUgcmVn aXN0ZXIgY2hhbmdlZC4KCkZvciBleGFtcGxlOgogLSBESVNQX09WTCBhZGRyZXNzIG9mZnNldCBj aGFuZ2VkLCBjb2xvciBmb3JtYXQgZGVmaW5pdGlvbiBjaGFuZ2VkLgogLSBESVNQX1JETUEgZmlm byBzaXplIGNoYW5nZWQuCiAtIERJU1BfQ09MT1Igb2Zmc2V0IGNoYW5nZWQuCiAtIE1JUElfVFgg c2V0dGluZyBjaGFuZ2VkLgoKV2UgYWRkIGEgbmV3IGNvbXBvbmVudCBERFBfQ09NUE9ORU5UX0JM UywgYW5kIHRoZSBjb25uZWN0aW9ucyBhcmUgdXBkYXRlZC4KT1ZMIC0+IFJETUEgLT4gQ09MT1Ig LT4gQkxTIC0+IERTSQpSRE1BIC0+IERQSQpBbmQgd2UgaGF2ZSBzaGFkb3cgcmVnaXN0ZXIgc3Vw cG9ydCBpbiBNVDI3MDEuCgpXZSByZW1vdmUgZHRzIHBhdGNoIGZyb20gdGhlIHBhdGNoIHNlcmll cywgd2hpY2ggZGVwZW5kcyBvbiBNVDI3MDEgQ0NGIGFuZCBzY3BzeXMuCgpDaGFuZ2VzIHNpbmNl IHY2OgotIENoYW5nZSBkYXRhIHR5cGUgb2YgaXJxX2RhdGEgdG8gdTMyCi0gUmV3cml0ZSBtdGtf ZHNpX2hvc3RfdHJhbnNmZXIoKSBmb3Igc2ltcGxpZnkKLSBNb3ZlIHNvbWUgTUlQSV9UWCBjb25m aWcgdG8gcGF0Y2ggb2YgImRybS9tZWRpYXRlazogYWRkCipkcml2ZXJfZGF0YSBmb3IgZGlmZmVy ZW50IGhhcmR3YXJlIHNldHRpbmdzIi4KLSBSZW1vdmUgZGV2aWNlIHRyZWUgZnJvbSB0aGlzIHBh dGNoIHNlcmllcwoKQ2hhbmdlcyBzaW5jZSB2NToKLSBSZW1vdmUgRFBJIGRldmljZSB0cmVlIGFu ZCBjb21wYXRpYmxlIHN0cmluZwotIFVzZSBvbmUgd2FpdCBxdWV1ZSB0byBoYW5kbGUgaW50ZXJy dXB0IHN0YXR1cwotIFVwZGF0ZSB0aGUgaW50ZXJydXB0IGNoZWNrIGZsb3cgYW5kIERTSV9JTlRf QUxMX0JJVFMKLSBVc2Ugc2FtZSBmdW5jdGlvbiBmb3IgaG9zdCByZWFkL3dyaXRlIGNvbW1hbmQK LSB2YXJpb3VzIGZpeGVzCgpDaGFuZ2VzIHNpbmNlIHY0OgotIEFkZCBtZXNzYWdlcyB3aGVuIHRp bWVvdXQgaW4gbXRrX2Rpc3BfbXV0ZXhfYWNxdWlyZSgpCi0gQWRkIGRlc2NyaXB0aW9ucyBmb3Ig RElTUF9SRUdfTVVURVggcmVnaXN0ZXJzCi0gTW92ZSBjb25uZWN0aW9uIHNldHRpbmdzIGZvciBk aXNwbGF5IG1vZHVsZXMgdG8gYSBzZXBhcmF0ZSBwYXRjaAotIFJlbW92ZSAnbXQyNzAxLWRpc3At d2RtYScgYmVjYXVzZSBpdCBpcyB1bnVzZWQKLSBNb3ZlIGNsZWFuaW5nIHVwIGFuZCByZW5hbWlu ZyB0byBhIHNlcGFyYXRlIHBhdGNoCi0gVXNlIHdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZV90aW1l b3V0KCkgdG8gcmVwbGFjZSBwb2xsaW5nCi0gUmVtb3ZlIGlycV9udW0gZnJvbSBtdGtfZHNpIHN0 cnVjdHVyZQotIFJlbW92ZSByZWR1bmRhbnQgYW5kIGRlYnVnIGNvZGVzCgpDaGFuZ2VzIHNpbmNl IHYzOgotIEFkZCBEU0kgc3VwcG9ydCBmb3IgTUlQSSBEU0kgcGFuZWxzCi0gVXBkYXRlIEJMUyBi aW5kaW5nIHRvIFBXTSBub2RlcwotIFJlbW92ZSB1Zm9lIGRldmljZSBub2RlcwotIFJlbW92ZSBy ZWR1bmRhbnQgcGFyZW50aGVzZXMKLSBSZW1vdmUgZ2xvYmFsIHZhcmlhYmxlIGluaXRpYWxpemF0 aW9uCgpDaGFuZ2VzIHNpbmNlIHYyOgotIFJlbmFtZSBtdGtfZGRwX211eF9zZWwgdG8gbXRrX2Rk cF9zb3V0X3NlbAotIFVwZGF0ZSBtdDI3MDFfbXRrX2RkcF9leHQgY29tcG9uZW50cwotIENoYW5n ZWQgdG8gcHJlZml4IG5hbWluZwotIFJlb3JkZXIgdGhlIHBhdGNoIHNlcmllcwotIFVzZSBvZl9k ZXZpY2VfZ2V0X21hdGNoX2RhdGEoKSB0byBnZXQgZHJpdmVyIHByaXZhdGUgZGF0YQotIFVzZSBp b3BvbGwgbWFjcm9zIHRvIGltcGxlbWVudCBtdGtfZGlzcF9tdXRleF9hY3F1aXJlKCkKLSBSZW1v dmVkIGVtcHR5IGRldmljZSB0cmVlIG5vZGVzCgpDaGFuZ2VzIHNpbmNlIHYxOgotIFJlbW92ZWQg QkxTIGJpbmRpbmdzIGFuZCBjb2Rlcywgd2hpY2ggYmVsb25nIHRvIHB3bSBkcml2ZXIKLSBNb3Zl ZCBtdGtfZGlzcF9tdXRleF9hY3F1aXJlKCkganVzdCBiZWZvcmUgbXRrX2NydGNfZGRwX2NvbmZp ZygpCi0gU3BsaXQgcGF0Y2ggaW50byBzbWFsbGVyIHBhcnRzCi0gQWRkZWQgY29uc3Qga2V5d29y ZCB0byBjb25zdGFudCBzdHJ1Y3R1cmUKLSBSZW1vdmVkIGNvZGVzIGZvciBzcGVjaWFsIG1lbW9y eSBhbGlnbgoKVGhlIFBBVENIIGRlcGVuZHMgb24gdGhlIGZvbGxvd2luZyBwYXRjaDoKaHR0cHM6 Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wYXRjaC85Mjg5NDAxLyAoImR0LWJpbmRpbmdzOiBBUk06 IE1lZGlhdGVrOiBEb2N1bWVudCBiaW5kaW5ncyBmb3IgTVQyNzAxIikgCmh0dHBzOi8vcGF0Y2h3 b3JrLmtlcm5lbC5vcmcvcGF0Y2gvOTIyMjk5Ny8gKCJkdC1iaW5kaW5nczogcHdtOiBBZGQgTWVk aWFUZWsgZGlzcGxheSBQV00gYmluZGluZ3MiKSAKClRoYW5rcywKeXQuc2hlbgoKWVQgU2hlbiAo Nyk6CiAgZHJtL21lZGlhdGVrOiByZW5hbWUgbWFjcm9zLCBhZGQgY2hpcCBwcmVmaXgKICBkcm0v bWVkaWF0ZWs6IGFkZCAqZHJpdmVyX2RhdGEgZm9yIGRpZmZlcmVudCBoYXJkd2FyZSBzZXR0aW5n cwogIGRybS9tZWRpYXRlazogYWRkIHNoYWRvdyByZWdpc3RlciBzdXBwb3J0CiAgZHJtL21lZGlh dGVrOiB1cGRhdGUgZGlzcGxheSBtb2R1bGUgY29ubmVjdGlvbnMKICBkcm0vbWVkaWF0ZWs6IGNs ZWFuaW5nIHVwIGFuZCByZWZpbmUKICBkcm0vbWVkaWF0ZWs6IHVwZGF0ZSBEU0kgc3ViIGRyaXZl ciBmbG93CiAgZHJtL21lZGlhdGVrOiBhZGQgc3VwcG9ydCBmb3IgTWVkaWF0ZWsgU29DIE1UMjcw MQoKc2hhb21pbmcgY2hlbiAoMik6CiAgZHJtL21lZGlhdGVrOiBhZGQgZHNpIGludGVycnVwdCBj b250cm9sCiAgZHJtL21lZGlhdGVrOiBhZGQgZHNpIHRyYW5zZmVyIGZ1bmN0aW9uCgogZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX292bC5jICAgICB8ICAzMiArKy0KIGRyaXZlcnMv Z3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9yZG1hLmMgICAgfCAgMTcgKy0KIGRyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYyAgICAgfCAgNzUgKysrLS0KIGRyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5jICAgICAgfCAxMzggKysrKysrLS0tCiBkcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHAuaCAgICAgIHwgICAyICsKIGRyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmMgfCAgMzQgKystCiBkcml2ZXJzL2dwdS9k cm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5oIHwgIDE0ICsKIGRyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZHJtX2Rydi5jICAgICAgfCAgNTQgKysrLQogZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fZHJ2LmggICAgICB8ICAgOSArCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2RzaS5jICAgICAgICAgIHwgNDMyICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0K IGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfbWlwaV90eC5jICAgICAgfCAgNzAgKysrLS0K IDExIGZpbGVzIGNoYW5nZWQsIDcxNyBpbnNlcnRpb25zKCspLCAxNjAgZGVsZXRpb25zKC0pCgot LSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: yt.shen@mediatek.com (YT Shen) Date: Fri, 2 Sep 2016 19:24:35 +0800 Subject: [PATCH v7 0/9] MT2701 DRM support Message-ID: <1472815484-43821-1-git-send-email-yt.shen@mediatek.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org This is MT2701 DRM support PATCH v7, based on 4.8-rc1. We add DSI interrupt control, transfer function for MIPI DSI panel support. Most codes are the same, except some register changed. For example: - DISP_OVL address offset changed, color format definition changed. - DISP_RDMA fifo size changed. - DISP_COLOR offset changed. - MIPI_TX setting changed. We add a new component DDP_COMPONENT_BLS, and the connections are updated. OVL -> RDMA -> COLOR -> BLS -> DSI RDMA -> DPI And we have shadow register support in MT2701. We remove dts patch from the patch series, which depends on MT2701 CCF and scpsys. Changes since v6: - Change data type of irq_data to u32 - Rewrite mtk_dsi_host_transfer() for simplify - Move some MIPI_TX config to patch of "drm/mediatek: add *driver_data for different hardware settings". - Remove device tree from this patch series Changes since v5: - Remove DPI device tree and compatible string - Use one wait queue to handle interrupt status - Update the interrupt check flow and DSI_INT_ALL_BITS - Use same function for host read/write command - various fixes Changes since v4: - Add messages when timeout in mtk_disp_mutex_acquire() - Add descriptions for DISP_REG_MUTEX registers - Move connection settings for display modules to a separate patch - Remove 'mt2701-disp-wdma' because it is unused - Move cleaning up and renaming to a separate patch - Use wait_event_interruptible_timeout() to replace polling - Remove irq_num from mtk_dsi structure - Remove redundant and debug codes Changes since v3: - Add DSI support for MIPI DSI panels - Update BLS binding to PWM nodes - Remove ufoe device nodes - Remove redundant parentheses - Remove global variable initialization Changes since v2: - Rename mtk_ddp_mux_sel to mtk_ddp_sout_sel - Update mt2701_mtk_ddp_ext components - Changed to prefix naming - Reorder the patch series - Use of_device_get_match_data() to get driver private data - Use iopoll macros to implement mtk_disp_mutex_acquire() - Removed empty device tree nodes Changes since v1: - Removed BLS bindings and codes, which belong to pwm driver - Moved mtk_disp_mutex_acquire() just before mtk_crtc_ddp_config() - Split patch into smaller parts - Added const keyword to constant structure - Removed codes for special memory align The PATCH depends on the following patch: https://patchwork.kernel.org/patch/9289401/ ("dt-bindings: ARM: Mediatek: Document bindings for MT2701") https://patchwork.kernel.org/patch/9222997/ ("dt-bindings: pwm: Add MediaTek display PWM bindings") Thanks, yt.shen YT Shen (7): drm/mediatek: rename macros, add chip prefix drm/mediatek: add *driver_data for different hardware settings drm/mediatek: add shadow register support drm/mediatek: update display module connections drm/mediatek: cleaning up and refine drm/mediatek: update DSI sub driver flow drm/mediatek: add support for Mediatek SoC MT2701 shaoming chen (2): drm/mediatek: add dsi interrupt control drm/mediatek: add dsi transfer function drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 32 ++- drivers/gpu/drm/mediatek/mtk_disp_rdma.c | 17 +- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 75 +++-- drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 138 ++++++--- drivers/gpu/drm/mediatek/mtk_drm_ddp.h | 2 + drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 34 ++- drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h | 14 + drivers/gpu/drm/mediatek/mtk_drm_drv.c | 54 +++- drivers/gpu/drm/mediatek/mtk_drm_drv.h | 9 + drivers/gpu/drm/mediatek/mtk_dsi.c | 432 ++++++++++++++++++++++++---- drivers/gpu/drm/mediatek/mtk_mipi_tx.c | 70 +++-- 11 files changed, 717 insertions(+), 160 deletions(-) -- 1.9.1