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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



在 2016/11/17 0:02, Sean Paul 写道:
On Wed, Nov 16, 2016 at 11:01 AM, Sean Paul <seanpaul@xxxxxxxxxxxx> wrote:
On Wed, Nov 16, 2016 at 8:43 AM, Rongrong Zou <zourongrong@xxxxxxxxx> 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@xxxxxxxxxxxx>



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@xxxxxxxxxx
http://rnd-openeuler.huawei.com/mailman/listinfo/linuxarm

.



--
Regards, Rongrong
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux