aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/mediatek
AgeCommit message (Collapse)AuthorFilesLines
2018-10-03drm/mediatek: add hdmi driver for MT2701 and MT7623chunhui dai5-3/+226
This patch adds hdmi dirver suppot for both MT2701 and MT7623. And also support other (existing or future) chips that use the same binding and driver. Signed-off-by: chunhui dai <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-10-03drm/mediatek: add support for SPDIF audio in HDMIchunhui dai1-0/+5
add support for SPDIF audio in HDMI Signed-off-by: chunhui dai <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-10-03drm/mediatek: separate hdmi phy to different filechunhui dai6-223/+302
Different IC has different phy setting of HDMI. This patch separates the phy hardware relate part for mt8173. Signed-off-by: chunhui dai <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-10-03drm/mediatek: add dpi driver for mt2701 and mt7623chunhui dai2-0/+23
This patch adds dpi dirver suppot for both mt2701 and mt7623. And also support other (existing or future) chips that use the same binding and driver. Signed-off-by: chunhui dai <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-10-03drm/mediatek: convert dpi driver to use drm_of_find_panel_or_bridgechunhui dai1-10/+6
Convert dpi driver to use drm_of_find_panel_or_bridge. This changes some error messages to debug messages (in the graph core). Graph connections are often "no connects" depending on the particular board, so we want to avoid spurious messages. Plus the kernel is not a DT validator. related links: [1] https://lkml.org/lkml/2017/2/3/716 [2] https://lkml.org/lkml/2017/2/3/719 Signed-off-by: chunhui dai <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-10-03drm/mediatek: add clock factor for different ICchunhui dai1-9/+15
different IC has different clock designed in HDMI, the factor for calculate clock should be different. Usinng the data in of_node to find this factor. Signed-off-by: chunhui dai <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-10-03drm/mediatek: adjust EDGE to match clock and datachunhui dai2-0/+9
The default timing of DPI data and clock is not match. We could adjust this bit to make them match. Signed-off-by: chunhui dai <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-10-03drm/mediatek: move hardware register to node datachunhui dai2-4/+16
The address of register DPI_H_FRE_CON is different in different IC. Using of_node data to find this address. Signed-off-by: chunhui dai <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-10-03drm/mediatek: add refcount for DPI power on/offchunhui dai1-30/+13
After the kernel 4.4, the DRM disable flow was changed, if DPI was disableed before CRTC, it will cause warning message as following: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1339 at ../../linux/linux-4.4.24-mtk/drivers/gpu/drm/drm_irq.c:1326 drm_wait_one_vblank+0x188/0x18c() vblank wait timed out on crtc 0 Modules linked in: bridge mt8521p_ir_shim(O) i2c_eeprom(O) mtk_m4(O) fuse_ctrl(O) virtual_block(O) caamkeys(PO) chk(PO) amperctl(O) ledctl(O) apple_auth(PO) micctl(O) sensors(PO) lla(O) sdd(PO) ice40_fpga(O) psmon(O) event_queue(PO) utils(O) blackbox(O) CPU: 0 PID: 1339 Comm: kworker/0:1 Tainted: P W O 4.4.24 #1 Hardware name: Mediatek Cortex-A7 (Device Tree) Workqueue: events drm_mode_rmfb_work_fn [<c001a710>] (unwind_backtrace) from [<c00151e4>] (show_stack+0x20/0x24) [<c00151e4>] (show_stack) from [<c027961c>] (dump_stack+0x98/0xac) [<c027961c>] (dump_stack) from [<c002ac54>] (warn_slowpath_common+0x94/0xc4) [<c002ac54>] (warn_slowpath_common) from [<c002acc4>] (warn_slowpath_fmt+0x40/0x48) [<c002acc4>] (warn_slowpath_fmt) from [<c03307ac>] (drm_wait_one_vblank+0x188/0x18c) [<c03307ac>] (drm_wait_one_vblank) from [<c03307d8>] (drm_crtc_wait_one_vblank+0x28/0x2c) [<c03307d8>] (drm_crtc_wait_one_vblank) from [<c034f48c>] (mtk_drm_crtc_disable+0x78/0x240) [<c034f48c>] (mtk_drm_crtc_disable) from [<c03240d4>] (drm_atomic_helper_commit_modeset_disables+0x128/0x3b8) [<c03240d4>] (drm_atomic_helper_commit_modeset_disables) from [<c0350a7c>] (mtk_atomic_complete+0x74/0xb4) [<c0350a7c>] (mtk_atomic_complete) from [<c0350b24>] (mtk_atomic_commit+0x68/0x98) [<c0350b24>] (mtk_atomic_commit) from [<c034ab48>] (drm_atomic_commit+0x54/0x74) [<c034ab48>] (drm_atomic_commit) from [<c0325c4c>] (drm_atomic_helper_set_config+0x7c/0xa0) [<c0325c4c>] (drm_atomic_helper_set_config) from [<c0338594>] (drm_mode_set_config_internal+0x68/0xe4) [<c0338594>] (drm_mode_set_config_internal) from [<c033967c>] (drm_framebuffer_remove+0xe4/0x120) [<c033967c>] (drm_framebuffer_remove) from [<c0339700>] (drm_mode_rmfb_work_fn+0x48/0x58) [<c0339700>] (drm_mode_rmfb_work_fn) from [<c0043a38>] (process_one_work+0x154/0x50c) [<c0043a38>] (process_one_work) from [<c0044074>] (worker_thread+0x284/0x568) [<c0044074>] (worker_thread) from [<c0049dc4>] (kthread+0xec/0x104) [<c0049dc4>] (kthread) from [<c0010678>] (ret_from_fork+0x14/0x3c) ---[ end trace 12ae5358e992abd5 ]--- so, we add refcount for DPI power on/off to protect the flow. Signed-off-by: Bibby Hsieh <[email protected]> Signed-off-by: chunhui dai <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-08-27drm/mediatek: fix connection from RDMA2 to DSI1Stu Hsieh1-1/+1
This patch fix connection from RDMA2 to DSI1 Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-08-27drm/mediatek: update some variable name from ovl to compStu Hsieh2-14/+14
This patch update some variable name from ovl to comp Because RDMA would be first HW in ddp, the naming ovl should be change to comp. Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-08-27drm/mediatek: use layer_nr function to get layer number to init planeStu Hsieh2-8/+14
This patch use layer_nr function to get layer number to init plane When plane init in crtc create, it use the number of OVL layer to init plane. That's OVL can read 4 memory address. For mt2712 third ddp, it use RDMA to read memory. RDMA can read 1 memory address, so it just init one plane. For compatibility, this patch use mtk_ddp_comp_layer_nr function to get layer number from their HW component in ddp for plane init. Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-08-27drm/mediatek: add function to return RDMA layer numberStu Hsieh1-0/+6
This patch add function to return RDMA layer number RDMA always has one layer. Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-08-27drm/mediatek: add function to return OVL layer numberStu Hsieh1-0/+6
This patch add function to return OVL layer number For now, MT8173, MT2712, MT2701 OVL all has 4 layer. Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-08-27drm/mediatek: add function to get layer number for componentStu Hsieh1-0/+9
This patch add function to get layer number for component Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-08-27drm/mediatek: add YUYV/UYVY color format support for RDMAStu Hsieh1-0/+20
This patch add YUYV/UYVY color format support for RDMA and transform matrix for YUYV/UYVY. Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-08-27drm/mediatek: add the comment about color format setting for OVLStu Hsieh1-0/+5
This patch add the comment about color format setting for OVL Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-08-27drm/mediatek: add RGB color format support for RDMAStu Hsieh1-0/+45
This patch add RGB color format support for RDMA, including RGB565, RGB888, RGBA8888 and ARGB8888. Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-08-27drm/mediatek: add memory mode and layer_config for RDMAStu Hsieh1-0/+21
This patch add memory mode for RDMA and layer_config for RDMA If use RDMA to read data from memory, it should set memory mode to RDMA Layer config set the data address and pitch to RDMA from plane setting. Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-08-27drm/mediatek: add connection from RDMA2 to DSI0Stu Hsieh1-0/+4
This patch add connection from RDMA2 to DSI0 Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-08-27drm/mediatek: add connection from RDMA1 to DSI0Stu Hsieh1-0/+4
This patch add connection from RDMA1 to DSI0 Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-08-27drm/mediatek: add connection from RDMA0 to DSI1Stu Hsieh1-0/+4
This patch add connection from RDMA0 to DSI1 Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-08-27drm/mediatek: add connection from RDMA0 to DPI1Stu Hsieh1-0/+4
This patch add connection from RDMA0 to DPI1 Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-08-27drm/mediatek: Replace drm_dev_unref with drm_dev_putThomas Zimmermann1-3/+3
This patch unifies the naming of DRM functions for reference counting of struct drm_device. The resulting code is more aligned with the rest of the Linux kernel interfaces. Signed-off-by: Thomas Zimmermann <[email protected]> Reviewed-by: Philipp Zabel <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-08-27drm/mediatek: Convert drm_atomic_helper_suspend/resume()Souptick Joarder1-13/+8
convert drm_atomic_helper_suspend/resume() to use drm_mode_config_helper_suspend/resume(). Signed-off-by: Souptick Joarder <[email protected]> Signed-off-by: Ajit Negi <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-08-18Merge tag 'char-misc-4.19-rc1' of ↵Linus Torvalds1-0/+1
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char/misc driver updates from Greg KH: "Here is the bit set of char/misc drivers for 4.19-rc1 There is a lot here, much more than normal, seems like everyone is writing new driver subsystems these days... Anyway, major things here are: - new FSI driver subsystem, yet-another-powerpc low-level hardware bus - gnss, finally an in-kernel GPS subsystem to try to tame all of the crazy out-of-tree drivers that have been floating around for years, combined with some really hacky userspace implementations. This is only for GNSS receivers, but you have to start somewhere, and this is great to see. Other than that, there are new slimbus drivers, new coresight drivers, new fpga drivers, and loads of DT bindings for all of these and existing drivers. All of these have been in linux-next for a while with no reported issues" * tag 'char-misc-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (255 commits) android: binder: Rate-limit debug and userspace triggered err msgs fsi: sbefifo: Bump max command length fsi: scom: Fix NULL dereference misc: mic: SCIF Fix scif_get_new_port() error handling misc: cxl: changed asterisk position genwqe: card_base: Use true and false for boolean values misc: eeprom: assignment outside the if statement uio: potential double frees if __uio_register_device() fails eeprom: idt_89hpesx: clean up an error pointer vs NULL inconsistency misc: ti-st: Fix memory leak in the error path of probe() android: binder: Show extra_buffers_size in trace firmware: vpd: Fix section enabled flag on vpd_section_destroy platform: goldfish: Retire pdev_bus goldfish: Use dedicated macros instead of manual bit shifting goldfish: Add missing includes to goldfish.h mux: adgs1408: new driver for Analog Devices ADGS1408/1409 mux dt-bindings: mux: add adi,adgs1408 Drivers: hv: vmbus: Cleanup synic memory free path Drivers: hv: vmbus: Remove use of slow_virt_to_phys() Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind() ...
2018-07-20Merge tag 'drm-misc-next-2018-07-18' of ↵Dave Airlie2-3/+3
git://anongit.freedesktop.org/drm/drm-misc into drm-next drm-misc-next for 4.19: Core Changes: - add support for DisplayPort CEC-Tunneling-over-AUX (Hans Verkuil) - more doc updates (Daniel Vetter) - fourcc: Add is_yuv field to drm_format_info (Ayan Kumar Halder) - dma-buf: correctly place BUG_ON (Michel Dänzer) Driver Changes: - more vkms support(Rodrigo Siqueira) - many fixes and small improments to all drivers Signed-off-by: Dave Airlie <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/20180718200826.GA20165@juma
2018-07-13drm: drop _mode_ from drm_mode_connector_attach_encoderDaniel Vetter2-2/+2
Again to align with the usual prefix of just drm_connector_. Again done with sed + manual fixup for indent issues. Reviewed-by: Sean Paul <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2018-07-13drm: drop _mode_ from update_edit_property()Daniel Vetter1-1/+1
Just makes it longer, and for most things in drm_connector.[hc] we just use the drm_connector_ prefix. Done with sed + a bit of manual fixup for the indenting. Reviewed-by: Sean Paul <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2018-07-07headers: separate linux/mod_devicetable.h from linux/platform_device.hRandy Dunlap1-0/+1
At over 4000 #includes, <linux/platform_device.h> is the 9th most #included header file in the Linux kernel. It does not need <linux/mod_devicetable.h>, so drop that header and explicitly add <linux/mod_devicetable.h> to source files that need it. 4146 #include <linux/platform_device.h> After this patch, there are 225 files that use <linux/mod_devicetable.h>, for a reduction of around 3900 times that <linux/mod_devicetable.h> does not have to be read & parsed. 225 #include <linux/mod_devicetable.h> This patch was build-tested on 20 different arch-es. It also makes these drivers SubmitChecklist#1 compliant. Signed-off-by: Randy Dunlap <[email protected]> Reported-by: kbuild test robot <[email protected]> # drivers/media/platform/vimc/ Reported-by: kbuild test robot <[email protected]> # drivers/pinctrl/pinctrl-u300.c Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-06-28drm/mtk: mtk_drm_fb -> drm_framebufferDaniel Stone1-26/+14
Now that mtk_drm_fb is an empty wrapper around drm_framebuffer, we can just delete it. Signed-off-by: Daniel Stone <[email protected]> Signed-off-by: CK Hu <[email protected]> Reviewed-by: Thierry Reding <[email protected]> Reviewed-by: Sean Paul <[email protected]> Cc: Philipp Zabel <[email protected]>
2018-06-28drm/mtk: Move GEM BO to drm_framebufferDaniel Stone3-35/+6
Since drm_framebuffer can now store GEM objects directly, place them there rather than in our own subclass. As this makes the framebuffer create_handle and destroy functions the same as the GEM framebuffer helper, we can reuse those. Signed-off-by: Daniel Stone <[email protected]> Signed-off-by: CK Hu <[email protected]> Reviewed-by: Thierry Reding <[email protected]> Reviewed-by: Sean Paul <[email protected]> Cc: Philipp Zabel <[email protected]>
2018-06-28drm/mtk: Remove impossible internal errorDaniel Stone1-5/+0
We cannot create a framebuffer with no objects, so there's no point testing for it. v2: Remove the error entirely. (Sean, CK, Thierry) Signed-off-by: Daniel Stone <[email protected]> Cc: Sean Paul <[email protected]> Cc: Thierry Reding <[email protected]> Cc: CK Hu <[email protected]> Cc: Philipp Zabel <[email protected]> Acked-by: Thierry Reding <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-06-28drm/mediatek: Add support for mediatek SOC MT2712[email protected]2-0/+78
This patch add support for the Mediatek MT2712 DISP subsystem. There are two OVL engine and three disp output in MT2712. Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-06-28drm/mediatek: Split line to not over 80 charactersCK Hu1-18/+36
Split the long line into two short line to make sure eache line not over 80 characters. Signed-off-by: CK Hu <[email protected]>
2018-06-24drm/mediatek: add third ddp path[email protected]3-1/+12
This patch create third crtc by third ddp path Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-06-24drm/mediatek: add DSI3 support for mutex[email protected]1-0/+5
This patch add the DSI3 support for mutex Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-06-24drm/mediatek: add DSI2 support for mutex[email protected]1-0/+5
This patch add the DSI2 support for mutex Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-06-24drm/mediatek: add DPI1 support for mutex[email protected]1-0/+5
This patch add the DPI1 support for mutex Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-06-24drm/mediatek: add connection from RDMA2 to DSI3[email protected]1-0/+8
This patch add the connection from RDMA2 to DSI3 Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-06-24drm/mediatek: add connection from RDMA2 to DSI2[email protected]1-0/+8
This patch add the connection from RDMA2 to DSI2 Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-06-24drm/mediatek: add connection from RDMA2 to DSI1[email protected]1-0/+8
This patch add the connection from RDMA2 to DSI1 Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-06-24drm/mediatek: add connection from RDMA2 to DPI1[email protected]1-0/+8
This patch add the connection from RDMA2 to DPI1 Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-06-24drm/mediatek: add connection from RDMA2 to DPI0[email protected]1-0/+9
This patch add the connection from RDMA2 to DPI0 Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-06-24drm/mediatek: add connection from RDMA1 to DSI3[email protected]1-0/+8
This patch add the connection from RDMA1 to DSI3 Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-06-24drm/mediatek: add connection from RDMA1 to DSI2[email protected]1-0/+9
This patch add the connection from RDMA1 to DSI2 Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-06-24drm/mediatek: add connection from RDMA1 to DSI1[email protected]1-0/+9
This patch add the connection from RDMA1 to DSI1 Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-06-24drm/mediatek: add connection from RDMA1 to DPI1[email protected]1-0/+8
This patch add the connection from RDMA1 to DPI1 Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-06-24drm/mediatek: add connection from RDMA0 to DSI3[email protected]1-0/+4
This patch add the connection from RDMA0 to DSI3 Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>
2018-06-24drm/mediatek: add connection from RDMA0 to DSI2[email protected]1-0/+4
This patch add the connection from RDMA0 to DSI2 Signed-off-by: Stu Hsieh <[email protected]> Signed-off-by: CK Hu <[email protected]>