https://bugzilla.kernel.org/show_bug.cgi?id=205169
Bug ID: 205169
Summary: AMDGPU driver with Navi card hangs Xorg in fullscreen
only.
Product: Drivers
Version: 2.5
Kernel Version: 5.4.0-rc2
Hardware: x86-64
OS: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: Video(DRI - non Intel)
Assignee: drivers_video-dri(a)…
[View More]kernel-bugs.osdl.org
Reporter: drjoms(a)gmail.com
Regression: No
I have another problem logged with Navi + AMDGPU drivers. It's triggered
independently and reliable.
https://bugzilla.kernel.org/show_bug.cgi?id=204725
With that said, starting strictly and specifically with kernel version 5.4.0* I
have new problem.
I successfully load into Xorg. I can start OpenGL and Vulkan games in non full
screen. But once I start them - input devices hang, screen freezes. Machine is
responsive over SSH/ethernet. I can raise skinny elephants.
I tried opening a few games in non full screen mode and in full screen mode.
And i reliably hit bug everytime anything with OpenGL goes full screen on
native resolution of the screen.
I noticed, issue is less likely to happen if program goes full screen in non
native resolution.
I will attach details in files for DMESG, lsmod and some other things directly
as message, if they are short enough.
--
You are receiving this mail because:
You are watching the assignee of the bug.
[View Less]
This adds a RPMsg driver that implements communication between the CPU and an
APU.
This uses VirtIO buffer to exchange messages but for sharing data, this uses
a dmabuf, mapped to be shared between CPU (userspace) and APU.
The driver is relatively generic, and should work with any SoC implementing
hardware accelerator for AI if they use support remoteproc and VirtIO.
For the people interested by the firmware or userspace library,
the sources are available here:
https://github.com/BayLibre/open-…
[View More]amp/tree/v2020.01-mtk/apps/examples/apu
Alexandre Bailon (3):
Add a RPMSG driver for the APU in the mt8183
rpmsg: apu_rpmsg: update the way to store IOMMU mapping
rpmsg: apu_rpmsg: Add an IOCTL to request IOMMU mapping
Julien STEPHAN (1):
rpmsg: apu_rpmsg: Add support for async apu request
drivers/rpmsg/Kconfig | 9 +
drivers/rpmsg/Makefile | 1 +
drivers/rpmsg/apu_rpmsg.c | 752 +++++++++++++++++++++++++++++++++
drivers/rpmsg/apu_rpmsg.h | 52 +++
include/uapi/linux/apu_rpmsg.h | 47 +++
5 files changed, 861 insertions(+)
create mode 100644 drivers/rpmsg/apu_rpmsg.c
create mode 100644 drivers/rpmsg/apu_rpmsg.h
create mode 100644 include/uapi/linux/apu_rpmsg.h
--
2.26.2
[View Less]
If the DSI driver is the last to probe, component_add will try to run all
the bind callbacks straight away and return the error code.
However, since we depend on a power domain, we're pretty much guaranteed to
be in that case on the BCM2711, and are just lucky on the previous SoCs
since the v3d also depends on that power domain and is further in the probe
order.
In that case, the DSI host will not stick around in the system: the DSI
bind callback will be executed, will not find any DSI device …
[View More]attached and
will return EPROBE_DEFER, and we will then remove the DSI host and ask to
be probed later on.
But since that host doesn't stick around, DSI devices like the RaspberryPi
touchscreen whose probe is not linked to the DSI host (unlike the usual DSI
devices that will be probed through the call to mipi_dsi_host_register)
cannot attach to the DSI host, and we thus end up in a situation where the
DSI host cannot probe because the panel hasn't probed yet, and the panel
cannot probe because the DSI host hasn't yet.
In order to break this cycle, let's wait until there's a DSI device that
attaches to the DSI host to register the component and allow to progress
further.
Suggested-by: Andrzej Hajda <a.hajda(a)samsung.com>
Signed-off-by: Maxime Ripard <maxime(a)cerno.tech>
---
drivers/gpu/drm/vc4/vc4_dsi.c | 25 ++++++++-----------------
1 file changed, 8 insertions(+), 17 deletions(-)
diff --git a/drivers/gpu/drm/vc4/vc4_dsi.c b/drivers/gpu/drm/vc4/vc4_dsi.c
index eaf276978ee7..19aab4e7e209 100644
--- a/drivers/gpu/drm/vc4/vc4_dsi.c
+++ b/drivers/gpu/drm/vc4/vc4_dsi.c
@@ -1246,10 +1246,12 @@ static ssize_t vc4_dsi_host_transfer(struct mipi_dsi_host *host,
return ret;
}
+static const struct component_ops vc4_dsi_ops;
static int vc4_dsi_host_attach(struct mipi_dsi_host *host,
struct mipi_dsi_device *device)
{
struct vc4_dsi *dsi = host_to_dsi(host);
+ int ret;
dsi->lanes = device->lanes;
dsi->channel = device->channel;
@@ -1284,6 +1286,12 @@ static int vc4_dsi_host_attach(struct mipi_dsi_host *host,
return 0;
}
+ ret = component_add(&dsi->pdev->dev, &vc4_dsi_ops);
+ if (ret) {
+ mipi_dsi_host_unregister(&dsi->dsi_host);
+ return ret;
+ }
+
return 0;
}
@@ -1662,7 +1670,6 @@ static int vc4_dsi_dev_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
struct vc4_dsi *dsi;
- int ret;
dsi = devm_kzalloc(dev, sizeof(*dsi), GFP_KERNEL);
if (!dsi)
@@ -1670,26 +1677,10 @@ static int vc4_dsi_dev_probe(struct platform_device *pdev)
dev_set_drvdata(dev, dsi);
dsi->pdev = pdev;
-
- /* Note, the initialization sequence for DSI and panels is
- * tricky. The component bind above won't get past its
- * -EPROBE_DEFER until the panel/bridge probes. The
- * panel/bridge will return -EPROBE_DEFER until it has a
- * mipi_dsi_host to register its device to. So, we register
- * the host during pdev probe time, so vc4 as a whole can then
- * -EPROBE_DEFER its component bind process until the panel
- * successfully attaches.
- */
dsi->dsi_host.ops = &vc4_dsi_host_ops;
dsi->dsi_host.dev = dev;
mipi_dsi_host_register(&dsi->dsi_host);
- ret = component_add(&pdev->dev, &vc4_dsi_ops);
- if (ret) {
- mipi_dsi_host_unregister(&dsi->dsi_host);
- return ret;
- }
-
return 0;
}
--
2.26.2
[View Less]
https://bugzilla.kernel.org/show_bug.cgi?id=205517
Bug ID: 205517
Summary: nouveau MMIO read of 00000000 FAULT at 619444
Product: Drivers
Version: 2.5
Kernel Version: 5.3.0
Hardware: All
OS: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: Video(DRI - non Intel)
Assignee: drivers_video-dri(a)kernel-bugs.osdl.org
Reporter: …
[View More]todd.e.brandt(a)linux.intel.com
Regression: No
Created attachment 285893
--> https://bugzilla.kernel.org/attachment.cgi?id=285893&action=edit
issue.def
NVidia GPU driver fault on Dell systems during resume.
[33133.398092] nouveau 0000:01:00.0: calling nv_msi_ht_cap_quirk_leaf+0x0/0x30
@ 27
[33133.398102] nouveau 0000:01:00.0: nv_msi_ht_cap_quirk_leaf+0x0/0x30 took 5
usecs
[33133.398104] nouveau 0000:01:00.0: calling quirk_nvidia_hda+0x0/0xc0 @ 27
[33133.398107] nouveau 0000:01:00.0: Enabling HDA controller
[33133.398110] nouveau 0000:01:00.0: quirk_nvidia_hda+0x0/0xc0 took 3 usecs
[33133.399220] done.
[33133.540201] nouveau 0000:01:00.0: bus: MMIO read of 00000000 FAULT at 619444
[ IBUS ]
[33133.556094] PM: suspend exit
--
You are receiving this mail because:
You are watching the assignee of the bug.
[View Less]
From: Colin Ian King <colin.king(a)canonical.com>
The variable bit_per_pix is a u8 and is promoted in the multiplication
to an int type and then sign extended to a u64. If the result of the
int multiplication is greater than 0x7fffffff then the upper 32 bits will
be set to 1 as a result of the sign extension. Avoid this by casting
tu_size_reg to u64 to avoid sign extension and also a potential overflow.
Addresses-Coverity: ("Unintended sign extension")
Fixes: 1a0f7ed3abe2 ("drm/rockchip:…
[View More] cdn-dp: add cdn DP support for rk3399")
Signed-off-by: Colin Ian King <colin.king(a)canonical.com>
---
drivers/gpu/drm/rockchip/cdn-dp-reg.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/rockchip/cdn-dp-reg.c b/drivers/gpu/drm/rockchip/cdn-dp-reg.c
index 9d2163ef4d6e..33fb4d05c506 100644
--- a/drivers/gpu/drm/rockchip/cdn-dp-reg.c
+++ b/drivers/gpu/drm/rockchip/cdn-dp-reg.c
@@ -658,7 +658,7 @@ int cdn_dp_config_video(struct cdn_dp_device *dp)
*/
do {
tu_size_reg += 2;
- symbol = tu_size_reg * mode->clock * bit_per_pix;
+ symbol = (u64)tu_size_reg * mode->clock * bit_per_pix;
do_div(symbol, dp->max_lanes * link_rate * 8);
rem = do_div(symbol, 1000);
if (tu_size_reg > 64) {
--
2.27.0
[View Less]