From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-14.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C5128C4338F for ; Wed, 18 Aug 2021 18:23:17 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8DCC1610FD for ; Wed, 18 Aug 2021 18:23:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 8DCC1610FD Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ravnborg.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=j9beuedKX3DtEJmWKjp3U2/Hgek8OtU/7dCTmW0mFCY=; b=LT3R5lTyP3+Y59 5cbOJn17Gbe36pGcvYMCrt/9V1XzX+kZ0s0xbf5jZpk33KUqhjdH2X/ptEKuRd+lCyYL1PU5IiPZy Xp8jaWfPpp8VnJ46d9EhD0X2OhsTXjHOGS7qR3WdV+k+QyG0tZlfJcmhAppeJ0lazPMAnoVvNA4cr jrFVIqbFHQrVreWa9RzKxcIYpx/5eoCTaokJRfM8wzLKnYNc1UhAmdeQjs2zUttEUc+oXXdBt8r0/ 96w89U9PVmmv3cfHPx7EOUEYX57QyfjiDrhR7NaHy/ON0LwmNSH3jzKErYQJhOn+hJOXjlkAQwHKT b7ik/uSSzmWxEIhf5+IA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mGQC4-006NQ8-9n; Wed, 18 Aug 2021 18:21:40 +0000 Received: from mx1.smtp.larsendata.com ([91.221.196.215]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mGQC0-006NOp-NG for linux-arm-kernel@lists.infradead.org; Wed, 18 Aug 2021 18:21:38 +0000 Received: from mail01.mxhotel.dk (mail01.mxhotel.dk [91.221.196.236]) by mx1.smtp.larsendata.com (Halon) with ESMTPS id 1636feac-0051-11ec-b37b-0050568c148b; Wed, 18 Aug 2021 18:21:20 +0000 (UTC) Received: from ravnborg.org (80-162-45-141-cable.dk.customer.tdc.net [80.162.45.141]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: sam@ravnborg.org) by mail01.mxhotel.dk (Postfix) with ESMTPSA id B5A77194B06; Wed, 18 Aug 2021 20:21:40 +0200 (CEST) Date: Wed, 18 Aug 2021 20:21:28 +0200 X-Report-Abuse-To: abuse@mxhotel.dk From: Sam Ravnborg To: Nikola Pavlica Cc: dri-devel@lists.freedesktop.org, thierry.reding@gmail.com, airlied@linux.ie, daniel@ffwll.ch, linux-arm-kernel@lists.infradead.org, linux-sunxi@googlegroups.com, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/3] drm/panel-simple: Add Vivax TPC-9150 panel v4 Message-ID: References: <20210818144648.72665-1-pavlica.nikola@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20210818144648.72665-1-pavlica.nikola@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210818_112137_094797_6E6D325B X-CRM114-Status: GOOD ( 26.28 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Nikola, On Wed, Aug 18, 2021 at 04:46:46PM +0200, Nikola Pavlica wrote: > The model and make of the LCD panel of the Vivax TPC-9150 is unknown, > hence the panel settings that were retrieved with a FEX dump are named > after the device NOT the actual panel. > > The LCD in question is a 50 pin MISO TFT LCD panel of the resolution > 1024x600 used by the aforementioned device. > > Version 2, as Thierry kindly suggested that I fix the order in which the > panel was ordered compared to others. > > Version 3, filling in the required info suggested by Sam. Plus some > factual issues that I've corrected myself (tested working) > > Version 4, rearranged the display parameters and fix invalid bit format > issue. (Thanks Sam) > > Thanks, > Nikola > > Signed-off-by: Nikola Pavlica > --- > drivers/gpu/drm/panel/panel-simple.c | 29 ++++++++++++++++++++++++++++ > 1 file changed, 29 insertions(+) > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c > index 4e2dad314c79..9e06c375f8a0 100644 > --- a/drivers/gpu/drm/panel/panel-simple.c > +++ b/drivers/gpu/drm/panel/panel-simple.c > @@ -3989,6 +3989,32 @@ static const struct panel_desc urt_umsh_8596md_parallel = { > .bus_format = MEDIA_BUS_FMT_RGB666_1X18, > }; > > +static const struct drm_display_mode vivax_tpc9150_panel_mode = { > + .clock = 60000, > + .hdisplay = 1024, > + .hsync_start = 1024 + 160, > + .hsync_end = 1024 + 160 + 100, > + .htotal = 1024 + 160 + 100 + 60, > + .vdisplay = 600, > + .vsync_start = 600 + 12, > + .vsync_end = 600 + 12 + 10, > + .vtotal = 600 + 12 + 10 + 13, > +}; > + > +static const struct panel_desc vivax_tpc9150_panel = { > + .modes = &vivax_tpc9150_panel_mode, > + .num_modes = 1, > + .bpc = 6, > + .size = { > + .width = 200, > + .height = 115, > + }, > + .bus_format = MEDIA_BUS_FMT_RGB666_1X18, > + .bus_flags = DRM_BUS_FLAG_DE_HIGH, > + .connector_type = DRM_MODE_CONNECTOR_LVDS, The bus_format is not right. If you look at your logging this panel will result in a warning. Look at the following code: case DRM_MODE_CONNECTOR_LVDS: WARN_ON(desc->bus_flags & ~(DRM_BUS_FLAG_DE_LOW | DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_DATA_MSB_TO_LSB | DRM_BUS_FLAG_DATA_LSB_TO_MSB)); WARN_ON(desc->bus_format != MEDIA_BUS_FMT_RGB666_1X7X3_SPWG && desc->bus_format != MEDIA_BUS_FMT_RGB888_1X7X4_SPWG && desc->bus_format != MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA); WARN_ON(desc->bus_format == MEDIA_BUS_FMT_RGB666_1X7X3_SPWG && desc->bpc != 6); WARN_ON((desc->bus_format == MEDIA_BUS_FMT_RGB888_1X7X4_SPWG || desc->bus_format == MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA) && desc->bpc != 8); break; Here you see that for an LVDS connector we expect at least one bus_flag - this is OK. You can also see that for bus_format only a selected few are valid. You need to investigate and pick the right one here. One way to find out is to check the driver default as this is likely selected when you specify an invalid bus_format like in the patch. If you look for example in Documentation/devicetree/bindings/display/panel/lvds.yaml then you can see a graphical representation of the formats. This should help you pick the right one. Sam _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel