From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753416AbcFOQSG (ORCPT ); Wed, 15 Jun 2016 12:18:06 -0400 Received: from foss.arm.com ([217.140.101.70]:38764 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753247AbcFOQSC (ORCPT ); Wed, 15 Jun 2016 12:18:02 -0400 Date: Wed, 15 Jun 2016 17:17:58 +0100 From: Liviu Dudau To: David Airlie , Rob Herring , Brian Starkey , Emil Velikov , devicetree , DRI devel , LKML , David Brown , LAKML Subject: Re: [PATCH v5 2/3] drm/arm: Add support for Mali Display Processors Message-ID: <20160615161758.GF9711@e106497-lin.cambridge.arm.com> References: <1466002295-24813-1-git-send-email-Liviu.Dudau@arm.com> <1466002295-24813-3-git-send-email-Liviu.Dudau@arm.com> <20160615152309.GI1338@phenom.ffwll.local> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20160615152309.GI1338@phenom.ffwll.local> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jun 15, 2016 at 05:23:10PM +0200, Daniel Vetter wrote: > On Wed, Jun 15, 2016 at 03:51:34PM +0100, Liviu Dudau wrote: > > Add support for the new family of Display Processors from ARM Ltd. > > This commit adds basic support for Mali DP500, DP550 and DP650 > > parts, with only the display engine being supported at the moment. > > > > Cc: David Brown > > Cc: Brian Starkey > > > > Signed-off-by: Liviu Dudau > > Small thing I noticed: drm_dev_register/connector_register_all should be > the last step in your init code, and unregister the first. Atm it's > somewhere in the middle. But perfectly fine to do that as a follow-up. I've tried that, but the connector and encoder that gets registered as part of the component_bind_all() fails if there is no drm dev registered. You did comment on the v4 version about that and I did test your idea, sorry for forgeting to update you on that. > > Quickly scrolled through the driver, looks all nice. > > Acked-by: Daniel Vetter And thanks for the Acked-by. Best regards, Liviu > > --- > > drivers/gpu/drm/arm/Kconfig | 16 + > > drivers/gpu/drm/arm/Makefile | 2 + > > drivers/gpu/drm/arm/malidp_crtc.c | 216 +++++++++++ > > drivers/gpu/drm/arm/malidp_drv.c | 512 ++++++++++++++++++++++++++ > > drivers/gpu/drm/arm/malidp_drv.h | 54 +++ > > drivers/gpu/drm/arm/malidp_hw.c | 691 ++++++++++++++++++++++++++++++++++++ > > drivers/gpu/drm/arm/malidp_hw.h | 241 +++++++++++++ > > drivers/gpu/drm/arm/malidp_planes.c | 298 ++++++++++++++++ > > drivers/gpu/drm/arm/malidp_regs.h | 172 +++++++++ > > 9 files changed, 2202 insertions(+) > > create mode 100644 drivers/gpu/drm/arm/malidp_crtc.c > > create mode 100644 drivers/gpu/drm/arm/malidp_drv.c > > create mode 100644 drivers/gpu/drm/arm/malidp_drv.h > > create mode 100644 drivers/gpu/drm/arm/malidp_hw.c > > create mode 100644 drivers/gpu/drm/arm/malidp_hw.h > > create mode 100644 drivers/gpu/drm/arm/malidp_planes.c > > create mode 100644 drivers/gpu/drm/arm/malidp_regs.h > > > > diff --git a/drivers/gpu/drm/arm/Kconfig b/drivers/gpu/drm/arm/Kconfig > > index eaed454..1b29065 100644 > > --- a/drivers/gpu/drm/arm/Kconfig > > +++ b/drivers/gpu/drm/arm/Kconfig > > @@ -25,3 +25,19 @@ config DRM_HDLCD_SHOW_UNDERRUN > > Enable this option to show in red colour the pixels that the > > HDLCD device did not fetch from framebuffer due to underrun > > conditions. > > + > > +config DRM_MALI_DISPLAY > > + tristate "ARM Mali Display Processor" > > + depends on DRM && OF && (ARM || ARM64) > > + depends on COMMON_CLK > > + select DRM_ARM > > + select DRM_KMS_HELPER > > + select DRM_KMS_CMA_HELPER > > + select DRM_GEM_CMA_HELPER > > + select VIDEOMODE_HELPERS > > + help > > + Choose this option if you want to compile the ARM Mali Display > > + Processor driver. It supports the DP500, DP550 and DP650 variants > > + of the hardware. > > + > > + If compiled as a module it will be called mali-dp. > > diff --git a/drivers/gpu/drm/arm/Makefile b/drivers/gpu/drm/arm/Makefile > > index 89dcb7b..bb8b158 100644 > > --- a/drivers/gpu/drm/arm/Makefile > > +++ b/drivers/gpu/drm/arm/Makefile > > @@ -1,2 +1,4 @@ > > hdlcd-y := hdlcd_drv.o hdlcd_crtc.o > > obj-$(CONFIG_DRM_HDLCD) += hdlcd.o > > +mali-dp-y := malidp_drv.o malidp_hw.o malidp_planes.o malidp_crtc.o > > +obj-$(CONFIG_DRM_MALI_DISPLAY) += mali-dp.o > > diff --git a/drivers/gpu/drm/arm/malidp_crtc.c b/drivers/gpu/drm/arm/malidp_crtc.c > > new file mode 100644 > > index 0000000..08e6a71 > > --- /dev/null > > +++ b/drivers/gpu/drm/arm/malidp_crtc.c > > @@ -0,0 +1,216 @@ > > +/* > > + * (C) COPYRIGHT 2016 ARM Limited. All rights reserved. > > + * Author: Liviu Dudau > > + * > > + * This program is free software and is provided to you under the terms of the > > + * GNU General Public License version 2 as published by the Free Software > > + * Foundation, and any use by you of this program is subject to the terms > > + * of such GNU licence. > > + * > > + * ARM Mali DP500/DP550/DP650 driver (crtc operations) > > + */ > > + > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include