linux/drivers
Tomi Valkeinen 9fc75c40fa
drm/bridge: tc358768: Attempt to fix DSI horizontal timings
The DSI horizontal timing calculations done by the driver seem to often
lead to underflows or overflows, depending on the videomode.

There are two main things the current driver doesn't seem to get right:
DSI HSW and HFP, and VSDly. However, even following Toshiba's
documentation it seems we don't always get a working display.

This patch attempts to fix the horizontal timings for DSI event mode, and
on a system with a DSI->HDMI encoder, a lot of standard HDMI modes now
seem to work. The work relies on Toshiba's documentation, but also quite
a bit on empirical testing.

This also adds timing related debug prints to make it easier to improve
on this later.

The DSI pulse mode has only been tested with a fixed-resolution panel,
which limits the testing of different modes on DSI pulse mode. However,
as the VSDly calculation also affects pulse mode, so this might cause a
regression.

Reviewed-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Tested-by: Maxim Schwalm <maxim.schwalm@gmail.com> # Asus TF700T
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Robert Foss <rfoss@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230906-tc358768-v4-12-31725f008a50@ideasonboard.com
History 2023-09-20 13:54:08 +02:00
..
accel accel/qaic: Use devm_drm_dev_alloc() instead of drm_dev_alloc() 2023-09-15 09:37:07 -06:00
accessibility speakup: add HAS_IOPORT dependency for SPEAKUP_SERIALIO 2023-05-31 19:17:40 +01:00
acpi More ACPI updates for 6.5-rc1 2023-07-06 22:25:06 -07:00
amba ARM: tegra: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:50 -07:00
android Merge v6.4-rc4 into char-misc-next 2023-05-28 14:55:30 +01:00
ata driver core changes for 6.5-rc1 2023-07-03 12:56:23 -07:00
atm atm: idt77252: fix kmemleak when rmmod idt77252 2023-03-21 20:19:28 -07:00
auxdisplay auxdisplay: Remove flag FBINFO_FLAG_DEFAULT from fbdev drivers 2023-07-24 16:50:39 +02:00
base regmap-irq: Fix out-of-bounds access when allocating config buffers 2023-07-12 12:05:10 +01:00
bcma bcma: Add explicit of_device.h include 2023-04-14 15:32:56 +03:00
block Merge branch '6.5/scsi-staging' into 6.5/scsi-fixes 2023-07-11 12:15:15 -04:00
bluetooth Including fixes from bluetooth, bpf and wireguard. 2023-07-05 15:44:45 -07:00
bus SoC fixes for 6.5, part 1 2023-07-06 09:56:53 -07:00
cdrom cdrom/gdrom: Fix build error 2023-06-29 08:09:31 -06:00
cdx cdx: Replace custom mcdi logging with print_hex_dump_debug() 2023-06-15 13:42:16 +02:00
char virtio: features, fixes, cleanups 2023-07-03 15:38:26 -07:00
clk Another set of clk driver updates and fixes for the merge window. The 2023-07-04 11:07:45 -07:00
clocksource RISC-V Patches for the 6.5 Merge Window, Part 1 2023-06-30 09:37:26 -07:00
comedi comedi: make all 'class' structures const 2023-06-23 10:29:02 +02:00
connector connector/cn_proc: Use task_is_in_init_pid_ns() 2022-01-26 18:57:09 -08:00
counter First set of Counter updates for the 6.5 cycle 2023-06-15 13:07:59 +02:00
cpufreq cpufreq: sparc: Don't mark cpufreq callbacks with __init 2023-07-12 12:45:18 +02:00
cpuidle cpuidle: Use local_clock_noinstr() 2023-06-05 21:11:09 +02:00
crypto s390 updates for 6.5 merge window part 2 2023-07-06 13:18:30 -07:00
cxl cxl: Fix one kernel-doc comment 2023-06-29 16:03:58 -07:00
dax dax: enable dax fault handler to report VM_FAULT_HWPOISON 2023-06-26 07:54:23 -06:00
dca Mainly singleton patches all over the place. Series of note are: 2023-04-27 19:57:00 -07:00
devfreq PM / devfreq: mtk-cci: Fix variable deferencing before NULL check 2023-05-29 23:25:31 +09:00
dio drivers: dio: fix possible memory leak in dio_init() 2022-11-09 15:12:37 +01:00
dma dmaengine updates for v6.5 2023-07-06 09:48:31 -07:00
dma-buf dma-buf: Fix the typo in DMA-BUF statistics doc 2023-07-27 09:43:33 +02:00
edac - Add initial support for RAS hardware found on AMD server GPUs (MI200). 2023-06-26 15:09:18 -07:00
eisa EISA: Drop unused pci_bus_for_each_resource() index argument 2023-04-05 15:10:14 -05:00
extcon extcon: Switch i2c drivers back to use .probe() 2023-06-01 23:42:28 +09:00
firewire firewire: net: fix use after free in fwnet_finish_incoming_packet() 2023-06-24 14:03:46 +09:00
firmware drm-misc-next for v6.6: 2023-07-17 15:37:57 +02:00
fpga Char/Misc and other driver subsystem updates for 6.5-rc1 2023-07-03 12:46:47 -07:00
fsi driver core: make struct device_type.devnode() take a const * 2023-01-27 13:45:38 +01:00
gnss driver core: class: remove module * from class_create() 2023-03-17 15:16:33 +01:00
gpio Pin control changes for the v6.5 kernel cycle: 2023-06-30 14:57:19 -07:00
gpu drm/bridge: tc358768: Attempt to fix DSI horizontal timings 2023-09-20 13:54:08 +02:00
greybus greybus: Use alloc_ordered_workqueue() to create ordered workqueues 2023-05-08 13:52:27 -10:00
hid hid/picolcd: Use fb_ops helpers for deferred I/O 2023-09-05 14:14:01 +02:00
hsi HSI: omap_ssi_port: Drop error checking for debugfs_create_dir 2023-05-27 18:50:27 +02:00
hte Devicetree updates for v6.4, part 2: 2023-04-27 10:09:05 -07:00
hv x86/hyperv: Fix hyperv_pcpu_input_arg handling when CPUs go online/offline 2023-06-17 23:09:47 +00:00
hwmon driver core changes for 6.5-rc1 2023-07-03 12:56:23 -07:00
hwspinlock hwspinlock: omap: drop of_match_ptr for ID table 2023-06-14 08:15:24 -07:00
hwtracing Char/Misc and other driver subsystem updates for 6.5-rc1 2023-07-03 12:46:47 -07:00
i2c Part 2 of I2C patches for 6.5 2023-07-08 12:28:00 -07:00
i3c i3c: master: svc: add NACK check after start byte sent 2023-06-05 00:50:51 +02:00
idle intel_idle: Add __init annotation to matchup_vm_state_with_baremetal() 2023-06-28 19:09:55 +02:00
iio driver core changes for 6.5-rc1 2023-07-03 12:56:23 -07:00
infiniband v6.5 merge window RDMA pull request 2023-06-29 21:01:17 -07:00
input ARM: SoC changes for 6.5 2023-06-29 15:28:33 -07:00
interconnect Merge branch 'icc-qos' into icc-next 2023-06-10 10:43:50 +03:00
iommu iommu/sva: Fix signedness bug in iommu_sva_alloc_pasid() 2023-07-14 14:53:19 +02:00
ipack Driver core changes for 6.3-rc1 2023-02-24 12:58:55 -08:00
irqchip RISC-V Patches for the 6.5 Merge Window, Part 1 2023-06-30 09:37:26 -07:00
isdn mISDN: add HAS_IOPORT dependencies 2023-05-31 19:17:40 +01:00
leds - New Drivers 2023-07-03 11:26:05 -07:00
macintosh macintosh: Use of_property_read_reg() to parse "reg" 2023-06-21 14:08:54 +10:00
mailbox mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0 2023-06-30 17:35:45 -05:00
mcb mcb-lpc: Reallocate memory region to avoid memory overlapping 2023-04-20 14:24:01 +02:00
md hardening fixes for v6.5-rc1 2023-07-08 12:08:39 -07:00
media media/vivid: Use fbdev I/O helpers 2023-08-04 15:54:34 +02:00
memory asm-generic updates for 6.5 2023-07-06 10:06:04 -07:00
memstick memstick r592: make memstick_debug_get_tpc_name() static 2023-06-12 15:16:19 +02:00
message scsi: message: fusion: Add HAS_IOPORT dependencies 2023-05-31 19:59:26 -04:00
mfd - New Drivers 2023-07-03 10:55:04 -07:00
misc Char/Misc and other driver subsystem updates for 6.5-rc1 2023-07-03 12:46:47 -07:00
mmc mmc: Revert "mmc: core: Allow mmc_start_host() synchronously detect a card" 2023-06-30 14:06:51 +02:00
most staging: most: Replace all non-returning strlcpy with strscpy 2023-06-01 07:07:37 -07:00
mtd Core MTD changes: 2023-06-28 14:02:03 -07:00
mux mux: adg792a: Switch back to use i2c_driver's .probe() 2023-06-15 13:42:18 +02:00
net Networking fixes for 6.5-rc2, including fixes from netfilter, 2023-07-13 14:21:22 -07:00
nfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-06-22 18:40:38 -07:00
ntb ntb: hw: amd: Fix debugfs_create_dir error checking 2023-07-08 13:55:44 -04:00
nubus nubus: Don't list slot resources by default 2023-05-22 13:51:56 +02:00
nvdimm dax: enable dax fault handler to report VM_FAULT_HWPOISON 2023-06-26 07:54:23 -06:00
nvme SCSI fixes on 20230714 2023-07-14 19:57:29 -07:00
nvmem nvmem: rmem: Use NVMEM_DEVID_AUTO 2023-06-15 13:42:18 +02:00
of of: property: fw_devlink: Add a devlink for panel followers 2023-08-01 07:38:47 -07:00
opp OPP: Properly propagate error along when failing to get icc_path 2023-06-27 07:35:14 +05:30
parisc parisc: Move init function declarations into header file 2023-06-30 17:14:15 +02:00
parport Char/Misc and other driver subsystem updates for 6.5-rc1 2023-07-03 12:46:47 -07:00
pci Fixes for pci_clean_master, error handling in driver inits, and various 2023-07-09 09:35:51 -07:00
pcmcia pcmcia: rsrc_nonstatic: Fix memory leak in nonstatic_release_resource_db() 2023-06-15 13:42:18 +02:00
peci driver core: bus: mark the struct bus_type for sysfs callbacks as constant 2023-03-23 13:20:40 +01:00
perf perf: RISC-V: Remove PERF_HES_STOPPED flag checking in riscv_pmu_start() 2023-07-12 07:41:23 -07:00
phy phy-for-6.5-v2 2023-07-05 21:38:13 -07:00
pinctrl pinctrl: renesas: Fixes for v6.5 2023-07-13 00:05:52 +02:00
platform platform/x86: touchscreen_dmi: Add info for the Archos 101 Cesium Educ tablet 2023-07-11 12:15:30 +02:00
pnp PCI: Introduce pci_dev_for_each_resource() 2023-04-04 10:43:52 -05:00
power power supply and reset changes for the 6.5 series 2023-07-03 17:23:16 -07:00
powercap ARM: SoC drivers for 6.5 2023-06-29 15:22:19 -07:00
pps driver core: class: remove module * from class_create() 2023-03-17 15:16:33 +01:00
ps3 driver/ps3: Include <video/cmdline.h> for mode parsing 2023-02-20 14:56:51 +01:00
ptp ptp: Make max_phase_adjustment sysfs device attribute invisible when not supported 2023-07-03 13:17:25 -07:00
pwm pwm: Changes for v6.5-rc1 2023-07-05 12:55:06 -07:00
rapidio Mainly singleton patches all over the place. Series of note are: 2023-04-27 19:57:00 -07:00
ras ras/debugfs: Fix error checking for debugfs_create_dir() 2023-05-16 21:12:23 +02:00
regulator regulator: Fix for v6.5 2023-07-06 19:20:23 -07:00
remoteproc remoteproc updates for v6.5 2023-07-03 17:03:05 -07:00
reset ARM: SoC drivers for 6.5 2023-06-29 15:22:19 -07:00
rpmsg Driver core changes for 6.4-rc1 2023-04-27 11:53:57 -07:00
rtc RTC for 6.5 2023-07-03 10:43:10 -07:00
s390 Networking fixes for 6.5-rc2, including fixes from netfilter, 2023-07-13 14:21:22 -07:00
sbus oradax: make 'cl' a static const structure 2023-06-23 10:27:02 +02:00
scsi scsi: storvsc: Handle SRB status value 0x30 2023-07-11 12:38:49 -04:00
sh sh: intc: move to use bus_get_dev_root() 2023-03-17 15:29:55 +01:00
siox siox: fix possible memory leak in siox_device_add() 2022-11-09 15:40:14 +01:00
slimbus driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
soc USB / Thunderbolt driver updates for 6.5-rc1 2023-07-03 13:23:10 -07:00
soundwire soundwire: stream: Make master_list ordered to prevent deadlocks 2023-06-21 16:31:45 +05:30
spi spi: Fixes for v6.5 2023-07-15 08:51:02 -07:00
spmi spmi: Add a check for remove callback when removing a SPMI driver 2023-04-20 14:16:39 +02:00
ssb driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
staging staging/fbtft: Use fb_ops helpers for deferred I/O 2023-09-05 14:14:04 +02:00
target SCSI misc on 20230708 2023-07-08 12:35:18 -07:00
tc The main MIPS changes for 5.6: 2020-01-31 11:28:31 -08:00
tee ARM: SoC drivers for 6.5 2023-06-29 15:22:19 -07:00
thermal Thermal control updates for 6.5-rc1 2023-06-26 19:41:26 -07:00
thunderbolt thunderbolt: Add test case for 3 DisplayPort tunnels 2023-06-16 09:53:29 +03:00
tty TTY/Serial driver updates for 6.5-rc1. 2023-07-03 13:14:58 -07:00
ufs Merge branch '6.5/scsi-staging' into 6.5/scsi-fixes 2023-07-11 12:15:15 -04:00
uio uio: dfl: add vendor-specific feature id 2023-05-31 19:00:37 +01:00
usb USB / Thunderbolt driver updates for 6.5-rc1 2023-07-03 13:23:10 -07:00
vdpa virtio: features, fixes, cleanups 2023-07-03 15:38:26 -07:00
vfio VFIO updates for v6.5-rc1 2023-06-30 15:22:09 -07:00
vhost virtio: features, fixes, cleanups 2023-07-03 15:38:26 -07:00
video fbdev/core: Clean up include statements in fbmem.c 2023-09-11 15:12:38 +02:00
virt workqueue: Ordered workqueue creation cleanups 2023-06-27 16:46:06 -07:00
virtio virtio: allow caller to override device DMA mask in vp_modern 2023-06-27 10:47:08 -04:00
vlynq bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
w1 w1: Replace usage of found with dedicated list iterator variable 2023-05-13 21:15:02 +02:00
watchdog watchdog: sp5100_tco: support Hygon FCH/SCH (Server Controller Hub) 2023-06-26 14:30:07 +02:00
xen xen: branch for v6.5-rc2 2023-07-13 13:39:36 -07:00
zorro driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
Kconfig video: Add auxiliary display drivers to Graphics support menu 2023-07-22 12:24:22 +02:00
Makefile cdx: add the cdx bus driver 2023-03-29 12:26:32 +02:00