diff options
author | Dave Airlie <airlied@redhat.com> | 2009-10-06 05:54:01 +0200 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-10-06 05:54:01 +0200 |
commit | b8c00ac5b50b54491657f8b6740db1df50149944 (patch) | |
tree | b4cfbc0dbb5ba063bcc933d7339504b80dc5c61c /include/drm | |
parent | drm/fb: add setcmap and fix 8-bit support. (diff) | |
download | linux-b8c00ac5b50b54491657f8b6740db1df50149944.tar.xz linux-b8c00ac5b50b54491657f8b6740db1df50149944.zip |
drm/fb: add more correct 8/16/24/32 bpp fb support.
The previous patches had some unwanted side effects, I've fixed
the lack of 32bpp working, and fixed up 16bpp so it should also work.
this also adds the interface to allow the driver to set a preferred
console depth so for example low memory rn50 can set it to 8bpp.
It also catches 24bpp on cards that can't do it and forces 32bpp.
Tested on r100/r600/i945.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'include/drm')
-rw-r--r-- | include/drm/drm_fb_helper.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index f1ed08559fc7..58c892a2cbfa 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h @@ -39,6 +39,8 @@ struct drm_fb_helper_crtc { struct drm_fb_helper_funcs { void (*gamma_set)(struct drm_crtc *crtc, u16 red, u16 green, u16 blue, int regno); + void (*gamma_get)(struct drm_crtc *crtc, u16 *red, u16 *green, + u16 *blue, int regno); }; /* mode specified on the command line */ @@ -71,6 +73,7 @@ struct drm_fb_helper { }; int drm_fb_helper_single_fb_probe(struct drm_device *dev, + int preferred_bpp, int (*fb_create)(struct drm_device *dev, uint32_t fb_width, uint32_t fb_height, |