From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1762673AbdJQN42 (ORCPT ); Tue, 17 Oct 2017 09:56:28 -0400 Received: from mailout2.samsung.com ([203.254.224.25]:45084 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1762639AbdJQN4Y (ORCPT ); Tue, 17 Oct 2017 09:56:24 -0400 X-AuditID: b6c32a38-d71ff70000001124-aa-59e60c06f27a From: Bartlomiej Zolnierkiewicz To: Stefan Agner , shawnguo@kernel.org Cc: plagnioj@jcrosoft.com, s.hauer@pengutronix.de, Ying.Liu@freescale.com, linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org, LW@karo-electronics.de, fabio.estevam@freescale.com, max.krummenacher@toradex.com, mauro.salvini@smigroup.net Subject: Re: [PATCH] video: fbdev: mxsfb: fix pixelclock polarity Date: Tue, 17 Oct 2017 15:56:19 +0200 Message-id: <1542360.CFa2kFFNPO@amdc3058> User-Agent: KMail/4.13.3 (Linux/3.13.0-96-generic; KDE/4.13.3; x86_64; ; ) In-reply-to: <8578d0df94870b3b18c34d256b67c5b6@agner.ch> MIME-version: 1.0 Content-transfer-encoding: 7Bit Content-type: text/plain; charset="us-ascii" X-Brightmail-Tracker: H4sIAAAAAAAAA02SfUhTYRTGeXfv7u6Ws+vUPCkVDBMUNQXBq6YkiFz6kCAiDSKHXpz4NTY1 TQiFcs4slRQ/oUnQx8ql01TccnNmppSkhRWYVEyxGaXJmB9Ma14F//u95zznPA+Hl8QkbXx/ Mju/kFXmy3KlhAjvGwkODyM8FtIi5nu86NbqMPrN3WU+/WGwnaAttkcEPaod5tFLlUJa/32R R7v6DTi92OtH9+jVAtpmizp1gHngnMOYrZFaHmN/P4sz95t+YIxBpyGYWlcEY5xoQYzBzjCr hqPnhZdFJzPZ3OxiVnkiIV0kX5pcxRU3D5d8qq4TlKOP3tVISAIVBerP3/jVSERKqAEEK0sT OPdwIpjRjhN7qtsDVRjXMCIwt43z3A0J5UCw7UxxM0HFQr1ah9zsQ0XDQ33zDmPUOoI7JtrN 3lQiOCbb/zuQJE4dhyf2a+6ymAqGp67NHbkvdRp6h9Q764UUDQMOl4DTeMHavTmcW3kMhsyN fI5D4d1rPXJnA8pJQFdno4ALnQQVdjPOsTfYx3oFbl+gAmB6NJ4rNyHo3wRutgeBzli3OxsH I2NTuwae8NtRw+dmxVBVKeGQgbXlOE6dCLqtaYI7jwXB8M82VIeOtO6L3bovduu+2FqE6dAh VqHKy2JVkYqocJUsT1WUnxWeUZBnQDtfJoQeQKbJs1ZEkUjqIZZbbWkSvqxYVZpnRUBiUh9x hXAhTSLOlJVeZ5UFV5VFuazKigJIXOon9n0+kyqhsmSFbA7LKljlXpdHCv3LEZugv6BpMwXV e/rIyroiTM6mbutKTMYzzXbg4Nf+i/Pl8aOrsy2uzgXxjehbf9UxZ9qz188lfdmY6lA63h68 0oEZp51TZem2QD+DpqZlszmIEsm15l5HQXKOYrnb1oU3jxgbXhobUl5Y8HrLH/Wrx5VNvxJL YkP7eGWXNpJTpbhKLosMwZQq2T/Q5j5tLgMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrGLMWRmVeSWpSXmKPExsVy+t9jAV1WnmeRBjtuGVvM6tK1ONH3gdXi 8q45bBYHnixnszi64CCTxes2Tot1D18wWfzdvonF4sUWcYvN69rZLZ48MXHg9lj8/R6zx7/D /Uwery7cYfGYP/0Rs8emVZ1sHv1/DTx2n5rJ6LHplYfH501yAZxRXDYpqTmZZalF+nYJXBmv z31mKWiRrLjeNYG9gfGKcBcjJ4eEgIlE944O5i5GLg4hgZ2MEjc6P7FBOF8ZJfZ+vskIUsUm YCUxsX0VmC0iYC6xbN0MRpAiZoGfjBIzVzSxgiSEBRwlvp6bw9LFyMHBIqAqsfJVOUiYV0BT YvXf32C9ogJeElv2tTOB2JwCFhI7vv5lB7GFBHIkTuxbxAhRLyjxY/I9FhCbWUBeYt/+qawQ tpbE+p3HmSYw8s9CUjYLSdksJGULGJlXMUqmFhTnpucWGxUY5qWW6xUn5haX5qXrJefnbmIE xsa2w1p9OxjvL4k/xCjAwajEw3vgyJNIIdbEsuLK3EOMEhzMSiK8jZzPIoV4UxIrq1KL8uOL SnNSiw8xSnOwKInz3s47FikkkJ5YkpqdmlqQWgSTZeLglGpgnHu4aF6dwoXDlibK3YvYC557 bFv8aKUar95MZ43Xfj93byxduLByqfe3VGPdy/vXtoRM5P96kltkzeoDjF0sPNeUpjmyxv5e 8dRX8MrFauPgzGB/syVKD5jydqlMmJ/BHpb1PtT+yQlVB2t3/+kF1ebvmI/u8levP7bmnOVX iRxVcbX1ckeVlViKMxINtZiLihMB/F8e6YkCAAA= X-CMS-MailID: 20171017135621epcas1p39142851c7bc56478165c887ba14ee585 X-Msg-Generator: CA X-Sender-IP: 182.195.42.142 X-Local-Sender: =?UTF-8?B?QmFydGxvbWllaiBab2xuaWVya2lld2ljehtTUlBPTC1LZXJu?= =?UTF-8?B?ZWwgKFRQKRvsgrzshLHsoITsnpAbU2VuaW9yIFNvZnR3YXJlIEVuZ2luZWVy?= X-Global-Sender: =?UTF-8?B?QmFydGxvbWllaiBab2xuaWVya2lld2ljehtTUlBPTC1LZXJu?= =?UTF-8?B?ZWwgKFRQKRtTYW1zdW5nIEVsZWN0cm9uaWNzG1NlbmlvciBTb2Z0d2FyZSBF?= =?UTF-8?B?bmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDAyQ0QwMjczOTI=?= CMS-TYPE: 101P X-CMS-RootMailID: 20171017135621epcas1p39142851c7bc56478165c887ba14ee585 X-RootMTR: 20171017135621epcas1p39142851c7bc56478165c887ba14ee585 References: <1453771756-5418-1-git-send-email-stefan@agner.ch> <8578d0df94870b3b18c34d256b67c5b6@agner.ch> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Stefan/Shawn: Should I merge this patch? It seems to be still needed: https://www.spinics.net/lists/linux-fbdev/msg23112.html Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics On Friday, May 06, 2016 01:29:59 PM Stefan Agner wrote: > Hi Shawn, > > On 2016-01-25 17:29, Stefan Agner wrote: > > The PIXDATA flags of the display_flags enum are controller centric, > > e.g. NEGEDGE means the controller shall drive the data signals on > > pixelclocks negative edge. However, the drivers flag is display > > centric: Sample the data on negative (falling) edge. > > > > Therefore, change the if statement to check for the POSEDGE flag > > (which is typically not set): > > Drive on positive edge => sample on negative edge > > Any comment on that patch? > > -- > Stefan > > > > > > Signed-off-by: Stefan Agner > > --- > > Hi all > > > > Shawn, I would like to have at least your Ack on this before merge. > > > > It seems that this has been wrong since the driver is able to use > > the timings from the device tree, introduced with 669406534b4a > > ("video: mxsfb: get display timings from device tree"). > > > > Not sure how many device trees actually specify the wrong pixel clock > > polarity due to that. At least the initial flag convertion from the > > old platform data structures done with 0d9f8217db15 ("ARM: mxs: move > > display timing configurations into device tree") seems to be affected > > and would need to be changed accordingly... > > > > Not sure how we should handle this, maybe just invert all > > pixelclk-active properties where the mxsfb driver is in use...? > > > > -- > > Stefan > > > > drivers/video/fbdev/mxsfb.c | 13 +++++++++++-- > > 1 file changed, 11 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/video/fbdev/mxsfb.c b/drivers/video/fbdev/mxsfb.c > > index 4e6608c..38898a9 100644 > > --- a/drivers/video/fbdev/mxsfb.c > > +++ b/drivers/video/fbdev/mxsfb.c > > @@ -150,7 +150,7 @@ > > #define STMLCDIF_24BIT 3 /** pixel data bus to the display is of 24 > > bit width */ > > > > #define MXSFB_SYNC_DATA_ENABLE_HIGH_ACT (1 << 6) > > -#define MXSFB_SYNC_DOTCLK_FALLING_ACT (1 << 7) /* negtive edge sampling */ > > +#define MXSFB_SYNC_DOTCLK_FALLING_ACT (1 << 7) /* negative edge sampling */ > > > > enum mxsfb_devtype { > > MXSFB_V3, > > @@ -788,7 +788,16 @@ static int mxsfb_init_fbinfo_dt(struct mxsfb_info *host, > > > > if (vm.flags & DISPLAY_FLAGS_DE_HIGH) > > host->sync |= MXSFB_SYNC_DATA_ENABLE_HIGH_ACT; > > - if (vm.flags & DISPLAY_FLAGS_PIXDATA_NEGEDGE) > > + > > + /* > > + * The PIXDATA flags of the display_flags enum are controller > > + * centric, e.g. NEGEDGE means drive data on negative edge. > > + * However, the drivers flag is display centric: Sample the > > + * data on negative (falling) edge. Therefore, check for the > > + * POSEDGE flag: > > + * drive on positive edge => sample on negative edge > > + */ > > + if (vm.flags & DISPLAY_FLAGS_PIXDATA_POSEDGE) > > host->sync |= MXSFB_SYNC_DOTCLK_FALLING_ACT; > > > > put_display_node: