Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751302AbdCRAlp (ORCPT ); Fri, 17 Mar 2017 20:41:45 -0400 Received: from anholt.net ([50.246.234.109]:42168 "EHLO anholt.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751180AbdCRAlm (ORCPT ); Fri, 17 Mar 2017 20:41:42 -0400 From: Eric Anholt To: dri-devel@lists.freedesktop.org, tom.cooksey@arm.com, Russell King Cc: linux-kernel@vger.kernel.org, Eric Anholt Subject: [PATCH 0/2] ARM CLCD DRM driver Date: Fri, 17 Mar 2017 15:47:40 -0700 Message-Id: <20170317224742.17219-1-eric@anholt.net> X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2763 Lines: 61 This is a resurrection of Tom Cooksey's old CLCD DRM driver, which I needed in order to do dmabuf buffer sharing from VC4 to the CLCD display on the bcm911360_entphn platform. With a couple of hacks to the X Server, I've got it (sometimes) running glxgears on vc4 and displaying on CLCD. The panel power sequencing part is not thoroughly tested. My DRM panel driver (not included) for this board is still a stub and doesn't do the power on SPI reset sequence. There are a few TODO entries left, which are noted in the documentation. My primary concern with this driver is that, since it binds to the same device as fbdev but isn't a complete replacement, people might turn it on and break their display setup. I figure until someone wants to turn DRM CLCD on in a multi-platform defconfig, we ought to be fine with that, though. My plan would be for this to go through the drm-misc tree once it's ready. For anyone interested in looking through the history of what I changed from Tom's v1 patch, https://github.com/anholt/linux/tree/bcm11360-clcd has it (and all the rest of the platform bits I've needed). Eric Anholt (1): video: ARM CLCD: Move registers to a separate header. Tom Cooksey (1): drm/pl111: Initial drm/kms driver for pl111 Documentation/gpu/index.rst | 1 + Documentation/gpu/pl111.rst | 6 + drivers/gpu/drm/Kconfig | 2 + drivers/gpu/drm/Makefile | 1 + drivers/gpu/drm/pl111/Kconfig | 12 ++ drivers/gpu/drm/pl111/Makefile | 8 + drivers/gpu/drm/pl111/pl111_connector.c | 127 ++++++++++++++ drivers/gpu/drm/pl111/pl111_crtc.c | 239 ++++++++++++++++++++++++++ drivers/gpu/drm/pl111/pl111_drm.h | 64 +++++++ drivers/gpu/drm/pl111/pl111_drv.c | 292 ++++++++++++++++++++++++++++++++ drivers/gpu/drm/pl111/pl111_encoder.c | 50 ++++++ drivers/gpu/drm/pl111/pl111_gem.c | 35 ++++ drivers/gpu/drm/pl111/pl111_plane.c | 167 ++++++++++++++++++ include/linux/amba/clcd-regs.h | 76 +++++++++ include/linux/amba/clcd.h | 68 +------- 15 files changed, 1081 insertions(+), 67 deletions(-) create mode 100644 Documentation/gpu/pl111.rst create mode 100644 drivers/gpu/drm/pl111/Kconfig create mode 100644 drivers/gpu/drm/pl111/Makefile create mode 100644 drivers/gpu/drm/pl111/pl111_connector.c create mode 100644 drivers/gpu/drm/pl111/pl111_crtc.c create mode 100644 drivers/gpu/drm/pl111/pl111_drm.h create mode 100644 drivers/gpu/drm/pl111/pl111_drv.c create mode 100644 drivers/gpu/drm/pl111/pl111_encoder.c create mode 100644 drivers/gpu/drm/pl111/pl111_gem.c create mode 100644 drivers/gpu/drm/pl111/pl111_plane.c create mode 100644 include/linux/amba/clcd-regs.h -- 2.11.0