This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM5728:AM5728:AM5728 ARGB格式透明度参数问题 子系统 Δ Σ

Guru**** 1460590 points
Other Parts Discussed in Thread: AM5728
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1339156/am5728-am5728-am5728-dispaly-subsystem-argb

器件型号:AM5728

问题背景:μ A

   am5728+lt8718+μ A (MIPI DPI)显示屏

   linux版本:4.9.69

   当前三基色,红、绿、蓝测试显示屏颜色正确。

   应用程序使用QT UI调用系统接口,设置颜色是添加了透明度参数,显示屏的颜色与实际的颜色不匹配。

问题描述:μ A

   当前做了一下linux驱动修改,但是还是不正确。请教,ARGB透明度参数驱动中怎么修改?

修改驱动测试:μ A

将drivers vedio/vedio/fbdev/omapfb/omapfb-main.h c中的 fb_mode_to_dss_mode (函数)μ s

情形32:

dsmode = OMAP_DSS_COLOR_RGB24U;

中断;

改为:

情形32:

dsmode = OMAP_DSS_COLOR_ARGB32;

中断;

将drivers vedio/vedio/fbdev/omapfb/omapfb-main.h _setcolreg (c中的)函数

case OMAPFB_COLOR_RGB24U:

      if (r != 0)

        break;

    printk("%s regno:%d\n", __func__, regno);

    if (regno < 16) {

        u32 pal;

        pal = ((red >> (16 - var->red.length)) <<

                var->red.offset) |

            ((green >> (16 - var->green.length)) <<

             var->green.offset) |

            (blue >> (16 - var->blue.length));

        ((u32 *)(fbi->pseudo_palette))[regno] = pal;

    }

    break;

改为:

case OMAPFB_COLOR_RGB24U:

case OMAPFB_COLOR_ARGB32:

    if (r != 0)

        break;

    printk("%s regno:%d\n", __func__, regno);

    if (regno < 16) {

        u32 pal;

        pal = ((transp >> (16 - var->transp.length)) <<

                var->transp.offset) |

            ((red >> (16 - var->red.length)) <<

                var->red.offset) |

            ((green >> (16 - var->green.length)) <<

             var->green.offset) |

            (blue >> (16 - var->blue.length));

        ((u32 *)(fbi->pseudo_palette))[regno] = pal;

    }

    break;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好。

    请使用英语提及您的问题、

    此致

    M·塔伦

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1.问题的背景:

      am5728+lt8718+显示屏(MIPI DPI)

      Linux 版本:4.9.69

      当前三种主要颜色、红色、绿色、蓝色测试显示颜色正确。

      该应用程序使用 QT UI 调用系统界面、设置将颜色添加到透明度参数、显示颜色与实际颜色不匹配。

    2.问题说明:

      已对 Linux 驱动程序进行了更改、但仍不正确。 问,ARGB 透明度参数驱动程序如何修改?

    3.修改驱动程序测试:

    3.1. drivers/vedio/fbdev omap2 omapfb/omapfb - main.c 文件 fb_mode_to_dss_mode ()函数

      情形32:

      dsmode = OMAP_DSS_COLOR_RGB24U;

      中断;

    更改为:

      情形32:

      dsmode = OMAP_DSS_COLOR_ARGB32;

      中断;

    3.2  drivers/vedio/fbdev/omapfb/omapfb-main.c file _setcolreg () function

    case OMAPFB_COLOR_RGB24U:
    
          if (r != 0)
    
            break;
    
        printk("%s regno:%d\n", __func__, regno);
    
        if (regno < 16) {
    
            u32 pal;
    
            pal = ((red >> (16 - var->red.length)) <<
    
                    var->red.offset) |
    
                ((green >> (16 - var->green.length)) <<
    
                 var->green.offset) |
    
                (blue >> (16 - var->blue.length));
    
            ((u32 *)(fbi->pseudo_palette))[regno] = pal;
    
        }
    
        break;

    更改为:

    case OMAPFB_COLOR_RGB24U:
    
    case OMAPFB_COLOR_ARGB32:
    
        if (r != 0)
    
            break;
    
        printk("%s regno:%d\n", __func__, regno);
    
        if (regno < 16) {
    
            u32 pal;
    
            pal = ((transp >> (16 - var->transp.length)) <<
    
                    var->transp.offset) |
    
                ((red >> (16 - var->red.length)) <<
    
                    var->red.offset) |
    
                ((green >> (16 - var->green.length)) <<
    
                 var->green.offset) |
    
                (blue >> (16 - var->blue.length));
    
            ((u32 *)(fbi->pseudo_palette))[regno] = pal;
    
        }
    
        break;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Wang:

    您是否可以在输入英文后将此问题作为新问题提交?  

    此论坛的问题必须是英文、因为您的问题目前没有、并且问题与答案的可找到性不同。

    谢谢你。

    此致!

    若苏厄

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    问题已在此处重新发布 :https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1339745/am5728-am5728-dispaly-subsystem-argb-format-transparency-parameter-problem

    -Josue