Hi, Mark and all.
This patch set would add the RGA direct rendering based 2d graphics
acceleration module.
This patch set is based on git repository below:
git://people.freedesktop.org/~airlied/linux drm-next
commit id: 568d7c764ae01f3706085ac8f0d8a8ac7e826bd7
And the RGA driver is based on Exynos G2D driver, it only manages the
command lists received from user, so user should make the command list
to data and registers needed by operation to use.
I have prepared an userspace demo …
[View More]application for testing:
https://github.com/yakir-Yang/libdrm-rockchip
That is a rockchip libdrm library, and I have write a simple test case
"rockchip_rga_test" that would test the below RGA features:
- solid
- copy
- rotation
- flip
- window clip
- dithering
Thanks,
- Yakir
Yakir Yang (4):
drm: rockchip: add a common subdrv interfaces
drm: rockchip: add RGA driver support
ARM: dts: rockchip: add RGA device node for RK3288
ARM: dst: rockchip: enable RGA support on veyron devices
.../bindings/display/rockchip/rockchip-rga.txt | 36 +
arch/arm/boot/dts/rk3288-veyron.dtsi | 4 +
arch/arm/boot/dts/rk3288.dtsi | 13 +
drivers/gpu/drm/rockchip/Kconfig | 9 +
drivers/gpu/drm/rockchip/Makefile | 1 +
drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 82 ++
drivers/gpu/drm/rockchip/rockchip_drm_drv.h | 19 +
drivers/gpu/drm/rockchip/rockchip_drm_rga.c | 977 +++++++++++++++++++++
drivers/gpu/drm/rockchip/rockchip_drm_rga.h | 108 +++
include/uapi/drm/rockchip_drm.h | 63 ++
10 files changed, 1312 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/rockchip/rockchip-rga.txt
create mode 100644 drivers/gpu/drm/rockchip/rockchip_drm_rga.c
create mode 100644 drivers/gpu/drm/rockchip/rockchip_drm_rga.h
create mode 100644 include/uapi/drm/rockchip_drm.h
--
1.9.1
[View Less]
With the joys of things running concurrently, there's always a chance
that the port we get passed in drm_dp_payload_send_msg() isn't actually
valid anymore. Because of this, we need to make sure we validate the
reference to the port before we use it otherwise we risk running into
various race conditions. For instance, on the Dell MST monitor I have
here for testing, hotplugging it enough times causes us to kernel panic:
[drm:intel_mst_enable_dp] 1
[drm:drm_dp_update_payload_part2] payload 0 1
[…
[View More]drm:intel_get_hpd_pins] hotplug event received, stat 0x00200000, dig 0x10101011, pins 0x00000020
[drm:intel_hpd_irq_handler] digital hpd port B - short
[drm:intel_dp_hpd_pulse] got hpd irq on port B - short
[drm:intel_dp_check_mst_status] got esi 00 10 00
[drm:drm_dp_update_payload_part2] payload 1 1
general protection fault: 0000 [#1] SMP
…
Call Trace:
[<ffffffffa012b632>] drm_dp_update_payload_part2+0xc2/0x130 [drm_kms_helper]
[<ffffffffa032ef08>] intel_mst_enable_dp+0xf8/0x180 [i915]
[<ffffffffa0310dbd>] haswell_crtc_enable+0x3ed/0x8c0 [i915]
[<ffffffffa030c84d>] intel_atomic_commit+0x5ad/0x1590 [i915]
[<ffffffffa01db877>] ? drm_atomic_set_crtc_for_connector+0x57/0xe0 [drm]
[<ffffffffa01dc4e7>] drm_atomic_commit+0x37/0x60 [drm]
[<ffffffffa0130a3a>] drm_atomic_helper_set_config+0x7a/0xb0 [drm_kms_helper]
[<ffffffffa01cc482>] drm_mode_set_config_internal+0x62/0x100 [drm]
[<ffffffffa01d02ad>] drm_mode_setcrtc+0x3cd/0x4e0 [drm]
[<ffffffffa01c18e3>] drm_ioctl+0x143/0x510 [drm]
[<ffffffffa01cfee0>] ? drm_mode_setplane+0x1b0/0x1b0 [drm]
[<ffffffff810f79a7>] ? hrtimer_start_range_ns+0x1b7/0x3a0
[<ffffffff81212962>] do_vfs_ioctl+0x92/0x570
[<ffffffff81590852>] ? __sys_recvmsg+0x42/0x80
[<ffffffff81212eb9>] SyS_ioctl+0x79/0x90
[<ffffffff816b4e32>] entry_SYSCALL_64_fastpath+0x1a/0xa4
RIP [<ffffffffa012b026>] drm_dp_payload_send_msg+0x146/0x1f0 [drm_kms_helper]
Which occurs because of the hotplug event shown in the log, which ends
up causing DRM's dp helpers to drop the port we're updating the payload
on and panic.
Signed-off-by: Lyude <cpaul(a)redhat.com>
Reviewed-by: David Airlie <airlied(a)linux.ie>
---
drivers/gpu/drm/drm_dp_mst_topology.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
index 27fbd79..e17fbda 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -1672,13 +1672,19 @@ static int drm_dp_payload_send_msg(struct drm_dp_mst_topology_mgr *mgr,
u8 sinks[DRM_DP_MAX_SDP_STREAMS];
int i;
+ port = drm_dp_get_validated_port_ref(mgr, port);
+ if (!port)
+ return -EINVAL;
+
port_num = port->port_num;
mstb = drm_dp_get_validated_mstb_ref(mgr, port->parent);
if (!mstb) {
mstb = drm_dp_get_last_connected_port_and_mstb(mgr, port->parent, &port_num);
- if (!mstb)
+ if (!mstb) {
+ drm_dp_put_port(port);
return -EINVAL;
+ }
}
txmsg = kzalloc(sizeof(*txmsg), GFP_KERNEL);
@@ -1707,6 +1713,7 @@ static int drm_dp_payload_send_msg(struct drm_dp_mst_topology_mgr *mgr,
kfree(txmsg);
fail_put:
drm_dp_put_mst_branch_device(mstb);
+ drm_dp_put_port(port);
return ret;
}
--
2.5.5
[View Less]
From: Ville Syrjälä <ville.syrjala(a)linux.intel.com>
While looking at a regression caused by i915's use of 12bpc HDMI mode,
I ended up reading the DP dual mode spec, and that lead to this patch
series.
I intentionally made the basics of the helper look somewhat like
Thierry's HDMI 2.0 SCDC stuff [1], except with a few less bugs :P
The entire series is available here:
git://github.com/vsyrjala/linux.git dp_dual_mode_2
[1] https://lists.freedesktop.org/archives/dri-devel/2015-September/…
[View More]090929.html
Ville Syrjälä (4):
drm: Add helper for DP++ adaptors
drm/i915: Respect DP++ adaptor TMDS clock limit
drm/i915: Enable/disable TMDS output buffers in DP++ adaptor as needed
drm/i915: Determine DP++ type 1 DVI adaptor presence based on VBT
drivers/gpu/drm/Makefile | 2 +-
drivers/gpu/drm/drm_dp_dual_mode_helper.c | 324 ++++++++++++++++++++++++++++++
drivers/gpu/drm/i915/intel_bios.h | 3 +
drivers/gpu/drm/i915/intel_dp.c | 28 +++
drivers/gpu/drm/i915/intel_drv.h | 5 +
drivers/gpu/drm/i915/intel_hdmi.c | 107 +++++++++-
include/drm/drm_dp_dual_mode_helper.h | 80 ++++++++
7 files changed, 540 insertions(+), 9 deletions(-)
create mode 100644 drivers/gpu/drm/drm_dp_dual_mode_helper.c
create mode 100644 include/drm/drm_dp_dual_mode_helper.h
--
2.4.10
[View Less]
https://bugs.freedesktop.org/show_bug.cgi?id=94774
Bug ID: 94774
Summary: 2D Rendering issues in GTK and X11 applications
Product: Mesa
Version: 11.2
Hardware: Other
OS: All
Status: NEW
Severity: normal
Priority: medium
Component: Drivers/Gallium/radeonsi
Assignee: dri-devel(a)lists.freedesktop.org
Reporter: jan.burgmeier(a)unicon-software.com
QA Contact: …
[View More]dri-devel(a)lists.freedesktop.org
Created attachment 122655
--> https://bugs.freedesktop.org/attachment.cgi?id=122655&action=edit
Screenshot of rendering issues
Hi,
I upgraded from mesa 11.1 to mesa 11.2_rc4 and have no some strange rendering
issues in GTK and X11 applications see attached screenshot. QT applications are
fine.
There are no error messages in the Xorg log or when I actiavte MESA_DEBUG and
LIBGL_DEBUG. I tried recompiling Xorg and xf86-video-ati but it did not help.
The system I use:
Hardware:
- Futro S920
- AMD GX-424CC SOC with Radeon(TM) R5E Graphic
Software versions:
- Xorg 1.18.2
- Mesa 11.2_rc4
- llvm 3.8.0
- xf86-video-ati from git commit: 9483a3d
- gtk 2.24.20
- mate 1.6.1
--
You are receiving this mail because:
You are the assignee for the bug.
[View Less]
https://bugs.freedesktop.org/show_bug.cgi?id=94811
Bug ID: 94811
Summary: ATI radeon driver displays nothing or a client refused
to switch message on hybrid graphics
Product: DRI
Version: unspecified
Hardware: Other
OS: Linux (All)
Status: NEW
Severity: normal
Priority: medium
Component: DRM/Radeon
Assignee: dri-devel(a)lists.freedesktop.org
…
[View More]Reporter: saurav1.net(a)gmail.com
Created attachment 122692
--> https://bugs.freedesktop.org/attachment.cgi?id=122692&action=edit
dmesg output for the radeon driver
On a Lenovo G50-80 with Intel HD Graphics 5500 (Broadwell GT2) and Advanced
Micro Devices [AMD/ATI] Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330] using
vgaswitcheroo with echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch results
in a blank screen on logging out or in a message that client 0 refused to
switch and a reversion to the login screen (depending on the display manager in
use) on logging out and trying to log back in. The computer can be powered off
normally using the power button or the options in the login screen if visible
or by switching to a different VT. Trying to use the radeon driver with an XOrg
configuration file like the one attached results in the display manager not
starting (other VTs remain operational). The XOrg log (attached) shows that the
radeon driver fails to find a screen to its liking,
> (EE) RADEON(0): No modes.
> (EE) Screen(s) found, but none have a usable configuration.
and then gives up altogether:-
> (EE) no screens found(EE)
The message "radeon 0000:04:00.0: VCE init error (-22)." appears during boot;
the dmesg output for radeon is attached.
The problem occurs irrespective of whether the module parameter radeon.runpm =
0 or not.
The radeon configuration attached is adapted from the one used by Ubuntu 15.10
for fglrx. fglrx works properly on Ubuntu 15.10.
--
You are receiving this mail because:
You are the assignee for the bug.
[View Less]
We accidentally return PTR_ERR(NULL) which is success instead of a
negative error code.
Fixes: 879e40bea6f2 ('drm: ARM HDLCD - get rid of devm_clk_put()')
Signed-off-by: Dan Carpenter <dan.carpenter(a)oracle.com>
diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c b/drivers/gpu/drm/arm/hdlcd_drv.c
index 734849f..3ac1ae4 100644
--- a/drivers/gpu/drm/arm/hdlcd_drv.c
+++ b/drivers/gpu/drm/arm/hdlcd_drv.c
@@ -55,8 +55,9 @@ static int hdlcd_load(struct drm_device *drm, unsigned long flags)
hdlcd-…
[View More]>mmio = devm_ioremap_resource(drm->dev, res);
if (IS_ERR(hdlcd->mmio)) {
DRM_ERROR("failed to map control registers area\n");
+ ret = PTR_ERR(hdlcd->mmio);
hdlcd->mmio = NULL;
- return PTR_ERR(hdlcd->mmio);
+ return ret;
}
version = hdlcd_read(hdlcd, HDLCD_REG_VERSION);
[View Less]
Hi David,
There is one patch that Alexey Brodkin has submitted a while ago
for cleanup up the maintainance of pixel clock for HDLCD that I
would like to be pulled for v4.6-rcX.
The branch has a couple of commits on top of your drm-next that
will disappear once you update your branch to v4.6-rc1. I am only
interested in you pulling Andrey's patch.
Best regards,
Liviu
The following changes since commit 3e9e337263973f160e1129e1d7eaed47c6a9ccae:
arm64: Juno: Add HDLCD support to the Juno …
[View More]boards. (2016-03-30 11:52:56 +0100)
are available in the git repository at:
git://linux-arm.org/linux-ld.git for-upstream/hdlcd
for you to fetch changes up to 879e40bea6f2711422b7c71ccc9b8f1ba06e16ce:
drm: ARM HDLCD - get rid of devm_clk_put() (2016-03-30 11:58:29 +0100)
----------------------------------------------------------------
Alexey Brodkin (1):
drm: ARM HDLCD - get rid of devm_clk_put()
drivers/gpu/drm/arm/hdlcd_drv.c | 15 +++------------
1 file changed, 3 insertions(+), 12 deletions(-)
--
====================
| I would like to |
| fix the world, |
| but they're not |
| giving me the |
\ source code! /
---------------
¯\_(ツ)_/¯
[View Less]