Hi guys,
we are currently working an Freesync and direct scan out from system
memory on AMD APUs in A+A laptops.
On problem we stumbled over is that our display hardware needs to scan
out from uncached system memory and we currently don't have a way to
communicate that through DMA-buf.
For our specific use case at hand we are going to implement something
driver specific, but the question is should we have something more
generic for this?
After all the system memory access pattern is a …
[View More]PCIe extension and as
such something generic.
Regards,
Christian.
[View Less]
https://bugzilla.kernel.org/show_bug.cgi?id=201957
Bug ID: 201957
Summary: amdgpu: ring gfx timeout
Product: Drivers
Version: 2.5
Kernel Version: 4.19.8, 4.20-rc5
Hardware: Intel
OS: Linux
Tree: Mainline
Status: NEW
Severity: blocking
Priority: P1
Component: Video(DRI - non Intel)
Assignee: drivers_video-dri(a)kernel-bugs.osdl.org
Reporter: felix.…
[View More]adrianto(a)gmail.com
Regression: No
Error message:
[Dec 5 22:08] amdgpu 0000:23:00.0: GPU fault detected: 146 0x0000480c for
process yuzu pid 2920 thread yuzu:cs0 pid 2935
[ +0.000005] amdgpu 0000:23:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR
0x00000000
[ +0.000002] amdgpu 0000:23:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS
0x0604800C
[ +0.000003] amdgpu 0000:23:00.0: VM fault (0x0c, vmid 3, pasid 32770) at page
0, read from 'TC4' (0x54433400) (72)
[ +10.053011] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx timeout,
signaled seq=37241, emitted seq=37244
[ +0.000007] [drm] GPU recovery disabled.
How to reproduce the issue:
1. Playing with yuzu-emulator
2. Load Super Mario Odyssey
3. Start new game
4. When Mario is about to jump for the first time after being woken up by
Cappy, this bug must occur.
During the issue, the following occured:
1. Graphic locked up.
2. System can be access through SSH.
System specification:
Debian Sid
Radeon RX 580
I have tried the following combination:
1. Kernel 4.17, 4.18, 4.19, 4.20, drm-next-4.21.wip
2. Mesa 18.2, 18.3, 19.0-development branch
But none of the above combination fixes the issue. Let me know if you need more
information and more testing from me.
--
You are receiving this mail because:
You are watching the assignee of the bug.
[View Less]
Add a new macro DRM_BRIDGE_STATE_OPS that can be used to
assign atomic_reset and atomic_{duplicate,destroy}_state to
the default implementations. They will be valid in most cases.
Add a drm variant of media-bus-format.h to hold a single
function to get the bpc from the bus format.
Also add a small drm_atomic_helper_bridge_dsi_input_bus_fmt helper.
Update ti-sn65dsi86 to support atomic and NO_CONNECTOR.
The NO_CONNECTOR support was from Rob Clark - I just rebased it.
To support NO_CONNECTOR …
[View More]use the newly introduced function to
lokk up bpc from the bus format.
Update parade-ps8640 to support atomic. To do this just migrate
to the atomic variants of the operations and add the few mandatry
missing callbacks.
A few of the patches are migrated from a patchset I posted several
months ago and I decided to add them here for now, which explains
why there is a v4 of a patch in a v1 submission.
For the output bus fmt stuff I did what I think is correct - but
as I have paged out all my memory of this it may be all wrong.
The code builds - but needs testing.
I was temped to move bridge helpers to a new drm_bridge_helper.c
but that will wait until next time.
Sam
Rob Clark (1):
drm/bridge: ti-sn65dsi86: Add NO_CONNECTOR support
Sam Ravnborg (8):
drm/bridge: add DRM_BRIDGE_STATE_OPS macro
drm: add drm specific media-bus-format header file
drm: add drm_atomic_helper_bridge_dsi_input_bus_fmt
drm/bridge: ti-sn65dsi86: Use atomic variants of drm_bridge_funcs
drm/bridge: ti-sn65dsi86: Fetch bpc via drm_bridge_state
drm/bridge: ps8640: Use atomic variants of drm_bridge_funcs
drm/bridge: ps8640: plug atomic_get_input_bus_fmts
drm/bridge: Drop unused drm_bridge_chain functions
drivers/gpu/drm/bridge/parade-ps8640.c | 18 ++++--
drivers/gpu/drm/bridge/ti-sn65dsi86.c | 57 +++++++++--------
drivers/gpu/drm/drm_atomic_helper.c | 41 ++++++++++++
drivers/gpu/drm/drm_bridge.c | 110 ---------------------------------
include/drm/drm_atomic_helper.h | 7 +++
include/drm/drm_bridge.h | 40 ++++--------
include/drm/media-bus-format.h | 53 ++++++++++++++++
7 files changed, 157 insertions(+), 169 deletions(-)
[View Less]
This series adds support for mt8192 h264/vp8/vp9 decoder drivers. Firstly, refactor
power/clock/interrupt interfaces for mt8192 is lat and core architecture.
Secondly, add new functions to get frame buffer size and resolution according
to decoder capability from scp side. Then add callback function to get/put
capture buffer in order to enable lat and core decoder in parallel.
Then add to support MT21C compressed mode and fix v4l2-compliance fail.
Next, extract H264 request api driver to let …
[View More]mt8183 and mt8192 use the same
code, and adds mt8192 frame based h264 driver for stateless decoder.
Lastly, add vp8 and vp9 stateless decoder drivers.
Patches 1 refactor power/clock/interrupt interface.
Patches 2~4 get frame buffer size and resolution according to decoder capability.
Patches 5~6 enable lat and core decode in parallel.
Patch 7~10 add to support MT21C compressed mode and fix v4l2-compliance fail.
patch 11 record capture queue format type.
Patch 12~13 extract h264 driver and add mt8192 frame based driver for h264 decoder.
Patch 14~15 add vp8 and vp9 stateless decoder drivers.
---
changes compared with v6:
- rebase to the latest media stage and fix conficts
- fix memcpy to memcpy_fromio or memcpy_toio
- fix h264 crash when test field bitstream
changes compared with v5:
- fix vp9 comments for patch 15
- fix vp8 comments for patch 14.
- fix comments for patch 12.
- fix build errors.
changes compared with v4:
- fix checkpatch.pl fail.
- fix kernel-doc fail.
- rebase to the latest media codec driver.
changes compared with v3:
- remove enum mtk_chip for patch 2.
- add vp8 stateless decoder drivers for patch 14.
- add vp9 stateless decoder drivers for patch 15.
changes compared with v2:
- add new patch 11 to record capture queue format type.
- separate patch 4 according to tzung-bi's suggestion.
- re-write commit message for patch 5 according to tzung-bi's suggestion.
changes compared with v1:
- rewrite commit message for patch 12.
- rewrite cover-letter message.
---
Yunfei Dong (15):
media: mtk-vcodec: Add vdec enable/disable hardware helpers
media: mtk-vcodec: Using firmware type to separate different firmware
architecture
media: mtk-vcodec: get capture queue buffer size from scp
media: mtk-vcodec: Read max resolution from dec_capability
media: mtk-vcodec: Call v4l2_m2m_set_dst_buffered() set capture buffer
buffered
media: mtk-vcodec: Refactor get and put capture buffer flow
media: mtk-vcodec: Refactor supported vdec formats and framesizes
media: mtk-vcodec: Add format to support MT21C
media: mtk-vcodec: disable vp8 4K capability
media: mtk-vcodec: Fix v4l2-compliance fail
media: mtk-vcodec: record capture queue format type
media: mtk-vcodec: Extract H264 common code
media: mtk-vcodec: support stateless H.264 decoding for mt8192
media: mtk-vcodec: support stateless VP8 decoding
media: mtk-vcodec: support stateless VP9 decoding
drivers/media/platform/mtk-vcodec/Makefile | 4 +
.../platform/mtk-vcodec/mtk_vcodec_dec.c | 47 +-
.../platform/mtk-vcodec/mtk_vcodec_dec_drv.c | 5 -
.../platform/mtk-vcodec/mtk_vcodec_dec_pm.c | 166 +-
.../platform/mtk-vcodec/mtk_vcodec_dec_pm.h | 6 +-
.../mtk-vcodec/mtk_vcodec_dec_stateful.c | 14 +-
.../mtk-vcodec/mtk_vcodec_dec_stateless.c | 282 ++-
.../platform/mtk-vcodec/mtk_vcodec_drv.h | 40 +-
.../platform/mtk-vcodec/mtk_vcodec_enc_drv.c | 5 -
.../media/platform/mtk-vcodec/mtk_vcodec_fw.c | 6 +
.../media/platform/mtk-vcodec/mtk_vcodec_fw.h | 1 +
.../mtk-vcodec/vdec/vdec_h264_req_common.c | 310 +++
.../mtk-vcodec/vdec/vdec_h264_req_common.h | 253 +++
.../mtk-vcodec/vdec/vdec_h264_req_if.c | 440 +---
.../mtk-vcodec/vdec/vdec_h264_req_multi_if.c | 621 ++++++
.../mtk-vcodec/vdec/vdec_vp8_req_if.c | 445 ++++
.../mtk-vcodec/vdec/vdec_vp9_req_lat_if.c | 1971 +++++++++++++++++
.../media/platform/mtk-vcodec/vdec_drv_if.c | 36 +-
.../media/platform/mtk-vcodec/vdec_drv_if.h | 3 +
.../media/platform/mtk-vcodec/vdec_ipi_msg.h | 36 +
.../platform/mtk-vcodec/vdec_msg_queue.c | 2 +
.../media/platform/mtk-vcodec/vdec_vpu_if.c | 53 +-
.../media/platform/mtk-vcodec/vdec_vpu_if.h | 15 +
.../media/platform/mtk-vcodec/venc_vpu_if.c | 2 +-
include/linux/remoteproc/mtk_scp.h | 2 +
25 files changed, 4180 insertions(+), 585 deletions(-)
create mode 100644 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_req_common.c
create mode 100644 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_req_common.h
create mode 100644 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_req_multi_if.c
create mode 100644 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_req_if.c
create mode 100644 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_req_lat_if.c
--
2.25.1
[View Less]
https://bugzilla.kernel.org/show_bug.cgi?id=172421
Bug ID: 172421
Summary: radeon: allow to set the TMDS frequency by a special
kernel parameter
Product: Drivers
Version: 2.5
Kernel Version: 4.8.0-rc7+
Hardware: All
OS: Linux
Tree: Mainline
Status: NEW
Severity: enhancement
Priority: P1
Component: Video(DRI - non Intel)
Assignee: …
[View More]drivers_video-dri(a)kernel-bugs.osdl.org
Reporter: estellnb(a)elstel.org
Regression: No
Despite different claims by ATI in 2016 Radeon R5 230 graphics cards featuring
HDMI, DVI and VGA had originally been sold as 4K-ready up to the year 2015. The
only prove I have for this is a comercial invoice from Nexus Mobile and a
packaging card. As far as I know Radeon R5 230 cards currently sold can still
be run stable and reliable under UltraHD provided that you apply the right
kernel patch (see for the attachement). Unfortunately neither my former
merchant nor ATI have responded about my questions concerning this change in
trade and marketing policy.
My request would now be to integrate the provided patch into the mainline
kernel. It does not change the behaviour of the radeon driver unless you
specify a nonzero value for the radeon.hdmimhz parameter. If you do I have
tested the R5 230 cards I have to run stable and reliably for days. At least
the 2GB variant of this card has largely sufficient resources for proficient
desktop computing under UltraHD including image manipulation in 3840x2160.
While never officially discussed for the radeon driver nouveau is already
implementing a similar parameter called nouveau.hdmimhz since kernel 4.5.x.
Though it thereby becomes possible to specify a hdmimhz that is far above the
cards technical possibilties the nouveau developers I have talked with say that
it would rarely be possible to damage any card by overcloking the TMDS. In deed
I have successfully been overclocking my GeForce 9600M GT to feature 4K/2160p.
Even specifying values considerable higher than 225MHz did not damage my
GeForce 9600M GT though the screen stayed black upon the nouveau driver
initialization. While the Radeon R5 230 works well at 297MHz (as long as you
specify that via radeon.hdmimhz) I have similarly to the GeForce 9600M GT tried
to overclock a Radeon R7 240. It did produce stable images at a higher hdmimhz
like 330 though the HDMI input of my monitor features no more than 30Hz at
3840x2160 (tested with or without a DP-adapter).
While it remains questionable if the provided patch can improve things for
newer Radeon cards I would believe it to be beneficial for some elder cards. At
least it is known to be beneficial for the R5 230 initially marketed as
4K-ready. The according radeon patch provided with this report has so far
already been accepted by the Mageia 6 distribution. Though the attached patch
is for application at the current 4.8.0-rcX+ kernels most of my machines that
rely on it still run with 4.6.0.
--
You are receiving this mail because:
You are watching the assignee of the bug.
[View Less]
Commit 680532c50bca ("drm: adv7511: Add support for
i2c_new_secondary_device") allows a device tree node to override
the default addresses of the secondary i2c devices. This is useful
for solving address conflicts on the i2c bus.
In adv7511_init_cec_regmap() the new i2c address of cec device is
read from device tree and immediately accessed, well before it is
written in the proper register to override the default address.
This can cause an i2c error during probe and a consequent probe
failure.
…
[View More]
Once the new i2c address is read from the device tree, override
the default address before any attempt to access the cec.
Tested with adv7533 and stm32mp157f.
Signed-off-by: Antonio Borneo <antonio.borneo(a)foss.st.com>
Fixes: 680532c50bca ("drm: adv7511: Add support for i2c_new_secondary_device")
---
To: Andrzej Hajda <a.hajda(a)samsung.com>
To: Neil Armstrong <narmstrong(a)baylibre.com>
To: Robert Foss <robert.foss(a)linaro.org>
To: Laurent Pinchart <Laurent.pinchart(a)ideasonboard.com>
To: Jonas Karlman <jonas(a)kwiboo.se>
To: Jernej Skrabec <jernej.skrabec(a)gmail.com>
To: David Airlie <airlied(a)linux.ie>
To: Daniel Vetter <daniel(a)ffwll.ch>
To: Kieran Bingham <kieran.bingham+renesas(a)ideasonboard.com>
To: dri-devel(a)lists.freedesktop.org
Cc: linux-kernel(a)vger.kernel.org
Cc: linux-stm32(a)st-md-mailman.stormreply.com
---
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
index 76555ae64e9c..629e05286fd9 100644
--- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
+++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
@@ -1048,6 +1048,10 @@ static int adv7511_init_cec_regmap(struct adv7511 *adv)
ADV7511_CEC_I2C_ADDR_DEFAULT);
if (IS_ERR(adv->i2c_cec))
return PTR_ERR(adv->i2c_cec);
+
+ regmap_write(adv->regmap, ADV7511_REG_CEC_I2C_ADDR,
+ adv->i2c_cec->addr << 1);
+
i2c_set_clientdata(adv->i2c_cec, adv);
adv->regmap_cec = devm_regmap_init_i2c(adv->i2c_cec,
@@ -1252,9 +1256,6 @@ static int adv7511_probe(struct i2c_client *i2c, const struct i2c_device_id *id)
if (ret)
goto err_i2c_unregister_packet;
- regmap_write(adv7511->regmap, ADV7511_REG_CEC_I2C_ADDR,
- adv7511->i2c_cec->addr << 1);
-
INIT_WORK(&adv7511->hpd_work, adv7511_hpd_work);
if (i2c->irq) {
base-commit: fc74881c28d314b10efac016ef49df4ff40b8b97
--
2.34.1
[View Less]