[PATCH v7 0/7] Add DRM driver for Hisilicon Hibmc

Rongrong Zou zourongrong at huawei.com
Wed Nov 16 20:09:31 PST 2016


在 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



More information about the linux-arm-kernel mailing list