Re: [PATCH 22/22] drm: rockchip: Add VOP2 driver
From: Nicolas Frattaroli <frattaroli.nicolas@gmail.com>
Date: 2021-12-20 16:53:19
Also in:
dri-devel, linux-arm-kernel, linux-rockchip
On Montag, 20. Dezember 2021 15:16:55 CET Nicolas Frattaroli wrote:
On Montag, 20. Dezember 2021 12:06:30 CET Sascha Hauer wrote:quoted
From: Andy Yan <andy.yan@rock-chips.com> The VOP2 unit is found on Rockchip SoCs beginning with rk3566/rk3568. It replaces the VOP unit found in the older Rockchip SoCs. This driver has been derived from the downstream Rockchip Kernel and heavily modified: - All nonstandard DRM properties have been removed - dropped struct vop2_plane_state and pass around less data between functions - Dropped all DRM_FORMAT_* not known on upstream - rework register access to get rid of excessively used macros - Drop all waiting for framesyncs The driver is tested with HDMI and MIPI-DSI display on a RK3568-EVB board. Overlay support is tested with the modetest utility. AFBC support on the cluster windows is tested with weston-simple-dmabuf-egl on weston using the (yet to be upstreamed) panfrost driver support. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> ---Hi Sascha, sadly I'm getting [ 1.668856] rockchip-drm display-subsystem: [drm] *ERROR* failed to get vop2 register byname [ 1.669621] rockchip-drm display-subsystem: failed to bind fe040000.vop (ops vop2_component_ops): -22 [ 1.670584] rockchip-drm display-subsystem: master bind failed: -22 [ 1.671164] dwhdmi-rockchip: probe of fe0a0000.hdmi failed with error -22 on a Quartz64 Model A.quoted
+ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "regs"); + if (!res) { + drm_err(vop2->drm, "failed to get vop2 register byname\n"); + return -EINVAL; + }This seems to be the code that triggers it. Any ideas as to what could be causing this? Regards, Nicolas Frattaroli
A small follow-up: We're trying to get IORESOURCE_MEM by the name "regs", but nothing has a reg-names property in the device tree changes you sent in. How did you test this on your system? Also, adding the reg-names = "regs"; to the vop node doesn't make it probe, it just fails with [ 1.668560] rockchip-vop2 fe040000.vop: can't request region for resource [mem 0xfe040000-0xfe044fff] then. We're also trying to get gamma_lut the same way, but your cover letter states
drop unnecessary gamma_lut registers from vop2
which makes me wonder: is this the correct series of patches you sent in? Regards, Nicolas Frattaroli