• Takashi Iwai's avatar
    drm/cirrus: Limit modes depending on bpp option · 7f551b1e
    Takashi Iwai authored
    The commit [8975626e: drm/cirrus: allow 32bpp framebuffers for
    cirrus drm] broke X modesetting driver because cirrus driver still
    provides the full list of modes up to 1280x1024 while the 32bpp can
    support only up to 800x600.
    
    We might be able to filter out the invalid modes in mode_valid
    callback, but unfortunately the bpp in question can't be referred
    there for now (let me know if there is a better way to retrieve the
    bpp for the probed fb).
    
    So, instead, this patch adds the bpp module option to specify the
    maximal bpp explicitly and limits the resolutions in get_modes
    depending on its value.
    
    The default value is set to 24 so that the existing stuff keeps
    working.  If you need a new 32bpp feature, specify cirrus.bpp=32
    option explicitly.
    
    Fixes: 8975626e ('drm/cirrus: allow 32bpp framebuffers for cirrus drm')
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
    7f551b1e
cirrus_main.c 7.39 KB