From: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
To: Adam Ford <aford173@gmail.com>
Cc: dri-devel@lists.freedesktop.org, aford@beaconembedded.com,
Inki Dae <inki.dae@samsung.com>,
Jagan Teki <jagan@amarulasolutions.com>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Andrzej Hajda <andrzej.hajda@intel.com>,
Neil Armstrong <neil.armstrong@linaro.org>,
Robert Foss <rfoss@kernel.org>,
Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
Jonas Karlman <jonas@kwiboo.se>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>, Marek Vasut <marex@denx.de>,
Frieder Schrempf <frieder.schrempf@kontron.de>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH V8 0/7] drm: bridge: samsung-dsim: Support variable clocking
Date: Thu, 8 Jun 2023 13:40:34 +0200 [thread overview]
Message-ID: <bfd050f2-b39e-c091-614e-0c77fe324435@prevas.dk> (raw)
In-Reply-To: <CAHCN7xK9RaLRSK_jSbbuGBUf14-FOHsrawi2J8G29iHSOj2Nyw@mail.gmail.com>
On 07/06/2023 15.27, Adam Ford wrote:
> On Wed, Jun 7, 2023 at 8:15 AM Rasmus Villemoes
> <rasmus.villemoes@prevas.dk> wrote:
>>
>> On 26/05/2023 05.05, Adam Ford wrote:
>>> This series fixes the blanking pack size and the PMS calculation. It then
>>> adds support to allows the DSIM to dynamically DPHY clocks, and support
>>> non-burst mode while allowing the removal of the hard-coded clock values
>>> for the PLL for imx8m mini/nano/plus, and it allows the removal of the
>>> burst-clock device tree entry when burst-mode isn't supported by connected
>>> devices like an HDMI brige. In that event, the HS clock is set to the
>>> value requested by the bridge chip.
>>>
>>> This has been tested on both an i.MX8M Nano and i.MX8M Plus, and should
>>> work on i.MX8M Mini as well. Marek Szyprowski has tested it on various
>>> Exynos boards.
>>
>> Hi all
>>
>> We're testing this on top of v6.4-rc4 on our imx8mp board, which has a
>> ti-sn65dsi86 DSI -> DisplayPort bridge. We do get an image at
>> 1920x1200, but the monitor says it's only at 58Hz, and measuring on the
>> DSI signals does seem to confirm that the update frequency is about 57.7
>> or 57.8Hz (it's pretty hard to get a good measurement). It looks like
>> it's the lines that are too long, by a time that corresponds to about 80
>> pixels. But all the frontporch/backporch/hsync values look sane and
>> completely standard for that resolution.
>>
>> Setting samsung,burst-clock-frequency explicitly to something large
>> enough or letting it be derived from the 154MHz pixel clock makes no
>> difference.
>>
>> Any ideas?
>
> What refresh rate are you trying to achieve? It seems like 57.7 or
> 57.8 is really close to the 58 the Monitor states.
Oh, sorry, I thought that was clear, but it should be/we're aiming
for/expecting 60Hz, or (154MHz / (2080 * 1235)) which is about 59.95Hz.
We've tried with a variety of monitors that all have 1920x1200@60Hz as
max resolution, and parse-edid always gives the same hfp/hbp/...
numbers, namely
Modeline "Mode 0" 154.00 1920 1968 2000 2080 1200 1203
1209 1235 +hsync -vsync
> I would expect the
> refresh to be driven by whatever the monitor states it can handle.
Well, it states that it can handle 60Hz, and the pixel clock is also
computed to be the 154MHz, but still, the actual signals on the wire,
and hence also what the monitor ends up reporting, do not end up with 60
full frames per second.
> Have you tried using modetest to see what refresh rates are available?
Hm. My userspace may be a little weird. When I run modetest I just get
trying to open device 'i915'...failed
trying to open device 'amdgpu'...failed
...
trying to open device 'imx-dcss'...failed
trying to open device 'mxsfb-drm'...failed
no device found
> The 8MP shares the video-pll clock with both disp1 and disp2 clocks,
> and the imx-lcdif driver, which sends the display signals to the DSI,
> uses the disp clock, so the video-pll needs to be an exact multiple of
> the pixel clock or the output won't sink.
Bingo! I enabled the
DRM_DEV_DEBUG_DRIVER(drm->dev, "Pixel clock: %dkHz (actual: %dkHz)\n",
in drivers/gpu/drm/mxsfb/lcdif_kms.c, and indeed it got me
Pixel clock: 154000kHz (actual: 148500kHz)
Modifying the 1039500000 in imx8mp.dtsi to 1078000000 (i.e. 7 times the
desired pixel clock) gave me "actual" matching the desired pixel clock,
and the monitor now reports 60Hz.
This product also has an LVDS display on lcdif2, so I'll have to
investigate how changing the video_pll1 rate affects that. And also what
to do about the case where somebody plugs in, say, a 1080p monitor that
would indeed require 148.5MHz pixel clock.
Thanks,
Rasmus
next prev parent reply other threads:[~2023-06-08 11:41 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-26 3:05 Adam Ford
2023-05-26 3:05 ` [PATCH V8 1/7] drm: bridge: samsung-dsim: fix blanking packet size calculation Adam Ford
2023-05-26 3:05 ` [PATCH V8 2/7] drm: bridge: samsung-dsim: Fix PMS Calculator on imx8m[mnp] Adam Ford
2023-05-26 3:05 ` [PATCH V8 3/7] drm: bridge: samsung-dsim: Fetch pll-clock-frequency automatically Adam Ford
2023-05-26 3:05 ` [PATCH V8 4/7] drm: bridge: samsung-dsim: Select GENERIC_PHY_MIPI_DPHY Adam Ford
2023-05-26 3:05 ` [PATCH V8 5/7] drm: bridge: samsung-dsim: Dynamically configure DPHY timing Adam Ford
2023-05-26 3:05 ` [PATCH V8 6/7] drm: bridge: samsung-dsim: Support non-burst mode Adam Ford
2023-05-26 3:05 ` [PATCH V8 7/7] dt-bindings: bridge: samsung-dsim: Make some flags optional Adam Ford
2023-05-26 18:19 ` Conor Dooley
2023-05-26 19:24 ` Adam Ford
2023-05-26 19:30 ` Conor Dooley
2023-05-30 7:48 ` Krzysztof Kozlowski
2023-05-26 7:22 ` [PATCH V8 0/7] drm: bridge: samsung-dsim: Support variable clocking Neil Armstrong
2023-05-26 7:24 ` Neil Armstrong
2023-05-26 14:04 ` Adam Ford
2023-05-30 8:01 ` Neil Armstrong
2023-06-07 13:15 ` Rasmus Villemoes
2023-06-07 13:27 ` Adam Ford
2023-06-07 14:23 ` Adam Ford
2023-06-08 11:40 ` Rasmus Villemoes [this message]
2023-06-08 12:30 ` Adam Ford
2023-06-08 12:52 ` Lucas Stach
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=bfd050f2-b39e-c091-614e-0c77fe324435@prevas.dk \
--to=rasmus.villemoes@prevas.dk \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=aford173@gmail.com \
--cc=aford@beaconembedded.com \
--cc=airlied@gmail.com \
--cc=andrzej.hajda@intel.com \
--cc=conor+dt@kernel.org \
--cc=daniel@ffwll.ch \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=frieder.schrempf@kontron.de \
--cc=inki.dae@samsung.com \
--cc=jagan@amarulasolutions.com \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=marex@denx.de \
--cc=neil.armstrong@linaro.org \
--cc=rfoss@kernel.org \
--cc=robh+dt@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®