å¨ 2016/11/17 0:02, Sean Paul åé: > On Wed, Nov 16, 2016 at 11:01 AM, Sean Paul <seanpaul at chromium.org> wrote: >> On Wed, Nov 16, 2016 at 8:43 AM, Rongrong Zou <zourongrong at gmail.com> >> wrote: >>> 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. >>> >> >> For the whole series/driver: >> >> Acked-by: Sean Paul <seanpaul at chromium.org> >> >> > > Also, please send those fixups for the other ttm drivers ;)
with pleasure :) Regards, Rongrong. > >> >>> Change History >>> ------------ >>> Changes in v7: >>> -remove hibmc_drm_power.c/hibmc_drm_power.h, move the functions to >>> hibmc_drm_drv.c. >>> -remove hibmc_drm_de.h and move the struct defined in head file to >>> hibmc_drm_de.c. >>> -plane is initialized inside crtc, not in hibmc_kms_init(). >>> -connector is initialized inside encoder, not in hibmc_kms_init(). >>> -remove plane/crtc/encoder/connector from hibmc_drm_private struct. >>> -call drm_atomic_helper_suspend/resume in hibmc_pm_suspend/resume. >>> -remove these empty stubs because caller will do NULL check. >>> hibmc_plane_atomic_disable >>> hibmc_crtc_atomic_check >>> hibmc_encoder_disable >>> hibmc_encoder_enable >>> hibmc_encoder_atomic_check >>> -clean up in all error paths of creating driver-private framebuffer. >>> >>> 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 (7): >>> 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 support for display engine >>> drm/hisilicon/hibmc: Add support for VDAC >>> drm/hisilicon/hibmc: Add support for vblank interrupt >>> 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 | 4 + >>> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 477 ++++++++++++++++++ >>> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 456 ++++++++++++++++++ >>> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h | 114 +++++ >>> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c | 267 +++++++++++ >>> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_regs.h | 196 ++++++++ >>> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 147 ++++++ >>> drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c | 558 >>> ++++++++++++++++++++++ >>> 12 files changed, 2231 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_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_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 >>> > _______________________________________________ > linuxarm mailing list > linuxarm at huawei.com > http://rnd-openeuler.huawei.com/mailman/listinfo/linuxarm > > . > -- Regards, Rongrong