linux/drivers/gpu/drm/bridge
Andrey Smirnov 792a081a1b drm/bridge: tc358767: Simplify AUX data write
Simplify AUX data write by dropping index arithmetic and shifting and
replacing it with a call to a helper function that does two things:

    1. Copies user-provided data into a write buffer
    2. Transfers contents of the write buffer to up to 4 32-bit
       registers on the chip

Note that separate data endianness fix:

    tmp = (tmp << 8) | buf[i];

that was reserved for DP_AUX_I2C_WRITE looks really strange, since it
will place data differently depending on the passed user-data
size. E.g. for a write of 1 byte, data transferred to the chip would
look like:

[byte0] [dummy1] [dummy2] [dummy3]

whereas for a write of 4 bytes we'd get:

[byte3] [byte2] [byte1] [byte0]

Since there's no indication in the datasheet that I2C write buffer
should be treated differently than AUX write buffer and no comment in
the original code explaining why it was done this way, that special
I2C write buffer transformation was dropped in this patch.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Andrzej Hajda <a.hajda@samsung.com>
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Cc: Cory Tusar <cory.tusar@zii.aero>
Cc: Chris Healy <cphealy@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190619052716.16831-8-andrew.smirnov@gmail.com
2019-06-27 13:37:48 +02:00
..
adv7511 Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
analogix Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
synopsys drm/bridge/synopsys: dsi: Allow VPG to be enabled via debugfs 2019-06-24 13:41:07 +02:00
analogix-anx78xx.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
analogix-anx78xx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
cdns-dsi.c drm/bridge: cdns: Convert to phy framework 2019-02-07 09:48:40 +01:00
dumb-vga-dac.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
lvds-encoder.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
Makefile drm/bridge: tc358764: Add DSI to LVDS bridge driver 2018-07-27 09:09:57 +02:00
megachips-stdpxxxx-ge-b850v3-fw.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
nxp-ptn3460.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
panel.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
parade-ps8622.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
sii902x.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
sii9234.c gpu: drm: bridge: sii9234: simplify getting the adapter of a client 2019-06-12 16:01:30 +02:00
sil-sii8620.c drm/edid: Pass connector to AVI infoframe functions 2019-01-10 19:01:06 +02:00
sil-sii8620.h drm/bridge/sii8620: add HSIC initialization code 2017-02-02 15:15:30 +05:30
tc358764.c drm/bridge: drop drmP.h usage 2019-05-26 10:55:04 +02:00
tc358767.c drm/bridge: tc358767: Simplify AUX data write 2019-06-27 13:37:48 +02:00
thc63lvd1024.c R-Car DU changes for v5.3: 2019-06-11 10:08:49 +02:00
ti-sn65dsi86.c drm/bridge: drop drmP.h usage 2019-05-26 10:55:04 +02:00
ti-tfp410.c drm/bridge: drop drmP.h usage 2019-05-26 10:55:04 +02:00