On Sun, 2008-04-06 at 02:21 -0700, Thomas Hellstrom wrote: > linux-core/drm_objects.h | 2 ++ > linux-core/drm_ttm.c | 12 +++++++++--- > 2 files changed, 11 insertions(+), 3 deletions(-) > > New commits: > commit e89710bef7691e4e9d0bc7d427542bfae6ce4258 > Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com> > Date: Sun Apr 6 11:21:22 2008 +0200 > > Place highmem pages last in the ttm page array.
Could you add a comment explaining what this is about?
> diff --git a/linux-core/drm_objects.h b/linux-core/drm_objects.h
> index 9bd04ff..c32edac 100644
> --- a/linux-core/drm_objects.h
> +++ b/linux-core/drm_objects.h
> @@ -311,6 +311,8 @@ struct drm_ttm_backend {
> struct drm_ttm {
> struct page *dummy_read_page;
> struct page **pages;
> + long first_himem_page;
> + long last_lomem_page;
> uint32_t page_flags;
> unsigned long num_pages;
> atomic_t vma_count;
> diff --git a/linux-core/drm_ttm.c b/linux-core/drm_ttm.c
> index da202a5..c306a2c 100644
> --- a/linux-core/drm_ttm.c
> +++ b/linux-core/drm_ttm.c
> @@ -263,12 +263,16 @@ struct page *drm_ttm_get_page(struct drm_ttm *ttm, int
> index)
> struct page *p;
> struct drm_buffer_manager *bm = &ttm->dev->bm;
>
> - p = ttm->pages[index];
> - if (!p) {
> + while(NULL == (p = ttm->pages[index])) {
> p = drm_ttm_alloc_page();
> if (!p)
> return NULL;
> - ttm->pages[index] = p;
> +
> + if (PageHighMem(p))
> + ttm->pages[--ttm->first_himem_page] = p;
> + else
> + ttm->pages[++ttm->last_lomem_page] = p;
> +
> ++bm->cur_pages;
> }
> return p;
> @@ -376,6 +380,8 @@ struct drm_ttm *drm_ttm_create(struct drm_device *dev,
> unsigned long size,
>
> ttm->destroy = 0;
> ttm->num_pages = (size + PAGE_SIZE - 1) >> PAGE_SHIFT;
> + ttm->first_himem_page = ttm->num_pages;
> + ttm->last_lomem_page = -1;
>
> ttm->page_flags = page_flags;
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
> Register now and save $200. Hurry, offer ends at 11:59 p.m.,
> Monday, April 7! Use priority code J8TLD2.
> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
> --
> _______________________________________________
> Dri-patches mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/dri-patches
--
Eric Anholt [EMAIL PROTECTED]
[EMAIL PROTECTED] [EMAIL PROTECTED]
signature.asc
Description: This is a digitally signed message part
------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Register now and save $200. Hurry, offer ends at 11:59 p.m., Monday, April 7! Use priority code J8TLD2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
-- _______________________________________________ Dri-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dri-devel
