All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrzej Hajda <a.hajda@samsung.com>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>,
	Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
	dri-devel@lists.freedesktop.org,
	Lucas Stach <l.stach@pengutronix.de>,
	Andrey Gusakov <andrey.gusakov@cogentembedded.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Jyri Sarha <jsarha@ti.com>,
	Peter Ujfalusi <peter.ujfalusi@ti.com>,
	Benoit Parrot <bparrot@ti.com>
Subject: Re: [PATCHv2 19/22] drm/bridge: tc358767: copy the mode data, instead of storing the pointer
Date: Mon, 15 Apr 2019 14:12:46 +0200	[thread overview]
Message-ID: <f2124827-5be7-35fe-8235-f6d5f699d664@samsung.com> (raw)
In-Reply-To: <7f89797f-6a0b-685c-97e6-bd93c34818cd@ti.com>

On 15.04.2019 13:19, Tomi Valkeinen wrote:
> On 15/04/2019 13:09, Andrzej Hajda wrote:
>> On 26.03.2019 11:31, Tomi Valkeinen wrote:
>>> In tc_bridge_mode_set callback, we store the pointer to the given
>>> drm_display_mode, and use the mode later. Storing a pointer in such a
>>> way looks very suspicious to me, and I have observed odd issues where
>>> the timings were apparently (at least mostly) zero.
>>>
>>> Do a copy of the drm_display_mode instead to ensure we don't refer to
>>> freed/modified data.
>>
>> Why not tc->bridge.encoder->crtc->state->adjusted_mode or
>>
>> tc->bridge.encoder->crtc->state->mode ?
>>
>>
>> They should exists if the mode is set.
> Well, one reason was that my main concern was to get the DP output
> working (as it was quite broken wrt. the link setup), and I wanted to
> minimize all the other changes. This change felt the simplest way to fix
> this issue and get forward, without possibly causing new problems.
>
> Second, I'm a bit confused about DRM mode setting, and didn't want to
> possibly move the driver into the wrong direction. It's not clear to me
> whether the "mode" referred here is about the input or the output mode.
> And, in both cases, if there's a bridge between the CRTC and the
> TC358767, we would definitely be looking at the wrong mode if we peek at
> the CRTC's.


DRM does not support multiple intermediate modes, there is .mode as
requested by userspace and .adjusted_mode with twisted semantic, with
recent improvements[1].


[1]: https://www.kernel.org/doc/html/latest/gpu/drm-kms.html


Regards

Andrzej


