[Letux-kernel] omapdrm: Pandora Blues

H. Nikolaus Schaller hns at goldelico.com
Mon Nov 6 15:04:29 CET 2017


Hi,
some time after upgrading to 4.14-rc* I tried to boot the OpenPandora.
It turned out that the display panel has a bug - it only shows black/blue colors
instead of RGB.

Some tests revealed that something happened between 4.13.0 and 4.14-rc1.
Here are screen photos:

4.13.0:   http://download.goldelico.com/letux-kernel/files/thumb_DSC00812_1024.jpeg
4.14-rc1: http://download.goldelico.com/letux-kernel/files/thumb_DSC00813_1024.jpeg

But only for the OpenPandora. For the GTA04 it works.

Well, the GTA04 is using a different panel "toppoly,td028ttec1"
and driver instead of "omapdss,tpo,td043mtea1".
[BTW: there seems to be some mixup of "compatible" schemes].

And there is also another difference between both: the Pandora 600MHz uses an
OMAP3530 while the GTA04 uses a DM3730.

So something has become incompatible with *some* DPI panel drivers.

After more than a week of bisecting in parallel to important other tasks
(it takes ca. 30-60 minutes for each run to add local patches, compile,
install, boot, check results - just to find some "[drm:omap_crtc_error_irq] *ERROR* lcd: errors: 00004000"),
I ended up with a specific result:


iMac:master hns$ git bisect bad
d178e034d5653edfbd16d0c71eeeed467e33c96f is the first bad commit
commit d178e034d5653edfbd16d0c71eeeed467e33c96f
Author: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Date:   Sat Aug 5 01:44:12 2017 +0300

   drm: omapdrm: Move FEAT_DPI_USES_VDDS_DSI feature to dpi code

   The FEAT_DPI_USES_VDDS_DSI feature is specific to the DPI, move it from
   the omap_dss_features structure to the dpi code.

   Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
   Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>

