linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Torsten Duwe <duwe@lst.de>
To: Maxime Ripard <maxime.ripard@bootlin.com>,
	Chen-Yu Tsai <wens@csie.org>, Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Thierry Reding <thierry.reding@gmail.com>,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	Andrzej Hajda <a.hajda@samsung.com>,
	Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
	Icenowy Zheng <icenowy@aosc.io>,
	Sean Paul <seanpaul@chromium.org>,
	Vasily Khoruzhick <anarsoul@gmail.com>,
	Harald Geyer <harald@ccbib.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Thomas Gleixner <tglx@linutronix.de>
Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v2 4/7] drm/bridge: Prepare Analogix anx6345 support
Date: Tue,  4 Jun 2019 14:22:58 +0200 (CEST)	[thread overview]
Message-ID: <20190604122258.664D468BFE@newverein.lst.de> (raw)
In-Reply-To: 20190604122150.29D6468B05@newverein.lst.de

Add bit definitions required for the anx6345 and add a
sanity check in anx_dp_aux_transfer.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Torsten Duwe <duwe@suse.de>
---
 drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.c     | 2 +-
 drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.h     | 8 ++++++++
 drivers/gpu/drm/bridge/analogix/analogix-i2c-txcommon.h | 3 +++
 3 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.c b/drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.c