>
>  Tomi
>

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

  reply	other threads:[~2019-04-15 12:12 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-26 10:31 [PATCHv2 00/22] drm/bridge: tc358767: DP support Tomi Valkeinen
2019-03-26 10:31 ` [PATCHv2 01/22] drm/bridge: tc358767: fix tc_aux_get_status error handling Tomi Valkeinen
2019-04-15  7:20   ` Andrzej Hajda
2019-04-20 20:14   ` Laurent Pinchart
2019-04-26 14:08     ` Tomi Valkeinen
2019-03-26 10:31 ` [PATCHv2 02/22] drm/bridge: tc358767: reset voltage-swing & pre-emphasis Tomi Valkeinen
2019-04-15  7:20   ` Andrzej Hajda
2019-04-20 20:30   ` Laurent Pinchart
2019-04-26 14:14     ` Tomi Valkeinen
2019-04-26 23:46       ` Laurent Pinchart
2019-04-26 23:54       ` Andrey Smirnov
2019-03-26 10:31 ` [PATCHv2 03/22] drm/bridge: tc358767: fix ansi 8b10b use Tomi Valkeinen
2019-04-15  7:29   ` Andrzej Hajda
2019-04-20 21:13   ` Laurent Pinchart
2019-04-23  8:19     ` Andrey Gusakov
2019-04-23 14:56       ` Laurent Pinchart
2019-04-24 13:52         ` Andrey Gusakov
2019-05-03 11:43         ` Tomi Valkeinen
2019-05-03 12:48           ` Laurent Pinchart
2019-05-03 13:17             ` Tomi Valkeinen
2019-05-03 17:11               ` Laurent Pinchart
2019-05-06  9:58                 ` Tomi Valkeinen
2019-05-21  7:21                   ` Andrey Smirnov
2019-03-26 10:31 ` [PATCHv2 04/22] drm/bridge: tc358767: cleanup spread & scrambler_dis Tomi Valkeinen
2019-04-15  7:31   ` Andrzej Hajda
2019-04-20 21:16   ` Laurent Pinchart
2019-03-26 10:31 ` [PATCHv2 05/22] drm/bridge: tc358767: remove unused swing & preemp Tomi Valkeinen
2019-04-15  7:31   ` Andrzej Hajda
2019-04-20 21:16   ` Laurent Pinchart
2019-03-26 10:31 ` [PATCHv2 06/22] drm/bridge: tc358767: cleanup aux_link_setup Tomi Valkeinen
2019-04-15  7:38   ` Andrzej Hajda
2019-04-15  7:52     ` Tomi Valkeinen
2019-04-20 21:20       ` Laurent Pinchart
2019-03-26 10:31 ` [PATCHv2 07/22] drm/bridge: tc358767: move video stream setup to tc_main_link_stream Tomi Valkeinen
2019-04-15  7:48   ` Andrzej Hajda
2019-04-20 21:25   ` Laurent Pinchart
2019-05-03  9:12     ` Tomi Valkeinen
2019-03-26 10:31 ` [PATCHv2 08/22] drm/bridge: tc358767: split stream enable/disable Tomi Valkeinen
2019-04-15  8:26   ` Andrzej Hajda
2019-04-20 21:29   ` Laurent Pinchart
2019-05-03  9:20     ` Tomi Valkeinen
2019-05-03 12:55       ` Laurent Pinchart
2019-05-03 13:08         ` Tomi Valkeinen
2019-03-26 10:31 ` [PATCHv2 09/22] drm/bridge: tc358767: move PXL PLL enable/disable to " Tomi Valkeinen
2019-04-15  8:28   ` Andrzej Hajda
2019-04-20 21:33   ` Laurent Pinchart
2019-03-26 10:31 ` [PATCHv2 10/22] drm/bridge: tc358767: add link disable function Tomi Valkeinen
2019-04-15  8:36   ` Andrzej Hajda
2019-04-15 11:39     ` Tomi Valkeinen
2019-04-20 21:39       ` Laurent Pinchart
2019-05-03  9:36         ` Tomi Valkeinen
2019-03-26 10:31 ` [PATCHv2 11/22] drm/bridge: tc358767: ensure DP is disabled before LT Tomi Valkeinen
2019-04-15  8:49   ` Andrzej Hajda
2019-04-15 11:26     ` Tomi Valkeinen
2019-04-20 21:41       ` Laurent Pinchart
2019-03-26 10:31 ` [PATCHv2 12/22] drm/bridge: tc358767: remove unnecessary msleep Tomi Valkeinen
2019-04-15  8:50   ` Andrzej Hajda
2019-04-20 21:43   ` Laurent Pinchart
2019-04-23  7:52     ` Andrey Gusakov
2019-03-26 10:31 ` [PATCHv2 13/22] drm/bridge: tc358767: use more reliable seq when finishing LT Tomi Valkeinen
2019-04-15  8:51   ` Andrzej Hajda
2019-04-20 21:44   ` Laurent Pinchart
2019-05-03 11:04     ` Tomi Valkeinen
2019-03-26 10:31 ` [PATCHv2 14/22] drm/bridge: tc358767: cleanup LT result check Tomi Valkeinen
2019-04-15  8:53   ` Andrzej Hajda
2019-04-20 22:06   ` Laurent Pinchart
2019-05-03 11:00     ` Tomi Valkeinen
2019-03-26 10:31 ` [PATCHv2 15/22] drm/bridge: tc358767: clean-up link training Tomi Valkeinen
2019-04-15  9:54   ` Andrzej Hajda
2019-04-15 11:03     ` Tomi Valkeinen
2019-04-20 22:13   ` Laurent Pinchart
2019-05-03  8:37     ` Tomi Valkeinen
2019-03-26 10:31 ` [PATCHv2 16/22] drm/bridge: tc358767: remove check for video mode in link enable Tomi Valkeinen
2019-04-15  9:55   ` Andrzej Hajda
2019-04-20 22:14   ` Laurent Pinchart
2019-05-03  8:10     ` Tomi Valkeinen
2019-05-03 13:00       ` Laurent Pinchart
2019-03-26 10:31 ` [PATCHv2 17/22] drm/bridge: tc358767: use bridge mode_valid Tomi Valkeinen
2019-04-15  9:56   ` Andrzej Hajda
2019-04-20 22:15   ` Laurent Pinchart
2019-03-26 10:31 ` [PATCHv2 18/22] drm/bridge: tc358767: remove tc_connector_best_encoder Tomi Valkeinen
2019-04-15  9:57   ` Andrzej Hajda
2019-04-20 22:18   ` Laurent Pinchart
2019-03-26 10:31 ` [PATCHv2 19/22] drm/bridge: tc358767: copy the mode data, instead of storing the pointer Tomi Valkeinen
2019-04-15 10:09   ` Andrzej Hajda
2019-04-15 11:19     ` Tomi Valkeinen
2019-04-15 12:12       ` Andrzej Hajda [this message]
2019-04-20 22:20         ` Laurent Pinchart
2019-03-26 10:31 ` [PATCHv2 20/22] drm/bridge: tc358767: add GPIO & interrupt registers Tomi Valkeinen
2019-04-15 10:09   ` Andrzej Hajda
2019-03-26 10:31 ` [PATCHv2 21/22] drm/bridge: tc358767: add IRQ and HPD support Tomi Valkeinen
2019-04-02  2:16   ` Andrey Smirnov
2019-04-03 11:34     ` Tomi Valkeinen
2019-04-12  8:02       ` Tomi Valkeinen
2019-04-12 18:17         ` Andrey Smirnov
2019-04-15 10:42   ` Andrzej Hajda
2019-04-15 10:59     ` Tomi Valkeinen
2019-04-17  7:32       ` Andrzej Hajda
2019-04-29  9:27         ` Tomi Valkeinen
2019-03-26 10:31 ` [PATCHv2 22/22] dt-bindings: tc358767: add IRQ & " Tomi Valkeinen
2019-03-31  6:42   ` Rob Herring
2019-04-01 10:13   ` [PATCHv2.1 22/22] dt-bindings: tc358767: add " Tomi Valkeinen
2019-04-06  6:06     ` Rob Herring

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=f2124827-5be7-35fe-8235-f6d5f699d664@samsung.com \
    --to=a.hajda@samsung.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=andrew.smirnov@gmail.com \
    --cc=andrey.gusakov@cogentembedded.com \
    --cc=bparrot@ti.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jsarha@ti.com \
    --cc=l.stach@pengutronix.de \
    --cc=p.zabel@pengutronix.de \
    --cc=peter.ujfalusi@ti.com \
    --cc=tomi.valkeinen@ti.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.