:040000 040000 f8231d6c016e5f936908f535539d9cdbd184d596 b5ed25dd77bd2508688ca4047e3d421ff6f1e40f M	drivers
iMac:master hns$ git bisect log
git bisect start
# good: [569dbb88e80deb68974ef6fdd6a13edb9d686261] Linux 4.13
git bisect good 569dbb88e80deb68974ef6fdd6a13edb9d686261
# bad: [2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e] Linux 4.14-rc1
git bisect bad 2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e
# bad: [aae3dbb4776e7916b6cd442d00159bea27a695c1] Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
git bisect bad aae3dbb4776e7916b6cd442d00159bea27a695c1
# bad: [bf1d6b2c76eda86159519bf5c427b1fa8f51f733] Merge tag 'staging-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
git bisect bad bf1d6b2c76eda86159519bf5c427b1fa8f51f733
# bad: [edc2988c548db05e33b921fed15821010bc74895] Merge branch 'linus' into locking/core, to fix up conflicts
git bisect bad edc2988c548db05e33b921fed15821010bc74895
# skip: [e5fa05b96b02f45a91a364d2121451a4da05cd84] Merge branch 'etnaviv/next' of https://git.pengutronix.de/git/lst/linux into drm-next
git bisect skip e5fa05b96b02f45a91a364d2121451a4da05cd84
# skip: [d0b83d413f2254484d8e359c3eee2f0ca846e231] drm/amdgpu: add MJPEG check for UVD physical mode msg buffer
git bisect skip d0b83d413f2254484d8e359c3eee2f0ca846e231
# good: [4734b4f417126e8773b3983122ca935d02af80de] IB/rdmavt: Add QP iterator API for QPs
git bisect good 4734b4f417126e8773b3983122ca935d02af80de
# good: [bbfb6ce86c9889a5d434e2e603d41e0ce5b552e2] drm/i915: Implement .get_format_info() hook for CCS
git bisect good bbfb6ce86c9889a5d434e2e603d41e0ce5b552e2
# skip: [735f463af70e9601881ec879961ec42aef051733] Merge tag 'drm-intel-next-2017-08-18' of git://anongit.freedesktop.org/git/drm-intel into drm-next
git bisect skip 735f463af70e9601881ec879961ec42aef051733
# skip: [cfcfb65ad15a1b43cf5cd434c57966fae03db96b] Merge tag 'drm-msm-next-2017-08-22' of git://people.freedesktop.org/~robclark/linux into drm-next
git bisect skip cfcfb65ad15a1b43cf5cd434c57966fae03db96b
# good: [eacf3e149ea64c550925b4635f854062bb535005] drm/amdgpu: make wb 256bit function names consistent
git bisect good eacf3e149ea64c550925b4635f854062bb535005
# skip: [ab7c16486707f86264c73b043327c70866236722] drm/amdkfd: Fix goto usage v2
git bisect skip ab7c16486707f86264c73b043327c70866236722
# good: [ba4dd71828bce7dfa46a5e6e33e2605f65d16534] drm/msm: add modeset module param
git bisect good ba4dd71828bce7dfa46a5e6e33e2605f65d16534
# good: [9b756a9d07fd34be189ccc3d3fc6dfc686e532fb] scripts/sphinx-pre-install: add minimum support for RHEL
git bisect good 9b756a9d07fd34be189ccc3d3fc6dfc686e532fb
# skip: [34c3db6c22a0c770c6c9a4c4e6462ee4baa64b30] drm/exynos/decon5433: refactor irq requesting code
git bisect skip 34c3db6c22a0c770c6c9a4c4e6462ee4baa64b30
# good: [6aeeadab79e1d67ebb275dc4735bbbded252f637] drm/cirrus: switch to drm_*_get(), drm_*_put() helpers
git bisect good 6aeeadab79e1d67ebb275dc4735bbbded252f637
# skip: [c2cade3dd15914b13de5e6d8c6241ed7919475ed] drm/amdgpu: Disable GFX PG on CZ
git bisect skip c2cade3dd15914b13de5e6d8c6241ed7919475ed
# good: [384548e569c82dc1e018dcdfd7e19c4b9f87c6b5] hwmon: (it87) Reapply probe path chip registers settings after resume
git bisect good 384548e569c82dc1e018dcdfd7e19c4b9f87c6b5
# good: [b416bf14bdd2019ed62b1a20876a33cf2480bbfd] drm/amdgpu: ignore digest_size when loading sdma fw for raven
git bisect good b416bf14bdd2019ed62b1a20876a33cf2480bbfd
# good: [18daeb8e978241ca9fcf874a1c5ad9a628beddd7] drm: omapdrm: dss: Select features based on compatible string
git bisect good 18daeb8e978241ca9fcf874a1c5ad9a628beddd7
# skip: [eba5e56db65b7a44d57a98f5f382b2a2b9991321] drm/nouveau/disp/gf119-: avoid creating non-existent heads
git bisect skip eba5e56db65b7a44d57a98f5f382b2a2b9991321
# good: [825a51a4af82fd90c1fd98b080439d8593972457] IB/rxe: Fix up rxe_qp_cleanup()
git bisect good 825a51a4af82fd90c1fd98b080439d8593972457
# skip: [ef369904aaf717e0390b483efd47daba9ba8ddf2] drm/vmwgfx: Move irq bottom half processing to threads
git bisect skip ef369904aaf717e0390b483efd47daba9ba8ddf2
# good: [7a3b68b9075cf9b67692bb97497740bab1dfab41] hwmon: (ltq-cputemp) add devicetree bindings documentation
git bisect good 7a3b68b9075cf9b67692bb97497740bab1dfab41
# skip: [4ab4016aaf82153d144fa678cd6b4b5b6f25ed70] drm/amdgpu: drop the extra VM huge page flag v2
git bisect skip 4ab4016aaf82153d144fa678cd6b4b5b6f25ed70
# good: [0aa1125fa8bc5e5f98317156728fa4d0293561a5] locking/rwsem-spinlock: Add killable versions of __down_read()
git bisect good 0aa1125fa8bc5e5f98317156728fa4d0293561a5
# good: [ce07a9415f266e181a0a33033a5f7138760240a4] locking/lockdep: Make check_prev_add() able to handle external stack_trace
git bisect good ce07a9415f266e181a0a33033a5f7138760240a4
# skip: [8eabaf54cfb34d185b7c9684bc891397d757d15e] drm/amdkfd: Clean up KFD style errors and warnings v2
git bisect skip 8eabaf54cfb34d185b7c9684bc891397d757d15e
# good: [d1f08d82176246c6d8a2f1dc26be3638ed4a6083] drm/msm/mdp5: mark runtime_pm functions as __maybe_unused
git bisect good d1f08d82176246c6d8a2f1dc26be3638ed4a6083
# good: [c1aa3871fa0f676559f6d0cb6941e5f4ce7de306] Documentation: stable-kernel-rules: fix broken git urls
git bisect good c1aa3871fa0f676559f6d0cb6941e5f4ce7de306
# skip: [7c0059dd832cc686bf0febefdcf8295cdd93007f] Merge branch 'linux-4.14' of git://github.com/skeggsb/linux into drm-next
git bisect skip 7c0059dd832cc686bf0febefdcf8295cdd93007f
# good: [ccba59197a430ee4c295ee8f4b127c6dea954501] drm/i915/guc: Rename GuC irq trigger function
git bisect good ccba59197a430ee4c295ee8f4b127c6dea954501
# bad: [7ebdb0dd52404907b8eac2bab476b43a8b8aa9f1] Merge tag 'exynos-drm-next-for-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next
git bisect bad 7ebdb0dd52404907b8eac2bab476b43a8b8aa9f1
# skip: [a0aeb3b2ac3ff0608f1bc3fb46332148856d3276] Merge tag 'drm-amdkfd-next-2017-08-18' of git://people.freedesktop.org/~gabbayo/linux into drm-next
git bisect skip a0aeb3b2ac3ff0608f1bc3fb46332148856d3276
# good: [3164e4e31a7ff7024d493553d22bca09c463a28f] drm/qxl: Use the drm_driver.dumb_destroy default
git bisect good 3164e4e31a7ff7024d493553d22bca09c463a28f
# bad: [3aadb888b1b62ba04798414cae431d3c3bd5f452] Merge tag 'drm/tegra/for-4.14-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next
git bisect bad 3aadb888b1b62ba04798414cae431d3c3bd5f452
# skip: [33476319c0e8b3543c27d883e7a478ceb8648f80] drm/amdgpu: bump version for support of UVD MJPEG decode
git bisect skip 33476319c0e8b3543c27d883e7a478ceb8648f80
# skip: [739a6d5d640a9811beef6a828253ee184dd431c5] drm: omapdrm: Remove omapdrm platform data
git bisect skip 739a6d5d640a9811beef6a828253ee184dd431c5
# good: [efa479352fc780b305fa186cafb5f416fdf2b2cb] drm/nouveau: Fix merge commit
git bisect good efa479352fc780b305fa186cafb5f416fdf2b2cb
# skip: [3f4f46f624fe1cc38a37690b85723e557d858188] drm/amdkfd: Fix typo in dbgdev_wave_reset_wavefronts
git bisect skip 3f4f46f624fe1cc38a37690b85723e557d858188
# skip: [f91ac470a8b1b358e9c2c7dc17da2642d125c3ac] drm/etnaviv: reduce allocation failure message severity
git bisect skip f91ac470a8b1b358e9c2c7dc17da2642d125c3ac
# skip: [c76cf869669eff8fa73bc0f56c87cd4d6d2e66df] drm/amdkfd: Remove bogus divide-by-sizeof(uint32_t)
git bisect skip c76cf869669eff8fa73bc0f56c87cd4d6d2e66df
# skip: [8cc47b3ea0822175deb8bf436e4c59a7f128ac30] drm/etnaviv: populate GEM objects on cpu_prep
git bisect skip 8cc47b3ea0822175deb8bf436e4c59a7f128ac30
# skip: [dbcca4aab1b2e1983e5432cb2a1d4f5f1d8b4750] drm/amdgpu: fix Vega10 HW config for 2MB pages
git bisect skip dbcca4aab1b2e1983e5432cb2a1d4f5f1d8b4750
# good: [7d1a2bf41f06b360724f9b2156cc8a2da816b15c] drm/sun4i: Remove useless atomic_check
git bisect good 7d1a2bf41f06b360724f9b2156cc8a2da816b15c
# skip: [6a1c9510694fe1e901a3b5b53386eac069adcea6] drm/amdkfd: Adding new IOCTL for scratch memory v2
git bisect skip 6a1c9510694fe1e901a3b5b53386eac069adcea6
# skip: [97cbb28451c21212cc20f2a5e6c074ba33150c3d] drm/amdgpu: move debug print into the MM managers
git bisect skip 97cbb28451c21212cc20f2a5e6c074ba33150c3d
# good: [7664b2fa42b5e962dd9ffd9e386dc20cbc966176] drm/tegra: switch to drm_*_get(), drm_*_put() helpers
git bisect good 7664b2fa42b5e962dd9ffd9e386dc20cbc966176
# skip: [27c7b9aeecd7c06a3b527795807c19a0bbe25c1e] drm/amdgpu: rename VM invalidated to moved
git bisect skip 27c7b9aeecd7c06a3b527795807c19a0bbe25c1e
# good: [9df1baa1732a9ac125126087ffc848d6a3e08fdf] MAINTAINERS: Add drm/tinydrm maintainer entry
git bisect good 9df1baa1732a9ac125126087ffc848d6a3e08fdf
# skip: [111159b58d72e2f0e5c0e95fefb46415f996f19f] drm/amdgpu: Program SH_STATIC_MEM_CONFIG globally, not per-VMID
git bisect skip 111159b58d72e2f0e5c0e95fefb46415f996f19f
# skip: [70539bd79500245cbb4c7af00572fcce540d0105] drm/amd: Update MEC HQD loading code for KFD
git bisect skip 70539bd79500245cbb4c7af00572fcce540d0105
# skip: [2419672f4c96ca678a95d0f733f44d3ee036b5c8] drm/omap: Potential NULL deref in omap_crtc_duplicate_state()
git bisect skip 2419672f4c96ca678a95d0f733f44d3ee036b5c8
# skip: [e618d306ded38dc9d37c04dc37e24bf9d62e9c7b] drm/amd/amdgpu: store fragment_size in vm_manager
git bisect skip e618d306ded38dc9d37c04dc37e24bf9d62e9c7b
# skip: [f5af512e0f11e7895973440857b99170f68bbd5b] drm/radeon: Return dword offsets of address watch registers
git bisect skip f5af512e0f11e7895973440857b99170f68bbd5b
# good: [9cbcbdbaff9e5dbf1b8f4eb28b4f0e18e0f36bbc] drm/sun4i: tcon: remove unused function
git bisect good 9cbcbdbaff9e5dbf1b8f4eb28b4f0e18e0f36bbc
# skip: [a35ebc8c12cc724022f39b32ffb17f63ff16effd] drm/amdgpu: only bind VM shadows after validation v2
git bisect skip a35ebc8c12cc724022f39b32ffb17f63ff16effd
# good: [24ab1df3665e52eda64508a2bf7c2cc688285ccc] drm: omapdrm: dss: Use supported outputs instead of display types
git bisect good 24ab1df3665e52eda64508a2bf7c2cc688285ccc
# skip: [438e29a25b451297a93ebd2b3c3004fa0f9ff4cd] drm/amdgpu: Remove hard-coded assumptions about compute pipes
git bisect skip 438e29a25b451297a93ebd2b3c3004fa0f9ff4cd
# good: [11765d163c972a68db02b41d7ad107f5baf5f4b1] drm: omapdrm: Move all debugfs code from core to dss
git bisect good 11765d163c972a68db02b41d7ad107f5baf5f4b1
# skip: [09e56abbc67e364c3810f8454223918c82b4934a] drm/amdgpu: Add kgd/kfd interface to support scratch memory v2
git bisect skip 09e56abbc67e364c3810f8454223918c82b4934a
# skip: [4eacc26b3b99c32deed150adff5e38ebce60527c] drm/amdkfd: Change x==NULL/false references to !x
git bisect skip 4eacc26b3b99c32deed150adff5e38ebce60527c
# skip: [63f5677544b3672979222fecef32c21e5131072b] drm/etnaviv: select CMA and DMA_CMA if available
git bisect skip 63f5677544b3672979222fecef32c21e5131072b
# skip: [dbf56ab11a09550c00edb84fc4b2197350154e99] drm/amdkfd: Remove usage of alloc(sizeof(struct...
git bisect skip dbf56ab11a09550c00edb84fc4b2197350154e99
# good: [37899a5254917e17418bbb23086d55e38faaa659] drm/amdgpu/gfx7: fix function name
git bisect good 37899a5254917e17418bbb23086d55e38faaa659
# skip: [c0573af349f649516863254fad386175777d5672] drm/amdgpu: SHADOW and VRAM_CONTIGUOUS flags shouldn't be used by userspace
git bisect skip c0573af349f649516863254fad386175777d5672
# good: [2c9fc9bf45f854c3bad88ffaf9c1d0fc75d02440] drm: omapdrm: Move FEAT_HDMI_* features to hdmi4 driver
git bisect good 2c9fc9bf45f854c3bad88ffaf9c1d0fc75d02440
# bad: [df9bcb0652bbfde1b37bda98f0ad1fa7fda46d67] drm/ttm: use reservation_object_trylock in ttm_bo_individualize_resv v2
git bisect bad df9bcb0652bbfde1b37bda98f0ad1fa7fda46d67
# skip: [8824c751eb61ebffb053c291199932845bac88b4] Merge tag 'omapdrm-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux into drm-next
git bisect skip 8824c751eb61ebffb053c291199932845bac88b4
# skip: [1a33860d630c9cb4687ad01bda5651e96bad3694] drm/ttm: remove nonsense wait in ttm_bo_cleanup_refs_and_unlock
git bisect skip 1a33860d630c9cb4687ad01bda5651e96bad3694
# bad: [ba63b6352c753f592e35b6b828f9ffd4e9ac6aa1] drm: omapdrm: hdmi: Configure the PLL from the HDMI core version
git bisect bad ba63b6352c753f592e35b6b828f9ffd4e9ac6aa1
# bad: [51919572c89a0c5dcf0cfff4ba4b36e175f091c7] drm: omapdrm: Move supported outputs feature to dss driver
git bisect bad 51919572c89a0c5dcf0cfff4ba4b36e175f091c7
# bad: [1ac0c894032692d3cb25583e33ceaea78cc8ab4b] drm: omapdrm: Move FEAT_* features to dispc driver
git bisect bad 1ac0c894032692d3cb25583e33ceaea78cc8ab4b
# bad: [4569ab757f09b9b6a3dd4eda2b0b37c7f5535e6d] drm: omapdrm: Move FEAT_LCD_CLK_SRC feature to dss_features structure
git bisect bad 4569ab757f09b9b6a3dd4eda2b0b37c7f5535e6d
# bad: [d178e034d5653edfbd16d0c71eeeed467e33c96f] drm: omapdrm: Move FEAT_DPI_USES_VDDS_DSI feature to dpi code
git bisect bad d178e034d5653edfbd16d0c71eeeed467e33c96f
# first bad commit: [d178e034d5653edfbd16d0c71eeeed467e33c96f] drm: omapdrm: Move FEAT_DPI_USES_VDDS_DSI feature to dpi code
iMac:master hns$ 


Any ideas where to look what this patch did break and how to fix it?

BR and thanks,
Nikolaus



More information about the Letux-kernel mailing list