lkml.org 
[lkml]   [2009]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 1/3] drm/fb: fix FBIOGET/PUT_VSCREENINFO pixel clock handling
    When the framebuffer driver does not publish detailed timing information
    for the current video mode, the correct value for the pixclock field is
    zero, not -1.

    Since pixclock is actually unsigned, the value -1 would be interpreted
    as 4294967295 picoseconds (i.e., about 4 milliseconds) by
    register_framebuffer() and userspace programs.

    This patch allows X.org's fbdev driver to work.

    Signed-off-by: Clemens Ladisch <clemens@ladisch.de>

    --- linux-2.6/drivers/gpu/drm/drm_fb_helper.c
    +++ linux-2.6/drivers/gpu/drm/drm_fb_helper.c
    @@ -583,7 +583,7 @@ int drm_fb_helper_check_var(struct fb_va
    struct drm_framebuffer *fb = fb_helper->fb;
    int depth;

    - if (var->pixclock == -1 || !var->pixclock)
    + if (var->pixclock != 0)
    return -EINVAL;

    /* Need to resize the fb object !!! */
    @@ -675,7 +675,7 @@ int drm_fb_helper_set_par(struct fb_info
    int ret;
    int i;

    - if (var->pixclock != -1) {
    + if (var->pixclock != 0) {
    DRM_ERROR("PIXEL CLCOK SET\n");
    return -EINVAL;
    }
    @@ -888,7 +888,7 @@ int drm_fb_helper_single_fb_probe(struct
    fb_helper->fb = fb;

    if (new_fb) {
    - info->var.pixclock = -1;
    + info->var.pixclock = 0;
    if (register_framebuffer(info) < 0)
    return -EINVAL;
    } else {

    \
     
     \ /
      Last update: 2009-11-02 08:43    [W:0.020 / U:2.440 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site