All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: Archit Taneja <architt@codeaurora.org>,
	Andrzej Hajda <a.hajda@samsung.com>,
	dri-devel@lists.freedesktop.org,
	Andrey Gusakov <andrey.gusakov@cogentembedded.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>,
	Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Subject: [PATCHv2 5/7] drm/bridge: tc358767: reject modes which require too much BW
Date: Thu, 3 Jan 2019 13:59:52 +0200	[thread overview]
Message-ID: <20190103115954.12785-6-tomi.valkeinen@ti.com> (raw)
In-Reply-To: <20190103115954.12785-1-tomi.valkeinen@ti.com>

The current driver accepts any videomode with pclk < 154MHz. This is not
correct, as with 1 lane and/or 1.62Mbps speed not all videomodes can be
supported.

Add code to reject modes that require more bandwidth that is available.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
---
 drivers/gpu/drm/bridge/tc358767.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
index ab299f4debfa..a1f3dd2afbb1 100644
--- a/drivers/gpu/drm/bridge/tc358767.c
+++ b/drivers/gpu/drm/bridge/tc358767.c
@@ -1114,10 +1114,20 @@ static bool tc_bridge_mode_fixup(struct drm_bridge *bridge,
 static enum drm_mode_status tc_connector_mode_valid(struct drm_connector *connector,
 				   struct drm_display_mode *mode)
 {
+	struct tc_data *tc = connector_to_tc(connector);
+	u32 req, avail;
+	u32 bits_per_pixel = 24;
+
 	/* DPI interface clock limitation: upto 154 MHz */
 	if (mode->clock > 154000)
 		return MODE_CLOCK_HIGH;
 
+	req = mode->clock * bits_per_pixel / 8;
+	avail = tc->link.base.num_lanes * tc->link.base.rate;
+
+	if (req > avail)
+		return MODE_BAD;
+
 	return MODE_OK;
 }
 
-- 
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

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

  parent reply	other threads:[~2019-01-03 13:09 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20190103120053epcas2p2901389967dc032aa2587c2a291d44c9f@epcas2p2.samsung.com>
2019-01-03 11:59 ` [PATCHv2 0/7] drm/bridge: tc358767: small fixes Tomi Valkeinen
2019-01-03 11:59   ` [PATCHv2 1/7] drm/bridge: tc358767: add bus flags Tomi Valkeinen
2019-01-03 11:59   ` [PATCHv2 2/7] drm/bridge: tc358767: add defines for DP1_SRCCTRL & PHY_2LANE Tomi Valkeinen
2019-01-03 11:59   ` [PATCHv2 3/7] drm/bridge: tc358767: fix single lane configuration Tomi Valkeinen
2019-01-03 11:59   ` [PATCHv2 4/7] drm/bridge: tc358767: fix initial DP0/1_SRCCTRL value Tomi Valkeinen
2019-01-03 11:59   ` Tomi Valkeinen [this message]
2019-01-03 11:59   ` [PATCHv2 6/7] drm/bridge: tc358767: fix output H/V syncs Tomi Valkeinen
2019-01-03 11:59   ` [PATCHv2 7/7] drm/bridge: tc358767: use DP connector if no panel set Tomi Valkeinen
2019-01-09  8:22   ` [PATCHv2 0/7] drm/bridge: tc358767: small fixes Andrzej Hajda
2019-01-09  9:12     ` Tomi Valkeinen
2019-01-09  9:51       ` Lucas Stach
2019-01-09 10:12         ` Andrzej Hajda
2019-01-23 12:52           ` Tomi Valkeinen
2019-01-23 14:39             ` A H
2019-01-09 14:55         ` Tomi Valkeinen
2019-01-09 14:58           ` 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=20190103115954.12785-6-tomi.valkeinen@ti.com \
    --to=tomi.valkeinen@ti.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=a.hajda@samsung.com \
    --cc=andrey.gusakov@cogentembedded.com \
    --cc=architt@codeaurora.org \
    --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 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.