From: zourongrong@gmail.com (Rongrong Zou) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v6 0/9] Add DRM driver for Hisilicon Hibmc Date: Fri, 28 Oct 2016 15:27:53 +0800 [thread overview] Message-ID: <1477639682-22520-1-git-send-email-zourongrong@gmail.com> (raw) This patch set adds a new drm driver for Hisilicon Hibmc. Hibmc is a BMC SoC with a display controller intergrated, usually it is used on server for Out-of-band management purpose. In this patch set, we just support basic function for Hibmc display subsystem. Hibmc display subsystem is connected to host CPU by PCIe as blow: +----------+ +----------+ | | PCIe | Hibmc | |host CPU( |<----->| display | |arm64,x86)| |subsystem | +----------+ +----------+ Hardware Detail for Hibmc display subsystem ----------- The display subsystem of Hibmc is show as bellow: +----+ +----+ +----+ +--------+ | | | | | | | | | FB |----->| DE |----->|VDAC|---->|external| | | | | | | | VGA | +----+ +----+ +----+ +--------+ -DE(Display Engine) is the display controller. -VDAC(Video Digital-to-Analog converter) converts the RGB diaital data stream from DE to VGA analog signals. Change History ------------ Changes in v6: -remove the embedded framebuffer and use a pointer of hibmc_framebuffer instead. -remove the deprecated drm_framebuffer_unregister_private(), drm_framebuffer_unreference() will be called in hibmc_fbdev_destroy(). -uninstall irq in hibmc_unload(). Changes in v5: -rebase on v4.9-rc2. -replace drm_fb_helper_set_suspend with drm_fb_helper_set_suspend_unlocked. and remove redundant console_lock and console_unlock. Changes in v4: -remove unused include files, and include header file when it is needed. -remove unused FLAG in Kconfig: DRM_GEM_CMA_HELPER/DRM_KMS_CMA_HELPER. -remove drm_helper_disable_unused_functions, since we use DRIVER_ATOMIC. Changes in v3: -enable KMS, in v2, only fbdev is enabled. -management video memory with ttm. -add vblank interrupt. -remove drm_connector_register_all() and drm_connector_unregister_all(). -I have a basic test with igt. Changes in v2: -Remove self-defined macros for bit operations. -Remove unused register. -Replace those deprecated functions with new version of them. -use drm_connector_register_all() to register connector after drm_dev_register(). The patch v2 is at https://lists.freedesktop.org/archives/dri-devel/2016-May/108661.html Rongrong Zou (9): drm/hisilicon/hibmc: Add hisilicon hibmc drm master driver drm/hisilicon/hibmc: Add video memory management drm/hisilicon/hibmc: Add support for frame buffer drm/hisilicon/hibmc: Add plane for DE drm/hisilicon/hibmc: Add crtc for DE drm/hisilicon/hibmc: Add encoder for VDAC drm/hisilicon/hibmc: Add connector for VDAC drm/hisilicon/hibmc: Add vblank interruput MAINTAINERS: Update HISILICON DRM entries MAINTAINERS | 1 + drivers/gpu/drm/hisilicon/Kconfig | 1 + drivers/gpu/drm/hisilicon/Makefile | 1 + drivers/gpu/drm/hisilicon/hibmc/Kconfig | 9 + drivers/gpu/drm/hisilicon/hibmc/Makefile | 5 + drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 488 +++++++++++++++++++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.h | 29 ++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 419 ++++++++++++++++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h | 117 +++++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c | 255 ++++++++++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_power.c | 85 ++++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_power.h | 28 ++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_regs.h | 212 ++++++++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 165 +++++++ drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c | 562 ++++++++++++++++++++++ 15 files changed, 2377 insertions(+) create mode 100644 drivers/gpu/drm/hisilicon/hibmc/Kconfig create mode 100644 drivers/gpu/drm/hisilicon/hibmc/Makefile create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.h create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_power.c create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_power.h create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_regs.h create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c -- 1.9.1
WARNING: multiple messages have this Message-ID (diff)
From: Rongrong Zou <zourongrong@gmail.com> To: airlied@linux.ie, daniel@ffwll.ch, dri-devel@lists.freedesktop.org, emil.l.velikov@gmail.com, tomeu.vizoso@collabora.com, benjamin.gaignard@linaro.org, robh@kernel.org, daniel@fooishbar.org, architt@codeaurora.org, corbet@lwn.net, catalin.marinas@arm.com, will.deacon@arm.com, mark.rutland@arm.com, xinliang.liu@linaro.org Cc: linuxarm@huawei.com, kong.kongxinwei@hisilicon.com, james.xiong@huawei.com, shenhui@huawei.com, guohanjun@huawei.com, lijianhua@huawei.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH v6 0/9] Add DRM driver for Hisilicon Hibmc Date: Fri, 28 Oct 2016 15:27:53 +0800 [thread overview] Message-ID: <1477639682-22520-1-git-send-email-zourongrong@gmail.com> (raw) This patch set adds a new drm driver for Hisilicon Hibmc. Hibmc is a BMC SoC with a display controller intergrated, usually it is used on server for Out-of-band management purpose. In this patch set, we just support basic function for Hibmc display subsystem. Hibmc display subsystem is connected to host CPU by PCIe as blow: +----------+ +----------+ | | PCIe | Hibmc | |host CPU( |<----->| display | |arm64,x86)| |subsystem | +----------+ +----------+ Hardware Detail for Hibmc display subsystem ----------- The display subsystem of Hibmc is show as bellow: +----+ +----+ +----+ +--------+ | | | | | | | | | FB |----->| DE |----->|VDAC|---->|external| | | | | | | | VGA | +----+ +----+ +----+ +--------+ -DE(Display Engine) is the display controller. -VDAC(Video Digital-to-Analog converter) converts the RGB diaital data stream from DE to VGA analog signals. Change History ------------ Changes in v6: -remove the embedded framebuffer and use a pointer of hibmc_framebuffer instead. -remove the deprecated drm_framebuffer_unregister_private(), drm_framebuffer_unreference() will be called in hibmc_fbdev_destroy(). -uninstall irq in hibmc_unload(). Changes in v5: -rebase on v4.9-rc2. -replace drm_fb_helper_set_suspend with drm_fb_helper_set_suspend_unlocked. and remove redundant console_lock and console_unlock. Changes in v4: -remove unused include files, and include header file when it is needed. -remove unused FLAG in Kconfig: DRM_GEM_CMA_HELPER/DRM_KMS_CMA_HELPER. -remove drm_helper_disable_unused_functions, since we use DRIVER_ATOMIC. Changes in v3: -enable KMS, in v2, only fbdev is enabled. -management video memory with ttm. -add vblank interrupt. -remove drm_connector_register_all() and drm_connector_unregister_all(). -I have a basic test with igt. Changes in v2: -Remove self-defined macros for bit operations. -Remove unused register. -Replace those deprecated functions with new version of them. -use drm_connector_register_all() to register connector after drm_dev_register(). The patch v2 is at https://lists.freedesktop.org/archives/dri-devel/2016-May/108661.html Rongrong Zou (9): drm/hisilicon/hibmc: Add hisilicon hibmc drm master driver drm/hisilicon/hibmc: Add video memory management drm/hisilicon/hibmc: Add support for frame buffer drm/hisilicon/hibmc: Add plane for DE drm/hisilicon/hibmc: Add crtc for DE drm/hisilicon/hibmc: Add encoder for VDAC drm/hisilicon/hibmc: Add connector for VDAC drm/hisilicon/hibmc: Add vblank interruput MAINTAINERS: Update HISILICON DRM entries MAINTAINERS | 1 + drivers/gpu/drm/hisilicon/Kconfig | 1 + drivers/gpu/drm/hisilicon/Makefile | 1 + drivers/gpu/drm/hisilicon/hibmc/Kconfig | 9 + drivers/gpu/drm/hisilicon/hibmc/Makefile | 5 + drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 488 +++++++++++++++++++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.h | 29 ++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 419 ++++++++++++++++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h | 117 +++++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c | 255 ++++++++++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_power.c | 85 ++++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_power.h | 28 ++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_regs.h | 212 ++++++++ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 165 +++++++ drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c | 562 ++++++++++++++++++++++ 15 files changed, 2377 insertions(+) create mode 100644 drivers/gpu/drm/hisilicon/hibmc/Kconfig create mode 100644 drivers/gpu/drm/hisilicon/hibmc/Makefile create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.h create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_power.c create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_power.h create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_regs.h create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c -- 1.9.1
next reply other threads:[~2016-10-28 7:27 UTC|newest] Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-10-28 7:27 Rongrong Zou [this message] 2016-10-28 7:27 ` [PATCH v6 0/9] Add DRM driver for Hisilicon Hibmc Rongrong Zou 2016-10-28 7:27 ` [PATCH v6 1/9] drm/hisilicon/hibmc: Add hisilicon hibmc drm master driver Rongrong Zou 2016-10-28 7:27 ` Rongrong Zou 2016-11-10 17:35 ` Sean Paul 2016-11-10 17:35 ` Sean Paul 2016-11-11 3:10 ` Rongrong Zou 2016-11-11 3:10 ` Rongrong Zou 2016-10-28 7:27 ` [PATCH v6 2/9] drm/hisilicon/hibmc: Add video memory management Rongrong Zou 2016-10-28 7:27 ` Rongrong Zou 2016-11-10 17:35 ` Sean Paul 2016-11-10 17:35 ` Sean Paul 2016-11-11 11:16 ` Rongrong Zou 2016-11-11 11:16 ` Rongrong Zou 2016-11-11 13:25 ` Sean Paul 2016-11-11 13:25 ` Sean Paul 2016-11-11 13:57 ` Rongrong Zou 2016-11-11 13:57 ` Rongrong Zou 2016-10-28 7:27 ` [PATCH v6 3/9] drm/hisilicon/hibmc: Add support for frame buffer Rongrong Zou 2016-10-28 7:27 ` Rongrong Zou 2016-11-10 18:30 ` Sean Paul 2016-11-10 18:30 ` Sean Paul 2016-11-11 13:16 ` Rongrong Zou 2016-11-11 13:16 ` Rongrong Zou 2016-11-11 13:27 ` Sean Paul 2016-11-11 13:27 ` Sean Paul 2016-10-28 7:27 ` [PATCH v6 4/9] drm/hisilicon/hibmc: Add plane for DE Rongrong Zou 2016-10-28 7:27 ` Rongrong Zou 2016-11-10 21:53 ` Sean Paul 2016-11-10 21:53 ` Sean Paul 2016-11-12 5:11 ` Rongrong Zou 2016-11-12 5:11 ` Rongrong Zou 2016-11-14 17:08 ` Sean Paul 2016-11-14 17:08 ` Sean Paul 2016-10-28 7:27 ` [PATCH v6 5/9] drm/hisilicon/hibmc: Add crtc " Rongrong Zou 2016-10-28 7:27 ` Rongrong Zou 2016-11-10 22:14 ` Sean Paul 2016-11-10 22:14 ` Sean Paul 2016-11-12 10:19 ` Rongrong Zou 2016-11-12 10:19 ` Rongrong Zou 2016-11-14 17:10 ` Sean Paul 2016-11-14 17:10 ` Sean Paul 2016-10-28 7:27 ` [PATCH v6 6/9] drm/hisilicon/hibmc: Add encoder for VDAC Rongrong Zou 2016-10-28 7:27 ` Rongrong Zou 2016-11-10 22:20 ` Sean Paul 2016-11-10 22:20 ` Sean Paul 2016-11-12 10:36 ` Rongrong Zou 2016-11-12 10:36 ` Rongrong Zou 2016-10-28 7:28 ` [PATCH v6 7/9] drm/hisilicon/hibmc: Add connector " Rongrong Zou 2016-10-28 7:28 ` Rongrong Zou 2016-11-11 1:45 ` Sean Paul 2016-11-11 1:45 ` Sean Paul 2016-11-14 14:07 ` Rongrong Zou 2016-11-14 14:07 ` Rongrong Zou 2016-10-28 7:28 ` [PATCH v6 8/9] drm/hisilicon/hibmc: Add vblank interruput Rongrong Zou 2016-10-28 7:28 ` Rongrong Zou 2016-11-11 1:49 ` Sean Paul 2016-11-11 1:49 ` Sean Paul 2016-11-14 14:10 ` Rongrong Zou 2016-11-14 14:10 ` Rongrong Zou 2016-10-28 7:28 ` [PATCH v6 9/9] MAINTAINERS: Update HISILICON DRM entries Rongrong Zou 2016-10-28 7:28 ` Rongrong Zou 2016-11-11 1:50 ` Sean Paul 2016-11-11 1:50 ` Sean Paul
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1477639682-22520-1-git-send-email-zourongrong@gmail.com \ --to=zourongrong@gmail.com \ --cc=linux-arm-kernel@lists.infradead.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.