Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp1178340imm; Wed, 13 Jun 2018 14:53:42 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLVmMYFjxXvRTjLwQ3F1RSi6T/YZ9ihEZjzDYWWEd0d+GumJhEqsO7vKNL2pYFypvaBu5AR X-Received: by 2002:a62:9385:: with SMTP id r5-v6mr6609499pfk.59.1528926822381; Wed, 13 Jun 2018 14:53:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528926822; cv=none; d=google.com; s=arc-20160816; b=AxnvYo5Beerktw9X8kywa2MHdjp+3lo0xlRv4LlgslBehlWP2gaUazCocIb2T/Ttdd iCRCmmxDr2zQSczZ70H9y9vJ7O05bgG2FPTco6WTyGVVyXHDejXGWAXjJPyGfA5fqFtH SzmtFRAatO7RYfaTUPqfHHp6RytxP8NZ6AOtLe0sP9XoPmUOng1ucddvptyox9vCq6Ml TVFb5dH5tg8HjObBUmorH9Kn5HqnUTdJpPknBq52FFohlLgbx/mB2nxdUbWfzux2BH7d hO8f7syCMp13jrkZt4CLph2cyNWXTR+p7qPlfiRJ6O+nKncHAaEQgP9g7rH1MlzHFV+c 6d6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=rFvfDewQZ1PGjmvN76u1ea813zM4XJ0Jw2nvD9SN648=; b=iHEaZQsNwHjyCARt802+8FsSsTB8WNeDZ8Ta1jXX8wuwy+Ppnep7dI9Px6dEh4YSvX 6a7vKkqdplhJjg62SpgGbQSLSeCmfInlWBEL/JpmvuHWUH5sa8aGRkwAaT3vpSYwU+OC x4uOsYAmVOJilmro+uvONjps8JJSRaJkxdT/KgP7+o3IWxOaB/jsy/+c1C+WNRLJW7Yl g3Ae9UZSoOE1pWmYwLZ30MeJYMRI48T3OCvnMctrKSoY219OzUGHfJ/JpP27dqpDySGm t7wkzV86bdZKzgNEj9BAfj1KRBLKyZ/iLue/gbdDgkyaAunL3Y1MYECEZyClbv3RRCxK wgZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=temperror (no key for signature) header.i=@micronovasrl.com header.s=dkim header.b=VdYPvybZ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d2-v6si3787729plo.42.2018.06.13.14.53.27; Wed, 13 Jun 2018 14:53:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=temperror (no key for signature) header.i=@micronovasrl.com header.s=dkim header.b=VdYPvybZ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935503AbeFMVxA (ORCPT + 99 others); Wed, 13 Jun 2018 17:53:00 -0400 Received: from mail.micronovasrl.com ([212.103.203.10]:54160 "EHLO mail.micronovasrl.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935070AbeFMVw7 (ORCPT ); Wed, 13 Jun 2018 17:52:59 -0400 Received: from mail.micronovasrl.com (mail.micronovasrl.com [127.0.0.1]) by mail.micronovasrl.com (Postfix) with ESMTP id A7D0DB007CC for ; Wed, 13 Jun 2018 23:52:57 +0200 (CEST) Authentication-Results: mail.micronovasrl.com (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=micronovasrl.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=micronovasrl.com; h=content-transfer-encoding:content-language:content-type :content-type:in-reply-to:mime-version:user-agent:date:date :message-id:from:from:references:to:subject:subject; s=dkim; t= 1528926776; x=1529790777; bh=Pr/0YwzO3YcRzNLhSlPmFpqCBUmrbVsdjAR /4xoUz/k=; b=VdYPvybZBh/iwbjqBlg08IFb2LW6YnMt2siwe5tIlvQDdCYldOf Wf5tFOM3a/EFYlzZP3Ona6tpQF8f2PRmxTf8s+Umi62YnHX9f+1L2do9gc6+eesS py6y12KkIDG7Jy75x4dVs8239pKWZFjvDWFpIxOwXJ8jrlbu5MMSWk68= X-Virus-Scanned: Debian amavisd-new at mail.micronovasrl.com X-Spam-Flag: NO X-Spam-Score: -2.9 X-Spam-Level: X-Spam-Status: No, score=-2.9 tagged_above=-10 required=4.5 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9] autolearn=ham autolearn_force=no Received: from mail.micronovasrl.com ([127.0.0.1]) by mail.micronovasrl.com (mail.micronovasrl.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 0uwofeMgZG3Y for ; Wed, 13 Jun 2018 23:52:56 +0200 (CEST) Received: from [192.168.2.70] (62-11-51-166.dialup.tiscali.it [62.11.51.166]) by mail.micronovasrl.com (Postfix) with ESMTPSA id 7A3F8B00116; Wed, 13 Jun 2018 23:52:55 +0200 (CEST) Subject: Re: [PATCH] Revert "drm/sun4i: Handle DRM_BUS_FLAG_PIXDATA_*EDGE" To: Paul Kocialkowski , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Maxime Ripard , David Airlie , Chen-Yu Tsai , linux-sunxi@googlegroups.com, stable@vger.kernel.org References: <20180613081647.31183-1-paul.kocialkowski@bootlin.com> From: Giulio Benetti Message-ID: Date: Wed, 13 Jun 2018 23:52:55 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <20180613081647.31183-1-paul.kocialkowski@bootlin.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: it Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, sorry for my ignorance. I don't know the right patch workflow in the case of "revert commit". When I fix this bug, should I have to re-submit the previous patch entire plus bug-fix? Or do I have to submit patch with bug-fix only? Thanks in advance to everybody -- Giulio Benetti CTO MICRONOVA SRL Sede: Via A. Niedda 3 - 35010 Vigonza (PD) Tel. 049/8931563 - Fax 049/8931346 Cod.Fiscale - P.IVA 02663420285 Capitale Sociale € 26.000 i.v. Iscritta al Reg. Imprese di Padova N. 02663420285 Numero R.E.A. 258642 Il 13/06/2018 10:16, Paul Kocialkowski ha scritto: > This reverts commit 2c17a4368aad2b88b68e4390c819e226cf320f70. > > The offending commit triggers a run-time fault when accessing the panel > element of the sun4i_tcon structure when no such panel is attached. > > It was apparently assumed in said commit that a panel is always used with > the TCON. Although it is often the case, this is not always true. > For instance a bridge might be used instead of a panel. > > This issue was discovered using an A13-OLinuXino, that uses the TCON > in RGB mode for a simple DAC-based VGA bridge. > > Cc: stable@vger.kernel.org > Signed-off-by: Paul Kocialkowski > --- > drivers/gpu/drm/sun4i/sun4i_tcon.c | 25 ------------------------- > 1 file changed, 25 deletions(-) > > diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c > index c3d92d537240..8045871335b5 100644 > --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c > +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c > @@ -17,7 +17,6 @@ > #include > #include > #include > -#include > > #include > > @@ -350,9 +349,6 @@ static void sun4i_tcon0_mode_set_lvds(struct sun4i_tcon *tcon, > static void sun4i_tcon0_mode_set_rgb(struct sun4i_tcon *tcon, > const struct drm_display_mode *mode) > { > - struct drm_panel *panel = tcon->panel; > - struct drm_connector *connector = panel->connector; > - struct drm_display_info display_info = connector->display_info; > unsigned int bp, hsync, vsync; > u8 clk_delay; > u32 val = 0; > @@ -410,27 +406,6 @@ static void sun4i_tcon0_mode_set_rgb(struct sun4i_tcon *tcon, > if (mode->flags & DRM_MODE_FLAG_PVSYNC) > val |= SUN4I_TCON0_IO_POL_VSYNC_POSITIVE; > > - /* > - * On A20 and similar SoCs, the only way to achieve Positive Edge > - * (Rising Edge), is setting dclk clock phase to 2/3(240°). > - * By default TCON works in Negative Edge(Falling Edge), > - * this is why phase is set to 0 in that case. > - * Unfortunately there's no way to logically invert dclk through > - * IO_POL register. > - * The only acceptable way to work, triple checked with scope, > - * is using clock phase set to 0° for Negative Edge and set to 240° > - * for Positive Edge. > - * On A33 and similar SoCs there would be a 90° phase option, > - * but it divides also dclk by 2. > - * Following code is a way to avoid quirks all around TCON > - * and DOTCLOCK drivers. > - */ > - if (display_info.bus_flags & DRM_BUS_FLAG_PIXDATA_POSEDGE) > - clk_set_phase(tcon->dclk, 240); > - > - if (display_info.bus_flags & DRM_BUS_FLAG_PIXDATA_NEGEDGE) > - clk_set_phase(tcon->dclk, 0); > - > regmap_update_bits(tcon->regs, SUN4I_TCON0_IO_POL_REG, > SUN4I_TCON0_IO_POL_HSYNC_POSITIVE | SUN4I_TCON0_IO_POL_VSYNC_POSITIVE, > val); >