From mboxrd@z Thu Jan 1 00:00:00 1970 From: YT Shen Subject: [PATCH v6 00/10] MT2701 DRM support Date: Thu, 4 Aug 2016 19:07:14 +0800 Message-ID: <1470308844-20895-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: Mark Rutland , devicetree@vger.kernel.org, Russell King , srv_heupstream@mediatek.com, Pawel Moll , Ian Campbell , emil.l.velikov@gmail.com, linux-kernel@vger.kernel.org, Mao Huang , Rob Herring , linux-mediatek@lists.infradead.org, Kumar Gala , Matthias Brugger , yingjoe.chen@mediatek.com, Sascha Hauer , linux-arm-kernel@lists.infradead.org List-Id: linux-mediatek@lists.infradead.org VGhpcyBpcyBNVDI3MDEgRFJNIHN1cHBvcnQgUEFUQ0ggdjYsIGJhc2VkIG9uIDQuNy1yYzEuCldl IGFkZCBEU0kgaW50ZXJydXB0IGNvbnRyb2wsIHRyYW5zZmVyIGZ1bmN0aW9uIGZvciBNSVBJIERT SSBwYW5lbCBzdXBwb3J0LgpNb3N0IGNvZGVzIGFyZSB0aGUgc2FtZSwgZXhjZXB0IHNvbWUgcmVn aXN0ZXIgY2hhbmdlZC4KCkZvciBleGFtcGxlOgogLSBESVNQX09WTCBhZGRyZXNzIG9mZnNldCBj aGFuZ2VkLCBjb2xvciBmb3JtYXQgZGVmaW5pdGlvbiBjaGFuZ2VkLgogLSBESVNQX1JETUEgZmlm byBzaXplIGNoYW5nZWQuCiAtIERJU1BfQ09MT1Igb2Zmc2V0IGNoYW5nZWQuCiAtIE1JUElfVFgg c2V0dGluZyBjaGFuZ2VkLgoKV2UgYWRkIGEgbmV3IGNvbXBvbmVudCBERFBfQ09NUE9ORU5UX0JM UywgYW5kIHRoZSBjb25uZWN0aW9ucyBhcmUgdXBkYXRlZC4KT1ZMIC0+IFJETUEgLT4gQ09MT1Ig LT4gQkxTIC0+IERTSQpSRE1BIC0+IERQSQpBbmQgd2UgaGF2ZSBzaGFkb3cgcmVnaXN0ZXIgc3Vw cG9ydCBpbiBNVDI3MDEuCgpDaGFuZ2VzIHNpbmNlIHY1OgotIFJlbW92ZSBEUEkgZGV2aWNlIHRy ZWUgYW5kIGNvbXBhdGlibGUgc3RyaW5nCi0gVXNlIG9uZSB3YWl0IHF1ZXVlIHRvIGhhbmRsZSBp bnRlcnJ1cHQgc3RhdHVzCi0gVXBkYXRlIHRoZSBpbnRlcnJ1cHQgY2hlY2sgZmxvdyBhbmQgRFNJ X0lOVF9BTExfQklUUwotIFVzZSBzYW1lIGZ1bmN0aW9uIGZvciBob3N0IHJlYWQvd3JpdGUgY29t bWFuZAotIHZhcmlvdXMgZml4ZXMKCkNoYW5nZXMgc2luY2UgdjQ6Ci0gQWRkIG1lc3NhZ2VzIHdo ZW4gdGltZW91dCBpbiBtdGtfZGlzcF9tdXRleF9hY3F1aXJlKCkKLSBBZGQgZGVzY3JpcHRpb25z IGZvciBESVNQX1JFR19NVVRFWCByZWdpc3RlcnMKLSBNb3ZlIGNvbm5lY3Rpb24gc2V0dGluZ3Mg Zm9yIGRpc3BsYXkgbW9kdWxlcyB0byBhIHNlcGFyYXRlIHBhdGNoCi0gUmVtb3ZlICdtdDI3MDEt ZGlzcC13ZG1hJyBiZWNhdXNlIGl0IGlzIHVudXNlZAotIE1vdmUgY2xlYW5pbmcgdXAgYW5kIHJl bmFtaW5nIHRvIGEgc2VwYXJhdGUgcGF0Y2gKLSBVc2Ugd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxl X3RpbWVvdXQoKSB0byByZXBsYWNlIHBvbGxpbmcKLSBSZW1vdmUgaXJxX251bSBmcm9tIG10a19k c2kgc3RydWN0dXJlCi0gUmVtb3ZlIHJlZHVuZGFudCBhbmQgZGVidWcgY29kZXMKCkNoYW5nZXMg c2luY2UgdjM6Ci0gQWRkIERTSSBzdXBwb3J0IGZvciBNSVBJIERTSSBwYW5lbHMKLSBVcGRhdGUg QkxTIGJpbmRpbmcgdG8gUFdNIG5vZGVzCi0gUmVtb3ZlIHVmb2UgZGV2aWNlIG5vZGVzCi0gUmVt b3ZlIHJlZHVuZGFudCBwYXJlbnRoZXNlcwotIFJlbW92ZSBnbG9iYWwgdmFyaWFibGUgaW5pdGlh bGl6YXRpb24KCkNoYW5nZXMgc2luY2UgdjI6Ci0gUmVuYW1lIG10a19kZHBfbXV4X3NlbCB0byBt dGtfZGRwX3NvdXRfc2VsCi0gVXBkYXRlIG10MjcwMV9tdGtfZGRwX2V4dCBjb21wb25lbnRzCi0g Q2hhbmdlZCB0byBwcmVmaXggbmFtaW5nCi0gUmVvcmRlciB0aGUgcGF0Y2ggc2VyaWVzCi0gVXNl IG9mX2RldmljZV9nZXRfbWF0Y2hfZGF0YSgpIHRvIGdldCBkcml2ZXIgcHJpdmF0ZSBkYXRhCi0g VXNlIGlvcG9sbCBtYWNyb3MgdG8gaW1wbGVtZW50IG10a19kaXNwX211dGV4X2FjcXVpcmUoKQot IFJlbW92ZWQgZW1wdHkgZGV2aWNlIHRyZWUgbm9kZXMKCkNoYW5nZXMgc2luY2UgdjE6Ci0gUmVt b3ZlZCBCTFMgYmluZGluZ3MgYW5kIGNvZGVzLCB3aGljaCBiZWxvbmcgdG8gcHdtIGRyaXZlcgot IE1vdmVkIG10a19kaXNwX211dGV4X2FjcXVpcmUoKSBqdXN0IGJlZm9yZSBtdGtfY3J0Y19kZHBf Y29uZmlnKCkKLSBTcGxpdCBwYXRjaCBpbnRvIHNtYWxsZXIgcGFydHMKLSBBZGRlZCBjb25zdCBr ZXl3b3JkIHRvIGNvbnN0YW50IHN0cnVjdHVyZQotIFJlbW92ZWQgY29kZXMgZm9yIHNwZWNpYWwg bWVtb3J5IGFsaWduCgpUaGUgUEFUQ0ggZGVwZW5kcyBvbiB0aGUgZm9sbG93aW5nIHBhdGNoOgpo dHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3BhdGNoLzg4MzI0NDEvICgiZHQtYmluZGluZ3M6 IEFSTTogTWVkaWF0ZWs6IERvY3VtZW50IGJpbmRpbmdzIGZvciBNVDI3MDEiKQpodHRwczovL3Bh dGNod29yay5rZXJuZWwub3JnL3BhdGNoLzkyMjI5OTcvICgiZHQtYmluZGluZ3M6IHB3bTogQWRk IE1lZGlhVGVrIGRpc3BsYXkgUFdNIGJpbmRpbmdzIikKaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVs Lm9yZy9wYXRjaC85MTY0MDI5LyAoImR0LWJpbmRpbmdzOiBtZWRpYXRlazogYWRkIGRlc2NyaXB0 aW9ucyBmb3IgbWVkaWF0ZWsgbXQyNzAxIGlvbW11IGFuZCBzbWkiKQpodHRwczovL3BhdGNod29y ay5rZXJuZWwub3JnL3BhdGNoLzkxNjQwMTcvICgiaW9tbXUvbWVkaWF0ZWs6IG1vdmUgdGhlIGNv bW1vbiBzdHJ1Y3QgaW50byBoZWFkZXIgZmlsZSIpCmh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5v cmcvcGF0Y2gvOTE2NDAyNS8gKCJtZW1vcnkvbWVkaWF0ZWs6IGFkZCBzdXBwb3J0IGZvciBtdDI3 MDEiKQpodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3BhdGNoLzkxNjQwNDEvICgiaW9tbXUv bWVkaWF0ZWs6IGFkZCBzdXBwb3J0IGZvciBtdGsgaW9tbXUgZ2VuZXJhdGlvbiBvbmUgSFciKQpo dHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3BhdGNoLzkxNjQwMTMvICgiQVJNOiBkdHM6IG10 MjcwMTogYWRkIGlvbW11L3NtaSBkdHNpIG5vZGUgZm9yIG10MjcwMSIpCgpUaGFua3MsCnl0LnNo ZW4KCllUIFNoZW4gKDgpOgogIGRybS9tZWRpYXRlazogcmVuYW1lIG1hY3JvcywgYWRkIGNoaXAg cHJlZml4CiAgZHJtL21lZGlhdGVrOiBhZGQgKmRyaXZlcl9kYXRhIGZvciBkaWZmZXJlbnQgaGFy ZHdhcmUgc2V0dGluZ3MKICBkcm0vbWVkaWF0ZWs6IGFkZCBzaGFkb3cgcmVnaXN0ZXIgc3VwcG9y dAogIGRybS9tZWRpYXRlazogdXBkYXRlIGRpc3BsYXkgbW9kdWxlIGNvbm5lY3Rpb25zCiAgZHJt L21lZGlhdGVrOiBjbGVhbmluZyB1cCBhbmQgcmVmaW5lCiAgZHJtL21lZGlhdGVrOiB1cGRhdGUg RFNJIHN1YiBkcml2ZXIgZmxvdwogIGRybS9tZWRpYXRlazogYWRkIHN1cHBvcnQgZm9yIE1lZGlh dGVrIFNvQyBNVDI3MDEKICBhcm06IGR0czogbXQyNzAxOiBBZGQgZGlzcGxheSBzdWJzeXN0ZW0g cmVsYXRlZCBub2RlcyBmb3IgTVQyNzAxCgpzaGFvbWluZyBjaGVuICgyKToKICBkcm0vbWVkaWF0 ZWs6IGFkZCBkc2kgaW50ZXJydXB0IGNvbnRyb2wKICBkcm0vbWVkaWF0ZWs6IGFkZCBkc2kgdHJh bnNmZXIgZnVuY3Rpb24KCiBhcmNoL2FybS9ib290L2R0cy9tdDI3MDEuZHRzaSAgICAgICAgICAg ICAgIHwgICA4NiArKysrKwogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX292bC5j ICAgICB8ICAgMzIgKy0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9yZG1hLmMg ICAgfCAgIDE3ICstCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMgICAg IHwgICA3NSArKy0tCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHAuYyAgICAg IHwgIDEzOCArKysrKystLQogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmgg ICAgICB8ICAgIDIgKwogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAu YyB8ICAgMzQgKy0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmgg fCAgIDE0ICsKIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jICAgICAgfCAg IDU0ICsrLQogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmggICAgICB8ICAg IDkgKwogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kc2kuYyAgICAgICAgICB8ICA1MDYg KysrKysrKysrKysrKysrKysrKysrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRr X21pcGlfdHguYyAgICAgIHwgICA3MSArKy0tCiAxMiBmaWxlcyBjaGFuZ2VkLCA4NzggaW5zZXJ0 aW9ucygrKSwgMTYwIGRlbGV0aW9ucygtKQoKLS0gCjEuNy45LjUKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: yt.shen@mediatek.com (YT Shen) Date: Thu, 4 Aug 2016 19:07:14 +0800 Subject: [PATCH v6 00/10] MT2701 DRM support Message-ID: <1470308844-20895-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 v6, based on 4.7-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. 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/8832441/ ("dt-bindings: ARM: Mediatek: Document bindings for MT2701") https://patchwork.kernel.org/patch/9222997/ ("dt-bindings: pwm: Add MediaTek display PWM bindings") https://patchwork.kernel.org/patch/9164029/ ("dt-bindings: mediatek: add descriptions for mediatek mt2701 iommu and smi") https://patchwork.kernel.org/patch/9164017/ ("iommu/mediatek: move the common struct into header file") https://patchwork.kernel.org/patch/9164025/ ("memory/mediatek: add support for mt2701") https://patchwork.kernel.org/patch/9164041/ ("iommu/mediatek: add support for mtk iommu generation one HW") https://patchwork.kernel.org/patch/9164013/ ("ARM: dts: mt2701: add iommu/smi dtsi node for mt2701") Thanks, yt.shen YT Shen (8): 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 arm: dts: mt2701: Add display subsystem related nodes for MT2701 shaoming chen (2): drm/mediatek: add dsi interrupt control drm/mediatek: add dsi transfer function arch/arm/boot/dts/mt2701.dtsi | 86 +++++ 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 | 506 ++++++++++++++++++++++++--- drivers/gpu/drm/mediatek/mtk_mipi_tx.c | 71 ++-- 12 files changed, 878 insertions(+), 160 deletions(-) -- 1.7.9.5 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758219AbcHDLNn (ORCPT ); Thu, 4 Aug 2016 07:13:43 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:30049 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1751048AbcHDLNl (ORCPT ); Thu, 4 Aug 2016 07:13:41 -0400 From: YT Shen To: , Philipp Zabel CC: Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Russell King , David Airlie , Matthias Brugger , YT Shen , CK Hu , Mao Huang , Bibby Hsieh , , , , , , Sascha Hauer , , , Subject: [PATCH v6 00/10] MT2701 DRM support Date: Thu, 4 Aug 2016 19:07:14 +0800 Message-ID: <1470308844-20895-1-git-send-email-yt.shen@mediatek.com> X-Mailer: git-send-email 1.7.9.5 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 v6, based on 4.7-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. 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/8832441/ ("dt-bindings: ARM: Mediatek: Document bindings for MT2701") https://patchwork.kernel.org/patch/9222997/ ("dt-bindings: pwm: Add MediaTek display PWM bindings") https://patchwork.kernel.org/patch/9164029/ ("dt-bindings: mediatek: add descriptions for mediatek mt2701 iommu and smi") https://patchwork.kernel.org/patch/9164017/ ("iommu/mediatek: move the common struct into header file") https://patchwork.kernel.org/patch/9164025/ ("memory/mediatek: add support for mt2701") https://patchwork.kernel.org/patch/9164041/ ("iommu/mediatek: add support for mtk iommu generation one HW") https://patchwork.kernel.org/patch/9164013/ ("ARM: dts: mt2701: add iommu/smi dtsi node for mt2701") Thanks, yt.shen YT Shen (8): 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 arm: dts: mt2701: Add display subsystem related nodes for MT2701 shaoming chen (2): drm/mediatek: add dsi interrupt control drm/mediatek: add dsi transfer function arch/arm/boot/dts/mt2701.dtsi | 86 +++++ 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 | 506 ++++++++++++++++++++++++--- drivers/gpu/drm/mediatek/mtk_mipi_tx.c | 71 ++-- 12 files changed, 878 insertions(+), 160 deletions(-) -- 1.7.9.5