[PATCH] firmware/raspberrypi: raise timeout to 3s
Etienne Buira
etienne.buira at free.fr
Thu May 15 02:44:23 PDT 2025
Hi Stefan, and thank you for your interest.
On Thu, May 15, 2025 at 09:42:43AM +0200, Stefan Wahren wrote:
> Hi Etienne,
>
> Am 15.05.25 um 08:41 schrieb Etienne Buira:
> > On Wed, May 14, 2025 at 06:20:32PM +0200, Stefan Wahren wrote:
> >> Hi Etienne,
> >>
> >> Am 12.05.25 um 18:30 schrieb Etienne Buira:
> > ../..
> >> Out of curiosity and because i never saw this issue, could you please
> >> provide more details?
> >> There is nothing connected to HDMI 0 & 1 ?
> >> Which firmware version are you running?
> Please provide the dmesg output, so we can extract the firmware version.
Firmware version is 2025-02-17T20:03:07, i also attach the full gzipped
dmesg, as long as a patch of extra traces used.
I did not specifically test other firmware versions for the timeout
issue (but i did for video output).
> >> Do you use a special configuration?
> In this case, i meant the kernel configuration. Do you use
> arm64/defconfig or arm/multi_v7_lpae_defconfig or a custom one?
I use a custom one, attached.
> Do you use U-Boot or not?
No, i only use raspberry firmware/loader.
> > Hi Stefan
> >
> > There is nothing very special, hdmi0 is connected to a monitor, there's
> Did you tried to connect a different monitor? Does the timeout still occurs?
Just tried another monitor, and yes, timeout occurs without the patch.
Both monitors showed something when driven by firmware and
simple-framebuffer.
Regards.
>
> Best regards
> > a (independantly powered) hdd on usb3, keyboard/mouse on usb2 ports, a
> > Gb network wire, UART, and nothing else.
> >
> > The afore-mentioned next failure is also about graphic stack (hdmi
> > signal is lost as soon as VC4 driver loads), i seeked for help here:
> > https://lists.freedesktop.org/archives/dri-devel/2025-May/505475.html
> > (btw, if you have a hint...).
> >
> > Regards.
> >
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config.gz
Type: application/gzip
Size: 36657 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-rpi-kernel/attachments/20250515/d9e84b7e/attachment.gz>
-------------- next part --------------
diff --git a/drivers/gpu/Makefile b/drivers/gpu/Makefile
index 36a54d456630..f9eb851f72bc 100644
--- a/drivers/gpu/Makefile
+++ b/drivers/gpu/Makefile
@@ -6,3 +6,6 @@ obj-y += host1x/ drm/ vga/
obj-$(CONFIG_IMX_IPUV3_CORE) += ipu-v3/
obj-$(CONFIG_TRACE_GPU_MEM) += trace/
obj-$(CONFIG_NOVA_CORE) += nova-core/
+
+subdir-ccflags-y += -DDEBUG
+
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 13bc4c290b17..cc3bc4b78770 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -1906,8 +1906,12 @@ static void edid_block_status_print(enum edid_block_status status,
const struct edid *block,
int block_num)
{
+ pr_info("EDID: block_status_print, backtrace:");
+ dump_stack();
+
switch (status) {
case EDID_BLOCK_OK:
+ pr_debug("EDID block %d read ok\n", block_num);
break;
case EDID_BLOCK_READ_FAIL:
pr_debug("EDID block %d read failed\n", block_num);
@@ -3576,6 +3580,7 @@ static struct drm_display_mode *drm_mode_detailed(struct drm_connector *connecto
mode->type = DRM_MODE_TYPE_DRIVER;
drm_mode_set_name(mode);
+ drm_dbg_kms(dev, "EDID: added mode %s\n", mode->name);
return mode;
}
@@ -3931,6 +3936,8 @@ static int add_established_modes(struct drm_connector *connector,
drm_for_each_detailed_block(drm_edid, do_established_modes,
&closure);
+ drm_dbg_kms(dev, "EDID: established %d modes\n", modes + closure.modes);
+
return modes + closure.modes;
}
@@ -3987,6 +3994,7 @@ static int add_standard_modes(struct drm_connector *connector,
&closure);
/* XXX should also look for standard codes in VTB blocks */
+ drm_dbg_kms(connector->dev, "EDID: added %d standard modes\n", modes + closure.modes);
return modes + closure.modes;
}
diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c
index c7cb1e3a6434..804660d05146 100644
--- a/drivers/gpu/drm/vc4/vc4_drv.c
+++ b/drivers/gpu/drm/vc4/vc4_drv.c
@@ -361,8 +361,10 @@ static int vc4_drm_bind(struct device *dev)
}
ret = aperture_remove_all_conflicting_devices(driver->name);
- if (ret)
+ if (ret) {
+ drm_warn(drm, "Error during aperture_remove_all_conflicting_devices\n");
goto err;
+ }
if (firmware) {
ret = rpi_firmware_property(firmware,
diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
index f5642b3038e4..5f2d30a349ae 100644
--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -3771,6 +3771,9 @@ static int do_bind_con_driver(const struct consw *csw, int first, int last,
struct con_driver *con_driver;
int i, j = -1, k = -1, retval = -ENODEV;
+ pr_info("Console: do_bind_con_driver, backtrace:");
+ dump_stack();
+
if (!try_module_get(owner))
return -ENODEV;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dmesg.gz
Type: application/gzip
Size: 10383 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-rpi-kernel/attachments/20250515/d9e84b7e/attachment-0001.gz>
More information about the linux-rpi-kernel
mailing list