From: Sam Ravnborg <sam@ravnborg.org>
To: Nikola Pavlica <pavlica.nikola@gmail.com>
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
Date: Wed, 18 Aug 2021 20:21:28 +0200 [thread overview]
Message-ID: <YR1PqL9rnAjGT3rf@ravnborg.org> (raw)
In-Reply-To: <20210818144648.72665-1-pavlica.nikola@gmail.com>
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 <pavlica.nikola@gmail.com>
> ---
> 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
WARNING: multiple messages have this Message-ID (diff)
From: Sam Ravnborg <sam@ravnborg.org>
To: Nikola Pavlica <pavlica.nikola@gmail.com>
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
Date: Wed, 18 Aug 2021 20:21:28 +0200 [thread overview]
Message-ID: <YR1PqL9rnAjGT3rf@ravnborg.org> (raw)
In-Reply-To: <20210818144648.72665-1-pavlica.nikola@gmail.com>
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 <pavlica.nikola@gmail.com>
> ---
> 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
next prev parent reply other threads:[~2021-08-18 18:21 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-18 14:46 [PATCH 1/3] drm/panel-simple: Add Vivax TPC-9150 panel v4 Nikola Pavlica
2021-08-18 14:46 ` Nikola Pavlica
2021-08-18 14:46 ` [PATCH 2/3] dt-bindings: display: simple: Add Vivax TPC-9150 panel Nikola Pavlica
2021-08-18 14:46 ` Nikola Pavlica
2021-08-18 18:24 ` Sam Ravnborg
2021-08-18 18:24 ` Sam Ravnborg
2021-08-18 14:46 ` [PATCH 3/3] dt-bindings: add vendor prefix for Vivax Nikola Pavlica
2021-08-18 14:46 ` Nikola Pavlica
2021-08-18 18:22 ` Sam Ravnborg
2021-08-18 18:22 ` Sam Ravnborg
2021-08-18 18:26 ` Sam Ravnborg
2021-08-18 18:26 ` Sam Ravnborg
2021-08-18 18:21 ` Sam Ravnborg [this message]
2021-08-18 18:21 ` [PATCH 1/3] drm/panel-simple: Add Vivax TPC-9150 panel v4 Sam Ravnborg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YR1PqL9rnAjGT3rf@ravnborg.org \
--to=sam@ravnborg.org \
--cc=airlied@linux.ie \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sunxi@googlegroups.com \
--cc=linux-sunxi@lists.linux.dev \
--cc=pavlica.nikola@gmail.com \
--cc=thierry.reding@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.