index d6016f789d80..e9d2ed4d410d 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.c
@@ -124,7 +124,7 @@ ssize_t anx_dp_aux_transfer(struct regmap *map_dptx,
 	else	/* For non-zero-sized set the length field. */
 		ctrl1 |= (msg->size - 1) << SP_AUX_LENGTH_SHIFT;
 
-	if ((msg->request & DP_AUX_I2C_READ) == 0) {
+	if ((msg->size > 0) && ((msg->request & DP_AUX_I2C_READ) == 0)) {
 		/* When WRITE | MOT write values to data buffer */
 		err = regmap_bulk_write(map_dptx,
 					SP_DP_BUF_DATA0_REG, buffer,
diff --git a/drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.h b/drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.h
index 30436c88f181..95ab89eecc60 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.h
+++ b/drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.h
@@ -83,7 +83,11 @@
 #define SP_CHA_STA			BIT(2)
 /* Bits for DP System Control Register 3 */
 #define SP_HPD_STATUS			BIT(6)
+#define SP_HPD_FORCE			BIT(5)
+#define SP_HPD_CTRL			BIT(4)
 #define SP_STRM_VALID			BIT(2)
+#define SP_STRM_FORCE			BIT(1)
+#define SP_STRM_CTRL			BIT(0)
 /* Bits for DP System Control Register 4 */
 #define SP_ENHANCED_MODE		BIT(3)
 
@@ -128,6 +132,9 @@
 #define SP_LINK_BW_SET_MASK		0x1f
 #define SP_INITIAL_SLIM_M_AUD_SEL	BIT(5)
 
+/* DP Lane Count Setting Register */
+#define SP_DP_LANE_COUNT_SET_REG	0xa1
+
 /* DP Training Pattern Set Register */
 #define SP_DP_TRAINING_PATTERN_SET_REG	0xa2
 
@@ -141,6 +148,7 @@
 
 /* DP Link Training Control Register */
 #define SP_DP_LT_CTRL_REG		0xa8
+#define SP_DP_LT_INPROGRESS		0x80
 #define SP_LT_ERROR_TYPE_MASK		0x70
 #  define SP_LT_NO_ERROR		0x00
 #  define SP_LT_AUX_WRITE_ERROR		0x01
diff --git a/drivers/gpu/drm/bridge/analogix/analogix-i2c-txcommon.h b/drivers/gpu/drm/bridge/analogix/analogix-i2c-txcommon.h
index f48293f86f9d..e3391a50b5d1 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix-i2c-txcommon.h
+++ b/drivers/gpu/drm/bridge/analogix/analogix-i2c-txcommon.h
@@ -188,6 +188,9 @@
 #define SP_VBIT				BIT(1)
 #define SP_AUDIO_LAYOUT			BIT(0)
 
+/* Analog Debug Register 1 */
+#define SP_ANALOG_DEBUG1_REG		0xdc
+
 /* Analog Debug Register 2 */
 #define SP_ANALOG_DEBUG2_REG		0xdd
 #define SP_FORCE_SW_OFF_BYPASS		0x20
-- 
2.16.4


  parent reply	other threads:[~2019-06-04 12:23 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-04 12:21 [PATCH v2 0/7] Add anx6345 DP/eDP bridge for Olimex Teres-I Torsten Duwe
2019-06-04 12:22 ` [PATCH v2 1/7] drm/bridge: move ANA78xx driver to analogix subdirectory Torsten Duwe
2019-06-12 10:16   ` Andrzej Hajda
2019-06-04 12:22 ` [PATCH v2 2/7] drm/bridge: split some definitions of ANX78xx to dedicated headers Torsten Duwe
2019-06-12  7:40   ` Andrzej Hajda
2019-06-04 12:22 ` [PATCH v2 3/7] drm/bridge: extract some Analogix I2C DP common code Torsten Duwe
2019-06-12  7:41   ` Andrzej Hajda
2019-06-04 12:22 ` Torsten Duwe [this message]
2019-06-12  7:43   ` [PATCH v2 4/7] drm/bridge: Prepare Analogix anx6345 support Andrzej Hajda
2019-06-04 12:23 ` [PATCH v2 5/7] drm/bridge: Add " Torsten Duwe
2019-06-12  9:13   ` Andrzej Hajda
2019-07-18 16:42     ` Torsten Duwe
2019-06-04 12:23 ` [PATCH v2 6/7] dt-bindings: Add ANX6345 DP/eDP transmitter binding Torsten Duwe
2019-06-12  8:16   ` Andrzej Hajda
2019-06-12 14:59     ` Torsten Duwe
2019-06-04 12:23 ` [PATCH v2 7/7] arm64: dts: allwinner: a64: enable ANX6345 bridge on Teres-I Torsten Duwe
2019-06-04 15:08   ` Vasily Khoruzhick
2019-06-05 10:13     ` Torsten Duwe
2019-06-05 12:02       ` Maxime Ripard
2019-06-06 13:59         ` Harald Geyer
2019-06-07  6:28           ` Maxime Ripard
2019-06-07  9:40             ` Torsten Duwe
2019-06-12 10:00               ` Andrzej Hajda
2019-06-12 15:20                 ` Maxime Ripard
2019-06-28 10:39                   ` Andrzej Hajda
2019-07-01  9:58                     ` Maxime Ripard
2019-07-01 12:27                       ` Andrzej Hajda
2019-07-02  8:13                         ` Maxime Ripard
2019-07-09  0:49                       ` Vasily Khoruzhick
2019-07-09  8:55                         ` Maxime Ripard
2019-07-09  8:58                           ` Icenowy Zheng
2019-07-09 14:21                             ` Maxime Ripard
2019-07-09 20:30                           ` Vasily Khoruzhick
2019-07-10 11:40                             ` Maxime Ripard
2019-07-10 22:11                               ` Vasily Khoruzhick
2019-07-12 20:15                                 ` Maxime Ripard
2019-07-16  0:28                                   ` Vasily Khoruzhick
2019-07-24 13:58                                     ` Maxime Ripard
2019-06-12 15:34               ` Maxime Ripard

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=20190604122258.664D468BFE@newverein.lst.de \
    --to=duwe@lst.de \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=a.hajda@samsung.com \
    --cc=airlied@linux.ie \
    --cc=anarsoul@gmail.com \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=harald@ccbib.org \
    --cc=icenowy@aosc.io \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=maxime.ripard@bootlin.com \
    --cc=robh+dt@kernel.org \
    --cc=seanpaul@chromium.org \
    --cc=tglx@linutronix.de \
    --cc=thierry.reding@gmail.com \
    --cc=wens@csie.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;
as well as URLs for NNTP newsgroup(s).