Re: drm: imx: callback after probe deferral not working

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 02/01/2016 07:11 AM, Liviu Dudau wrote:
On Fri, Jan 29, 2016 at 05:12:28PM -0500, Akshay Bhat wrote:


On 01/28/2016 05:29 PM, Rob Clark wrote:
can't really say if that is the issue in this case, but these are the
symptoms you'd see if the kernel was built without some driver that
imx-drm depends on[1].  The kernel will only try to reprobe a driver
if some other driver has loaded since it last deferred (otherwise, it
would be pointless, you'd just -EPROBE_DEFER again).

[1] which is a really annoying thing about devicetree..  there's no
good way to figure out which drivers need to be enabled in kernel
config..

BR,
-R


I agree a missing driver would show the symptoms I am seeing. However I have
verified this is not the case by moving i2c above gpu in the makefile and
keeping everything else the same. This results in the i2c mux driver init
(pca9547) being called before the drm init and everything works fine in that
case (indicates no missing driver).

Also from the original log you can see that there are a lot of modules that
are loaded after the drm driver does a probe defer, yet there is no entries
in the bootlog for the drm driver being re-probed. In the next-20151202
kernel log you can see it being re-probed. This points to the drm probe
deferral being broken.

Thanks for your input, any other ideas are welcome.

I think your problem is similar to what Tixy has found when testing HDLCD,
which also uses the components API. He has posted a patch here:

http://www.spinics.net/lists/arm-kernel/msg477090.html

Russell has added it to his branch, seems to be available in linux-next
as commit 57480484f9f7631738ef2.

Best regards,
Liviu


Liviu,

I re-tested with next-20160201 which contains the above patch and still see the issue where the re-probe does not work.

Thanks,
Akshay

dmesg | grep -i 'drm \| pca'
[    1.266320] [drm] Initialized drm 1.1.0 20060810
[ 1.437590] imx-drm display-subsystem: bound imx-ipuv3-crtc.2 (ops ipu_crtc_ops) [ 1.445237] imx-drm display-subsystem: bound imx-ipuv3-crtc.3 (ops ipu_crtc_ops) [ 1.452856] imx-drm display-subsystem: bound imx-ipuv3-crtc.6 (ops ipu_crtc_ops) [ 1.460453] imx-drm display-subsystem: bound imx-ipuv3-crtc.7 (ops ipu_crtc_ops) [ 1.468188] imx-drm display-subsystem: failed to bind 120000.hdmi (ops dw_hdmi_imx_ops): -517
[    1.479742] imx-drm display-subsystem: master bind failed: -517
[ 2.169468] pca954x 0-0070: registered 8 multiplexed busses for I2C mux pca9547 [ 2.223390] pca954x 1-0070: registered 8 multiplexed busses for I2C mux pca9547

dmesg |head -n2
[    0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.5.0-rc1-next-20160201-00007-g3c1226b (nodeax@timesysab) (gcc version 4.8.5 (Timesys 20150713) ) #168 SMP Mon Feb 1 13:12:04 EST 2016

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




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux