From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King - ARM Linux Subject: Re: [PATCH v14 06/10] drm: drm_display_mode: add signal polarity flags Date: Tue, 24 Jun 2014 15:57:46 +0100 Message-ID: <20140624145745.GR32514@n2100.arm.linux.org.uk> References: <1402913484-25910-1-git-send-email-denis@eukrea.com> <1402913484-25910-6-git-send-email-denis@eukrea.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from pandora.arm.linux.org.uk (gw-1.arm.linux.org.uk [78.32.30.217]) by gabe.freedesktop.org (Postfix) with ESMTP id C2E4789FDE for ; Tue, 24 Jun 2014 07:57:56 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1402913484-25910-6-git-send-email-denis@eukrea.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Denis Carikli , dri-devel@lists.freedesktop.org Cc: devel@driverdev.osuosl.org, Eric =?iso-8859-1?Q?B=E9nard?= , Greg Kroah-Hartman , linux-media@vger.kernel.org, Laurent Pinchart , Sascha Hauer , linux-arm-kernel@lists.infradead.org, Mauro Carvalho Chehab List-Id: dri-devel@lists.freedesktop.org On Mon, Jun 16, 2014 at 12:11:20PM +0200, Denis Carikli wrote: > We need a way to pass signal polarity informations > between DRM panels, and the display drivers. > > To do that, a pol_flags field was added to drm_display_mode. > > Signed-off-by: Denis Carikli This patch needs an ack from the DRM people - can someone review it please? This series has now been round 14 revisions and it's about time it was properly reviewed - or a statement made if it's unacceptable. > --- > ChangeLog v13->v14: > - Fixed DRM_MODE_FLAG_POL_DE_HIGH's description. > ChangeLog v12->v13: > - Added Docbook documentation for pol_flags the struct field. > - Removed the _PRESERVE defines: it was used by patches > against the imx_drm driver. Now theses patches have been > adapted not to require that defines. > ChangeLog v11->v12: > - Rebased: This patch now applies against drm_modes.h > - Rebased: It now uses the new DRM_MODE_FLAG_POL_DE flags defines names > > ChangeLog v10->v11: > - Since the imx-drm won't be able to retrive its regulators > from the device tree when using display-timings nodes, > and that I was told that the drm simple-panel driver > already supported that, I then, instead, added what was > lacking to make the eukrea displays work with the > drm-simple-panel driver. > > That required a way to get back the display polarity > informations from the imx-drm driver without affecting > userspace. > --- > Documentation/DocBook/drm.tmpl | 30 ++++++++++++++++++++++++++++++ > include/drm/drm_modes.h | 6 ++++++ > 2 files changed, 36 insertions(+) > > diff --git a/Documentation/DocBook/drm.tmpl b/Documentation/DocBook/drm.tmpl > index 7df3134..22d435f 100644 > --- a/Documentation/DocBook/drm.tmpl > +++ b/Documentation/DocBook/drm.tmpl > @@ -2292,6 +2292,36 @@ void intel_crt_init(struct drm_device *dev) > and height_mm fields are only used internally > during EDID parsing and should not be set when creating modes manually. > > + > + The pol_flags value represents the display > + signal polarity flags, it can be a combination of > + > + > + DRM_MODE_FLAG_POL_PIXDATA_NEGEDGE > + > + drive pixel data on falling edge, sample data on rising edge. > + > + > + > + DRM_MODE_FLAG_POL_PIXDATA_POSEDGE > + > + Drive pixel data on rising edge, sample data on falling edge. > + > + > + > + DRM_MODE_FLAG_POL_DE_LOW > + > + data-enable pulse is active low > + > + > + > + DRM_MODE_FLAG_POL_DE_HIGH > + > + data-enable pulse is active high > + > + > + > + > > > int (*mode_valid)(struct drm_connector *connector, > diff --git a/include/drm/drm_modes.h b/include/drm/drm_modes.h > index 91d0582..c5cbe31 100644 > --- a/include/drm/drm_modes.h > +++ b/include/drm/drm_modes.h > @@ -93,6 +93,11 @@ enum drm_mode_status { > > #define DRM_MODE_FLAG_3D_MAX DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF > > +#define DRM_MODE_FLAG_POL_PIXDATA_NEGEDGE BIT(1) > +#define DRM_MODE_FLAG_POL_PIXDATA_POSEDGE BIT(2) > +#define DRM_MODE_FLAG_POL_DE_LOW BIT(3) > +#define DRM_MODE_FLAG_POL_DE_HIGH BIT(4) > + > struct drm_display_mode { > /* Header */ > struct list_head head; > @@ -144,6 +149,7 @@ struct drm_display_mode { > int vrefresh; /* in Hz */ > int hsync; /* in kHz */ > enum hdmi_picture_aspect picture_aspect_ratio; > + unsigned int pol_flags; > }; > > /* mode specified on the command line */ > -- > 1.7.9.5 > -- FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly improving, and getting towards what was expected from it.