dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Hai Li" <hali@codeaurora.org>
To: "'Johansson, Werner'" <Werner.Johansson@sonymobile.com>,
	dri-devel@lists.freedesktop.org
Subject: RE: drm/msm/dsi: hs_zero timing
Date: Fri, 21 Aug 2015 15:55:55 -0400	[thread overview]
Message-ID: <005401d0dc4b$6591db60$30b59220$@codeaurora.org> (raw)
In-Reply-To: <3892D88DBE322D4FA4B7FE095FDA445A07C27BD1AD3D@seldmbx01.corpusers.net>

Hi Werner,

When I made DSI changes, I tried to limit the information in DT (like our downstream driver), until there is a case driver really cannot figure it out by the existing information.
I think this is the requirement of upstream kernel.

If we see a panel requires different value in PHY_LN_CFG_4(x) register and cannot derive it from any other timings, we could think about adding it into DT.

Also, I am wondering if this Panasonic WUXGA panel works with downstream driver, since I see the same hardcoded values set for all the panels.


Thanks,
Hai

-----Original Message-----
From: dri-devel [mailto:dri-devel-bounces@lists.freedesktop.org] On Behalf Of Johansson, Werner
Sent: Friday, August 21, 2015 2:27 PM
To: dri-devel@lists.freedesktop.org
Subject: drm/msm/dsi: hs_zero timing

Hi,

In drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c there are a few "magic number" writes to the PHY_LN_CFG_4(x) registers around line 108 (adjusting the hs_zero period per lane). This causes some problems with certain panel timings when timing->hs_zero plus an "unknown integer" becomes evenly divisible by 8 - this will cause the DSI output to misbehave (typically leading to black screen). On the three panels I've tested I have different "unknown integers" which I can't immediately derive from the rest of the PHY timings:

(PHY timing debug output in this order: clk_pre, clk_post, clk_zero, clk_trail, clk_prepare, hs_exit, hs_zero, hs_prepare, hs_trail, hs_rqst)

Panasonic VVX panel (WUXGA): PHY timings: 47, 2, 259, 62, 42, 112, 118, 46, 66, 51 hs_zero calculated value of 118 does not work (neither does anything <74, 78, 86, 94, 102, 110, 126, 134, 142, 150, 158, 166, 174, 182, 190, 198, 206, 214, 222, 230, 238, 246, 254)

Sharp (1080p) on Xperia Z3: PHY timings: 44, 2, 238, 56, 38, 104, 110, 42, 60, 44 hs_zero calculated value of 110 works fine here but 104, 112, 120 and the remaining multiples of 8 does not.

Sharp (qHD) on Dragonboard 800: PHY timings: 28, 4, 139, 30, 20, 68, 72, 24, 34, 25 hs_zero calculated value of 72 works fine but 62, 70, 78, 86 and the remaining multiples of 8 does not.

hs_trail looked promising at first: a bad hs_zero value + hs_trail would be evenly divisible by 8 for Panasonic and the 1080p Sharp panel but not for the Sharp qHD display, and adjusting hs_trail did not solve the issue.

However, setting all the lane adjust values for hs_zero to 0 solves the problem for the troublesome WUXGA panel timing and does not create any apparent downsides for the other two.

Does anyone know of a reason this skew is implemented? If it is indeed needed in some cases would a move to DT instead of leaving it hard-coded make sense?

Thanks for any input!

/wj

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2015-08-21 19:55 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-21 18:26 drm/msm/dsi: hs_zero timing Johansson, Werner
2015-08-21 19:55 ` Hai Li [this message]
2015-08-21 20:38   ` Johansson, Werner
2015-08-22 13:25     ` Rob Clark
2015-08-24  6:17       ` Werner Johansson
2015-08-24 14:32       ` Hai Li
2015-08-25  1:23         ` Werner Johansson
2015-08-26 15:34           ` Hai Li
2015-08-26 17:39             ` Werner Johansson
2015-08-26 17:46               ` Rob Clark
2015-08-26 18:22                 ` Werner Johansson
2015-08-26 18:31                   ` Rob Clark
2015-08-27  1:42                     ` Werner Johansson
2015-08-28  5:56                       ` Archit Taneja
2015-08-28  6:09                         ` Werner Johansson
2015-09-01 15:59                           ` Hai Li
2015-09-01 16:27                             ` Werner Johansson
2015-08-28 14:12                         ` hali
2015-08-26 17:49               ` Hai Li
2015-08-26 18:04                 ` Werner Johansson
  -- strict thread matches above, loose matches on Subject: below --
2015-08-21 18:13 Werner Johansson
2015-08-21  1:08 Johansson, Werner

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='005401d0dc4b$6591db60$30b59220$@codeaurora.org' \
    --to=hali@codeaurora.org \
    --cc=Werner.Johansson@sonymobile.com \
    --cc=dri-devel@lists.freedesktop.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