diff options
author | Vasily Khoruzhick <anarsoul@gmail.com> | 2011-03-11 11:20:47 +0200 |
---|---|---|
committer | Eric Miao <eric.y.miao@gmail.com> | 2011-03-16 17:37:03 +0800 |
commit | 1b98d7c4491e5eaba7c403ec1bc5997e6596e569 (patch) | |
tree | cbd325caae3dd704373b6978a1e2368c7ad6e88c /drivers/video/pxafb.h | |
parent | 1014cc38280f29ea0a39ec9a853fa0c3fdfebc7c (diff) | |
download | blackbird-op-linux-1b98d7c4491e5eaba7c403ec1bc5997e6596e569.tar.gz blackbird-op-linux-1b98d7c4491e5eaba7c403ec1bc5997e6596e569.zip |
ARM: pxafb: rework pxafb overlay memory management
PXAFB overlay memory management is something messy:
- it allocates memory dynamically on open/release, and it results
in memory allocation failure after ~1h of uptime (system does not have
115k of physically contiguous memory)
- in release callback it tries to free memory even if it was not
allocated.
Also driver touches FDADR1 on main plane reconfiguration, and it can cause
problems if overlay1 is enabled.
This patch attempts to fix those issues.
Patch is based on Russell King's work.
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
Diffstat (limited to 'drivers/video/pxafb.h')
-rw-r--r-- | drivers/video/pxafb.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/video/pxafb.h b/drivers/video/pxafb.h index 2353521c5c8c..26ba9fa3f737 100644 --- a/drivers/video/pxafb.h +++ b/drivers/video/pxafb.h @@ -92,7 +92,8 @@ struct pxafb_layer_ops { struct pxafb_layer { struct fb_info fb; int id; - atomic_t usage; + int registered; + uint32_t usage; uint32_t control[2]; struct pxafb_layer_ops *ops; |