From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758151AbcILMCD (ORCPT ); Mon, 12 Sep 2016 08:02:03 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:38523 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1753728AbcILMCA (ORCPT ); Mon, 12 Sep 2016 08:02:00 -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 v8 0/9] MT2701 DRM support Date: Mon, 12 Sep 2016 20:01:03 +0800 Message-ID: <1473681672-47144-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 v8, 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 v7: - Remove redundant codes - Move the definition of DDP_COMPONENT_BLS to patch of "drm/mediatek: update display module connections" - Move _dsi_irq_wait_queue into platform driver data - Move mtk_dsi_irq_data_clear() to patch of "drm/mediatek: add dsi interrupt control" - Add more descriptions in the commit messages 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 | 33 ++- 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 | 429 ++++++++++++++++++++++++---- drivers/gpu/drm/mediatek/mtk_mipi_tx.c | 70 +++-- 11 files changed, 714 insertions(+), 161 deletions(-) -- 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: YT Shen Subject: [PATCH v8 0/9] MT2701 DRM support Date: Mon, 12 Sep 2016 20:01:03 +0800 Message-ID: <1473681672-47144-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 VGhpcyBpcyBNVDI3MDEgRFJNIHN1cHBvcnQgUEFUQ0ggdjgsIGJhc2VkIG9uIDQuOC1yYzEuCldl IGFkZCBEU0kgaW50ZXJydXB0IGNvbnRyb2wsIHRyYW5zZmVyIGZ1bmN0aW9uIGZvciBNSVBJIERT SSBwYW5lbCBzdXBwb3J0LgpNb3N0IGNvZGVzIGFyZSB0aGUgc2FtZSwgZXhjZXB0IHNvbWUgcmVn aXN0ZXIgY2hhbmdlZC4KCkZvciBleGFtcGxlOgogLSBESVNQX09WTCBhZGRyZXNzIG9mZnNldCBj aGFuZ2VkLCBjb2xvciBmb3JtYXQgZGVmaW5pdGlvbiBjaGFuZ2VkLgogLSBESVNQX1JETUEgZmlm byBzaXplIGNoYW5nZWQuCiAtIERJU1BfQ09MT1Igb2Zmc2V0IGNoYW5nZWQuCiAtIE1JUElfVFgg c2V0dGluZyBjaGFuZ2VkLgoKV2UgYWRkIGEgbmV3IGNvbXBvbmVudCBERFBfQ09NUE9ORU5UX0JM UywgYW5kIHRoZSBjb25uZWN0aW9ucyBhcmUgdXBkYXRlZC4KT1ZMIC0+IFJETUEgLT4gQ09MT1Ig LT4gQkxTIC0+IERTSQpSRE1BIC0+IERQSQpBbmQgd2UgaGF2ZSBzaGFkb3cgcmVnaXN0ZXIgc3Vw cG9ydCBpbiBNVDI3MDEuCgpXZSByZW1vdmUgZHRzIHBhdGNoIGZyb20gdGhlIHBhdGNoIHNlcmll cywgd2hpY2ggZGVwZW5kcyBvbiBNVDI3MDEgQ0NGIGFuZCBzY3BzeXMuCgpDaGFuZ2VzIHNpbmNl IHY3OgotIFJlbW92ZSByZWR1bmRhbnQgY29kZXMKLSBNb3ZlIHRoZSBkZWZpbml0aW9uIG9mIERE UF9DT01QT05FTlRfQkxTIHRvIHBhdGNoIG9mICJkcm0vbWVkaWF0ZWs6IHVwZGF0ZSBkaXNwbGF5 IG1vZHVsZSBjb25uZWN0aW9ucyIKLSBNb3ZlIF9kc2lfaXJxX3dhaXRfcXVldWUgaW50byBwbGF0 Zm9ybSBkcml2ZXIgZGF0YQotIE1vdmUgbXRrX2RzaV9pcnFfZGF0YV9jbGVhcigpIHRvIHBhdGNo IG9mICJkcm0vbWVkaWF0ZWs6IGFkZCBkc2kgaW50ZXJydXB0IGNvbnRyb2wiCi0gQWRkIG1vcmUg ZGVzY3JpcHRpb25zIGluIHRoZSBjb21taXQgbWVzc2FnZXMKCkNoYW5nZXMgc2luY2UgdjY6Ci0g Q2hhbmdlIGRhdGEgdHlwZSBvZiBpcnFfZGF0YSB0byB1MzIKLSBSZXdyaXRlIG10a19kc2lfaG9z dF90cmFuc2ZlcigpIGZvciBzaW1wbGlmeQotIE1vdmUgc29tZSBNSVBJX1RYIGNvbmZpZyB0byBw YXRjaCBvZiAiZHJtL21lZGlhdGVrOiBhZGQgKmRyaXZlcl9kYXRhIGZvciBkaWZmZXJlbnQgaGFy ZHdhcmUgc2V0dGluZ3MiLgotIFJlbW92ZSBkZXZpY2UgdHJlZSBmcm9tIHRoaXMgcGF0Y2ggc2Vy aWVzCgpDaGFuZ2VzIHNpbmNlIHY1OgotIFJlbW92ZSBEUEkgZGV2aWNlIHRyZWUgYW5kIGNvbXBh dGlibGUgc3RyaW5nCi0gVXNlIG9uZSB3YWl0IHF1ZXVlIHRvIGhhbmRsZSBpbnRlcnJ1cHQgc3Rh dHVzCi0gVXBkYXRlIHRoZSBpbnRlcnJ1cHQgY2hlY2sgZmxvdyBhbmQgRFNJX0lOVF9BTExfQklU UwotIFVzZSBzYW1lIGZ1bmN0aW9uIGZvciBob3N0IHJlYWQvd3JpdGUgY29tbWFuZAotIHZhcmlv dXMgZml4ZXMKCkNoYW5nZXMgc2luY2UgdjQ6Ci0gQWRkIG1lc3NhZ2VzIHdoZW4gdGltZW91dCBp biBtdGtfZGlzcF9tdXRleF9hY3F1aXJlKCkKLSBBZGQgZGVzY3JpcHRpb25zIGZvciBESVNQX1JF R19NVVRFWCByZWdpc3RlcnMKLSBNb3ZlIGNvbm5lY3Rpb24gc2V0dGluZ3MgZm9yIGRpc3BsYXkg bW9kdWxlcyB0byBhIHNlcGFyYXRlIHBhdGNoCi0gUmVtb3ZlICdtdDI3MDEtZGlzcC13ZG1hJyBi ZWNhdXNlIGl0IGlzIHVudXNlZAotIE1vdmUgY2xlYW5pbmcgdXAgYW5kIHJlbmFtaW5nIHRvIGEg c2VwYXJhdGUgcGF0Y2gKLSBVc2Ugd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlX3RpbWVvdXQoKSB0 byByZXBsYWNlIHBvbGxpbmcKLSBSZW1vdmUgaXJxX251bSBmcm9tIG10a19kc2kgc3RydWN0dXJl Ci0gUmVtb3ZlIHJlZHVuZGFudCBhbmQgZGVidWcgY29kZXMKCkNoYW5nZXMgc2luY2UgdjM6Ci0g QWRkIERTSSBzdXBwb3J0IGZvciBNSVBJIERTSSBwYW5lbHMKLSBVcGRhdGUgQkxTIGJpbmRpbmcg dG8gUFdNIG5vZGVzCi0gUmVtb3ZlIHVmb2UgZGV2aWNlIG5vZGVzCi0gUmVtb3ZlIHJlZHVuZGFu dCBwYXJlbnRoZXNlcwotIFJlbW92ZSBnbG9iYWwgdmFyaWFibGUgaW5pdGlhbGl6YXRpb24KCkNo YW5nZXMgc2luY2UgdjI6Ci0gUmVuYW1lIG10a19kZHBfbXV4X3NlbCB0byBtdGtfZGRwX3NvdXRf c2VsCi0gVXBkYXRlIG10MjcwMV9tdGtfZGRwX2V4dCBjb21wb25lbnRzCi0gQ2hhbmdlZCB0byBw cmVmaXggbmFtaW5nCi0gUmVvcmRlciB0aGUgcGF0Y2ggc2VyaWVzCi0gVXNlIG9mX2RldmljZV9n ZXRfbWF0Y2hfZGF0YSgpIHRvIGdldCBkcml2ZXIgcHJpdmF0ZSBkYXRhCi0gVXNlIGlvcG9sbCBt YWNyb3MgdG8gaW1wbGVtZW50IG10a19kaXNwX211dGV4X2FjcXVpcmUoKQotIFJlbW92ZWQgZW1w dHkgZGV2aWNlIHRyZWUgbm9kZXMKCkNoYW5nZXMgc2luY2UgdjE6Ci0gUmVtb3ZlZCBCTFMgYmlu ZGluZ3MgYW5kIGNvZGVzLCB3aGljaCBiZWxvbmcgdG8gcHdtIGRyaXZlcgotIE1vdmVkIG10a19k aXNwX211dGV4X2FjcXVpcmUoKSBqdXN0IGJlZm9yZSBtdGtfY3J0Y19kZHBfY29uZmlnKCkKLSBT cGxpdCBwYXRjaCBpbnRvIHNtYWxsZXIgcGFydHMKLSBBZGRlZCBjb25zdCBrZXl3b3JkIHRvIGNv bnN0YW50IHN0cnVjdHVyZQotIFJlbW92ZWQgY29kZXMgZm9yIHNwZWNpYWwgbWVtb3J5IGFsaWdu CgpUaGUgUEFUQ0ggZGVwZW5kcyBvbiB0aGUgZm9sbG93aW5nIHBhdGNoOgpodHRwczovL3BhdGNo d29yay5rZXJuZWwub3JnL3BhdGNoLzkyODk0MDEvICgiZHQtYmluZGluZ3M6IEFSTTogTWVkaWF0 ZWs6IERvY3VtZW50IGJpbmRpbmdzIGZvciBNVDI3MDEiKSAKaHR0cHM6Ly9wYXRjaHdvcmsua2Vy bmVsLm9yZy9wYXRjaC85MjIyOTk3LyAoImR0LWJpbmRpbmdzOiBwd206IEFkZCBNZWRpYVRlayBk aXNwbGF5IFBXTSBiaW5kaW5ncyIpIAoKVGhhbmtzLAp5dC5zaGVuCgpZVCBTaGVuICg3KToKICBk cm0vbWVkaWF0ZWs6IHJlbmFtZSBtYWNyb3MsIGFkZCBjaGlwIHByZWZpeAogIGRybS9tZWRpYXRl azogYWRkICpkcml2ZXJfZGF0YSBmb3IgZGlmZmVyZW50IGhhcmR3YXJlIHNldHRpbmdzCiAgZHJt L21lZGlhdGVrOiBhZGQgc2hhZG93IHJlZ2lzdGVyIHN1cHBvcnQKICBkcm0vbWVkaWF0ZWs6IHVw ZGF0ZSBkaXNwbGF5IG1vZHVsZSBjb25uZWN0aW9ucwogIGRybS9tZWRpYXRlazogY2xlYW5pbmcg dXAgYW5kIHJlZmluZQogIGRybS9tZWRpYXRlazogdXBkYXRlIERTSSBzdWIgZHJpdmVyIGZsb3cK ICBkcm0vbWVkaWF0ZWs6IGFkZCBzdXBwb3J0IGZvciBNZWRpYXRlayBTb0MgTVQyNzAxCgpzaGFv bWluZyBjaGVuICgyKToKICBkcm0vbWVkaWF0ZWs6IGFkZCBkc2kgaW50ZXJydXB0IGNvbnRyb2wK ICBkcm0vbWVkaWF0ZWs6IGFkZCBkc2kgdHJhbnNmZXIgZnVuY3Rpb24KCiBkcml2ZXJzL2dwdS9k cm0vbWVkaWF0ZWsvbXRrX2Rpc3Bfb3ZsLmMgICAgIHwgIDMzICsrLQogZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19kaXNwX3JkbWEuYyAgICB8ICAxNyArLQogZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fY3J0Yy5jICAgICB8ICA3NSArKystLQogZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fZGRwLmMgICAgICB8IDEzOCArKysrKystLS0KIGRyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfZHJtX2RkcC5oICAgICAgfCAgIDIgKwogZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fZGRwX2NvbXAuYyB8ICAzNCArKy0KIGRyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHJtX2RkcF9jb21wLmggfCAgMTQgKwogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kcm1fZHJ2LmMgICAgICB8ICA1NCArKystCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9kcnYuaCAgICAgIHwgICA5ICsKIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHNpLmMgICAgICAgICAgfCA0MjkgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19taXBpX3R4LmMgICAgICB8ICA3MCArKystLQogMTEgZmls ZXMgY2hhbmdlZCwgNzE0IGluc2VydGlvbnMoKyksIDE2MSBkZWxldGlvbnMoLSkKCi0tIAoxLjku MQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: yt.shen@mediatek.com (YT Shen) Date: Mon, 12 Sep 2016 20:01:03 +0800 Subject: [PATCH v8 0/9] MT2701 DRM support Message-ID: <1473681672-47144-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 v8, 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 v7: - Remove redundant codes - Move the definition of DDP_COMPONENT_BLS to patch of "drm/mediatek: update display module connections" - Move _dsi_irq_wait_queue into platform driver data - Move mtk_dsi_irq_data_clear() to patch of "drm/mediatek: add dsi interrupt control" - Add more descriptions in the commit messages 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 | 33 ++- 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 | 429 ++++++++++++++++++++++++---- drivers/gpu/drm/mediatek/mtk_mipi_tx.c | 70 +++-- 11 files changed, 714 insertions(+), 161 deletions(-) -- 1.9.1