*ERROR* Unsupported linear format at Cluster0-win0
RK3568 + forlinx desktop:在桌面系统上移动鼠标的时候,串口打印 *ERROR* Unsupported linear format at Cluster0-win0;
只要移动鼠标,就一直打印。
请问是什么问题?
ARMer 发表于 2023-9-22 17:40
我如上解决问题后,好像没有引起其它问题,请问可以继续这样用吧?
可以的,新版本主要是添加了gpu、vpu等的支持,优化原生can。 问题解决了;
方法是dtsi文件中注释掉以下内容,编译内核,烧写boot.img:
#if 0
&vp0 {
cursor-win-id = <ROCKCHIP_VOP2_CLUSTER0>;
};
&vp1 {
cursor-win-id = <ROCKCHIP_VOP2_CLUSTER1>;
};
#endif
========分割线======
以上内容有cursor,win,vop2,CLUSTER0, 与出错的信息内容相关,尝试了一下,居然解决问题了;
不了解以上内容具体含义,估计可能屏幕光标显示有关。
烧写重启后dmesg如下:
forlinx@ok3568:~$ dmesg | grep 'vop2'
[ 0.574305] rockchip-vop2 fe040000.vop: Linked as a consumer to fe043e00.iommu
[ 0.581212] rockchip-vop2 fe040000.vop: vp0 assign plane mask: 0x3f, primary plane phy id: 4
[ 0.581238] rockchip-vop2 fe040000.vop: vp1 assign plane mask: 0x0, primary plane phy id: -1
[ 0.581258] rockchip-vop2 fe040000.vop: vp2 assign plane mask: 0x0, primary plane phy id: -1
[ 9.462486] rockchip-vop2 fe040000.vop: Crtc atomic disable vp0
[ 9.528227] rockchip-vop2 fe040000.vop: Update mode to 1280x800p0, type: 11 for vp0
forlinx@ok3568:~$
可以与上面有问题的dmesg比较一下。
=======分割线================
目前把vop0与HDMI关联起来,显示相关这块edp,lvds,dsi1与vop0,vop1都是disabled。
forlinx_control {
status = "okay";
video-hdmi = "hdmi";
video-mipi-edp = "off";
video-lvds = "off";
};
&hdmi {
status = "okay";
rockchip,phy-table =
<928125000x8009 0x0000 0x0270>,
<165000000 0x800b 0x0000 0x026d>,
<185625000 0x800b 0x0000 0x01ed>,
<297000000 0x800b 0x0000 0x01ad>,
<594000000 0x8029 0x0000 0x0088>,
<000000000 0x0000 0x0000 0x0000>;
};
&hdmi_in_vp0 {
status = "okay";
};
&hdmi_in_vp1 {
status = "disabled";
};
&route_hdmi {
status = "okay";
connect = <&vp0_out_hdmi>;
};
===============分割线==========
还有一个解决办法,“Unsupported linear format”这句出现在rockchip_drm_vop2.c文件中,注释掉这句,重新编译内核下载,串口终端也不会显示这个个错误了,只是觉得这方法掩耳盗铃。具体代码如下:
/*
* This is special feature at rk356x, the cluster layer only can support
* afbc format and can't support linear format;
*/
if (VOP_MAJOR(vop2_data->version) == 0x40 && VOP_MINOR(vop2_data->version) == 0x15) {
if (vop2_cluster_window(win) && !vpstate->afbc_en) {
DRM_ERROR("Unsupported linear format at %s\n", win->name);
return -EINVAL;
}
}
//看注释,似乎是光标或者HDMI在cluster上显示格式不对,也许是厂家驱动支持的显示类型不够完善;
===============分割线=================
https://blog.csdn.net/weixin_44618557/article/details/131983987
这篇文章是解决鼠标拖影,在dts中增加了cursor-win-id=<ROCKCHIP_VOP2_CLUSTER0> 之类的语句;
可见cursor-win-id真的是与鼠标相关;我注释以上内容后,鼠标显示不受影响。
=============分割线============
友商fire.....fly论坛有相同的问题,挂了几个月,好像没解决......:L
希望那边的同学能看到这贴。
@forqs ,请问管理员,自己解决自己的问题,有奖励吗???:loveliness:
uboot选屏只开这一个屏幕输出试试 forqs您好:我只用到HDMI外接显示器,其余显示接口都没有用到。
1、 根据用户使用手册中,启动时串口终端按空格键,根本停不下来;启动后查询启动信息如下:
forlinx@ok3568:~$ dmesg |grep 'hdmi'
[ 0.578716] rockchip-drm display-subsystem: Linked as a consumer to fe0a0000.hdmi
[ 0.581233] dwhdmi-rockchip fe0a0000.hdmi: Detected HDMI TX controller v2.11a with HDCP (DWC HDMI 2.0 TX PHY)
[ 0.581792] dwhdmi-rockchip fe0a0000.hdmi: registered DesignWare HDMI I2C bus driver
[ 0.582399] rockchip-drm display-subsystem: bound fe0a0000.hdmi (ops 0xffffff8008ecd9b0)
[ 2.207919] rk-hdmi-sound hdmi-sound: i2s-hifi <-> fe400000.i2s mapping ok
[ 2.208576] input: rockchip,hdmi rockchip,hdmi as /devices/platform/hdmi-sound/sound/card0/input6
[ 2.360254] #0: rockchip,hdmi
[ 9.508986] dwhdmi-rockchip fe0a0000.hdmi: Rate 69300000 missing; compute N dynamically
[ 10.357796] dwhdmi-rockchip fe0a0000.hdmi: Rate 69300000 missing; compute N dynamically
[ 10.371435] dwhdmi-rockchip fe0a0000.hdmi: Rate 69300000 missing; compute N dynamically
[ 10.378053] dwhdmi-rockchip fe0a0000.hdmi: Rate 69300000 missing; compute N dynamically
[ 29.388102] dwhdmi-rockchip fe0a0000.hdmi: Rate 69300000 missing; compute N dynamically
[ 29.397097] dwhdmi-rockchip fe0a0000.hdmi: Rate 69300000 missing; compute N dynamically
[ 29.404295] dwhdmi-rockchip fe0a0000.hdmi: Rate 69300000 missing; compute N dynamically
forlinx@ok3568:~$ dmesg |grep 'mipi'
forlinx@ok3568:~$ dmesg |grep 'lvds'
[ 0.549501] pwm-backlight lvds-backlight: Looking up power-supply from device tree
[ 0.549509] pwm-backlight lvds-backlight: Looking up power-supply property in node /lvds-backlight failed
[ 0.549520] pwm-backlight lvds-backlight: lvds-backlight supply power not found, using dummy regulator
[ 0.549575] pwm-backlight lvds-backlight: Linked as a consumer to regulator.0
[ 0.549605] pwm-backlight lvds-backlight: unable to request PWM
[ 0.549660] pwm-backlight lvds-backlight: Dropping the link to regulator.0
[ 0.549700] pwm-backlight: probe of lvds-backlight failed with error -2
forlinx@ok3568:~$ dmesg |grep 'edp'
[ 0.549766] pwm-backlight edp-backlight: Looking up power-supply from device tree
[ 0.549774] pwm-backlight edp-backlight: Looking up power-supply property in node /edp-backlight failed
[ 0.549784] pwm-backlight edp-backlight: edp-backlight supply power not found, using dummy regulator
[ 0.549843] pwm-backlight edp-backlight: Linked as a consumer to regulator.0
[ 0.826381] /edp-panel: could not find display-timings node
[ 0.826402] /edp-panel: no timings specified
[ 0.826429] panel-** edp-panel: Looking up power-supply from device tree
[ 0.826438] panel-** edp-panel: Looking up power-supply property in node /edp-panel failed
[ 0.826455] panel-** edp-panel: edp-panel supply power not found, using dummy regulator
[ 0.826530] panel-** edp-panel: Linked as a consumer to regulator.0
[ 0.826552] panel-** edp-panel: Looking up vsp-supply from device tree
[ 0.826561] panel-** edp-panel: Looking up vsp-supply property in node /edp-panel failed
[ 0.826573] panel-** edp-panel: edp-panel supply vsp not found, using dummy regulator
[ 0.826622] panel-** edp-panel: Looking up vsn-supply from device tree
[ 0.826631] panel-** edp-panel: Looking up vsn-supply property in node /edp-panel failed
[ 0.826642] panel-** edp-panel: edp-panel supply vsn not found, using dummy regulator
forlinx@ok3568:~$
2、修改OK3568-C-common.dtsi中:
forlinx_control {
status = "okay";
video-hdmi = "hdmi";
video-mipi-edp = "off";
video-lvds = "off";
};
编译内核烧写,启动桌面系统后,问题依然。
dtsi文件中显示相关设置:
&vop {
status = "okay";
assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>, <&cru DCLK_VOP2>;
assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>, <&cru PLL_GPLL>;
disable-win-move;
};
&vop_mmu {
status = "okay";
};
&vp0 {
cursor-win-id = <ROCKCHIP_VOP2_CLUSTER0>;
};
&vp1 {
cursor-win-id = <ROCKCHIP_VOP2_CLUSTER1>;
};
&edp {
status = "disabled";
pinctrl-names = "default";
pinctrl-0 = <&edpdpm0_pins>;
ports {
port@1 {
reg = <1>;
edp_out_panel: endpoint {
remote-endpoint = <&panel_in_edp>;
};
};
};
};
&edp_phy {
status = "disabled";
};
&edp_in_vp0 {
status = "disabled";
};
&edp_in_vp1 {
status = "disabled";
};
&route_edp {
status = "disabled";
connect = <&vp1_out_edp>;
};
&route_dsi1 {
status = "disabled";
connect = <&vp1_out_dsi1>;
};
&dsi1_in_vp0 {
status = "disabled";
};
&dsi1_in_vp1 {
status = "disabled";
};
#if 0
&dsi1 {
status = "disabled";
//rockchip,lane-rate = <1000>;
dsi1_panel: panel@0 {
status = "disabled";
compatible = "**-panel-dsi";
reg = <0>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes= <4>;
panel-init-sequence = [
];
panel-exit-sequence = [
];
panel-width-mm = <68>;
panel-height-mm = <121>;
backlight = <&dsi1_backlight>;
enable-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
display-timings {
native-mode = <&panel7_1024x600>;
panel7_1024x600: timings {
hback-porch = <48>;
hfront-porch = <40>;
hactive = <1024>;
hsync-len = <48>;
vback-porch = <48>;
vfront-porch = <40>;
vactive = <600>;
vsync-len = <4>;
clock-frequency = <45000000>;
vsync-active = <0>;
hsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
#endif
&hdmi {
status = "disabled";
rockchip,phy-table =
<928125000x8009 0x0000 0x0270>,
<165000000 0x800b 0x0000 0x026d>,
<185625000 0x800b 0x0000 0x01ed>,
<297000000 0x800b 0x0000 0x01ad>,
<594000000 0x8029 0x0000 0x0088>,
<000000000 0x0000 0x0000 0x0000>;
};
&hdmi_in_vp0 {
status = "disabled";
};
&hdmi_in_vp1 {
status = "disabled";
};
&route_hdmi {
status = "disabled";
connect = <&vp0_out_hdmi>;
};
&lvds {
status = "disabled";
phys = <&video_phy0>;
phy-names = "phy";
ports {
port@1 {
reg = <1>;
lvds_out_panel: endpoint {
remote-endpoint = <&panel_in_lvds>;
};
};
};
};
&lvds_in_vp1 {
status = "disabled";
};
&lvds_in_vp2 {
status = "disabled";
};
&route_lvds {
status = "disabled";
connect = <&vp2_out_lvds>;
};
&xin32k {
status = "disabled";
};
forlinx@ok3568:~$ dmesg |grep 'vp0'
[ 0.580605] rockchip-vop2 fe040000.vop: vp0 assign plane mask: 0x3f, primary plane phy id: 4
[ 0.580797] rockchip-vop2 fe040000.vop: Cluster0-win0 as cursor plane for vp0
[ 9.423251] rockchip-vop2 fe040000.vop: Crtc atomic disable vp0
[ 9.489058] rockchip-vop2 fe040000.vop: Update mode to 1280x800p0, type: 11 for vp0
rockchip-vop2 fe040000.vop: Crtc atomic disable vp0
forlinx@ok3568:~$ dmesg |grep 'vp1'
[ 0.580631] rockchip-vop2 fe040000.vop: vp1 assign plane mask: 0x0, primary plane phy id: -1
forlinx@ok3568:~$ dmesg |grep 'vop1'
forlinx@ok3568:~$ dmesg |grep 'vop2'
[ 0.573831] rockchip-vop2 fe040000.vop: Linked as a consumer to fe043e00.iommu
[ 0.580605] rockchip-vop2 fe040000.vop: vp0 assign plane mask: 0x3f, primary plane phy id: 4
[ 0.580631] rockchip-vop2 fe040000.vop: vp1 assign plane mask: 0x0, primary plane phy id: -1
[ 0.580653] rockchip-vop2 fe040000.vop: vp2 assign plane mask: 0x0, primary plane phy id: -1
[ 0.580797] rockchip-vop2 fe040000.vop: Cluster0-win0 as cursor plane for vp0
[ 9.423251] rockchip-vop2 fe040000.vop: Crtc atomic disable vp0
[ 9.489058] rockchip-vop2 fe040000.vop: Update mode to 1280x800p0, type: 11 for vp0
[ 11.395247] *ERROR* Unsupported linear format at Cluster0-win0
[ 11.395364] *ERROR* Unsupported linear format at Cluster0-win0
[ 11.395392] *ERROR* Unsupported linear format at Cluster0-win0
[ 11.395417] *ERROR* Unsupported linear format at Cluster0-win0
[ 12.153467] *ERROR* Unsupported linear format at Cluster0-win0
[ 12.153539] *ERROR* Unsupported linear format at Cluster0-win0
[ 12.153906] *ERROR* Unsupported linear format at Cluster0-win0
[ 12.153944] *ERROR* Unsupported linear format at Cluster0-win0
rockchip-vop2 fe040000.vop: Crtc atomic disable vp0
forlinx@ok3568:~$
HDMI外显是1280X800 按芯片内部结构 ,vp0,vp1,vp2配置1个给HDMI,其余禁止就可以了吧?
请问具体到dtsi文件中怎么配置?
dmesg显示启动过程就有错误提示了。
Cluster0-win0 as cursor plane for vp0 好像跟鼠标光标有关系,移动鼠标的时候会打印那个错误信息,鼠标停止移动就不打印了。 ARMer 发表于 2023-9-22 11:15
forqs您好:我只用到HDMI外接显示器,其余显示接口都没有用到。
1、 根据用户使用手册中,启动时串口终 ...
可以在启动时按住空格键 ARMer 发表于 2023-9-22 14:41
问题解决了;
方法是dtsi文件中注释掉以下内容,编译内核,烧写boot.img:
#if 0
这个是ubuntuR2版本上会有的问题,您可以看下用户资料里更新的ubutuR3版用户资料,这个烧写后不会出现这个问题,并且适配了硬解码等,不过目前在R3上可能有些小问题,比如hdmi热插拔不显示,正在尝试解决。 forqs 发表于 2023-9-22 15:53
这个是ubuntuR2版本上会有的问题,您可以看下用户资料里更新的ubutuR3版用户资料,这个烧写后不会出现这 ...
我如上解决问题后,好像没有引起其它问题,请问可以继续这样用吧?
页:
[1]