mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>,
	Dave Airlie <airlied@redhat.com>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	greg@kroah.com
Subject: Re: [PATCH 14/15] gma500: nuke the PSB debug stuff
Date: Mon, 13 Jun 2011 16:44:03 +0100	[thread overview]
Message-ID: <20110613164403.4cb74675@lxorguk.ukuu.org.uk> (raw)
In-Reply-To: <BANLkTi=WhtbST=GxP9Q03L0bhppFuozjsw@mail.gmail.com>

> Given that I've mucked around in drm_mm quite a bit I'd be very interested
> in your opinion about what's weird in it (and presumably what could be
> improved). Can you elaborate?

Mostly the API, which is also somewhat poorly documented. I've not dug
into the internals beyond trying to figure out how to use it. Looking at
the users the API is non-obvious, the interface involves a mix of calls
and digging deep into struct internals.

I'd have expected an API that had allocate/free type methods and exposed
the needed information directly or very easily not one that has drivers
doing. drm_sman seems to be attempt in that direction but its also rather
odd with interfaces like


        item = drm_sman_alloc(&dev_priv->sman, mem->type, tmpSize, 0,
                              (unsigned long)file_priv);
        mutex_unlock(&dev->struct_mutex);
        if (item) {
                mem->offset = ((mem->type == VIA_MEM_VIDEO) ?
                              dev_priv->vram_offset :
        dev_priv->agp_offset) + (item->mm->
                     offset(item->mm, item->mm_info) <<
        VIA_MM_ALIGN_SHIFT); mem->index = item->user_hash.key;


where the item->... gymnastics are spectacular to say the least given the
basic function of the allocator appears to be to provide said offset in
the first place.

And ultimately this is why I went with using allocate_region and friends
plus using GEM to do handles, which was a good choice for other reasons
as GEM is rather nicely designed barring the lack of a couple of helpers
and the few lines needed to split the shmem/handle abstraction properly.

Possibly drm_sman and friends should just wrap whatever simple native
allocator exists on the OS ?

Alan



  reply	other threads:[~2011-06-13 15:42 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-08 10:10 [PATCH 00/15] GMA500 KMS and GEM Alan Cox
2011-06-08 10:11 ` [PATCH 01/15] gma500: fix warnings Alan Cox
2011-06-08 10:11 ` [PATCH 02/15] gma500: Skip bogus LVDS VBT mode and check for LVDS before adding backlight Alan Cox
2011-06-08 10:11 ` [PATCH 03/15] gma500: Make GTT pages uncached Alan Cox
2011-06-08 10:12 ` [PATCH 04/15] gma500: Ensure the frame buffer has a linear virtual mapping Alan Cox
2011-06-08 10:12 ` [PATCH 05/15] gma500: Set the correct bits according to the pipe Alan Cox
2011-06-08 10:12 ` [PATCH 06/15] staging/gma500: get control from firmware framebuffer if conflicts Alan Cox
2011-06-08 10:13 ` [PATCH 07/15] gma500: Fix uninitialized variable and style issues Alan Cox
2011-06-08 10:13 ` [PATCH 08/15] gma500: revamp frame buffer creation and handling Alan Cox
2011-06-08 10:13 ` [PATCH 09/15] gma500: Do sane FB cleanup Alan Cox
2011-06-08 10:14 ` [PATCH 10/15] gma500: trim some of the debug Alan Cox
2011-06-08 10:14 ` [PATCH 11/15] gma500: polish for completion of this phase Alan Cox
2011-06-08 10:14 ` [PATCH 12/15] gma500: 2D acceleration tidying Alan Cox
2011-06-08 10:15 ` [PATCH 13/15] gma500: nuke the last bits of TTM code Alan Cox
2011-06-08 10:15 ` [PATCH 14/15] gma500: nuke the PSB debug stuff Alan Cox
2011-06-09  1:10   ` Patrik Jakobsson
2011-06-09  8:11     ` Alan Cox
2011-06-09 10:36       ` Dave Airlie
2011-06-09 11:45         ` Patrik Jakobsson
2011-06-09 12:04           ` Alan Cox
2011-06-12 19:02             ` Daniel Vetter
2011-06-13 15:44               ` Alan Cox [this message]
2011-06-13 19:35                 ` Daniel Vetter
2011-06-09 11:55         ` Alan Cox
2011-06-08 10:15 ` [PATCH 15/15] gma500: Kill spare kref Alan Cox
2011-06-08 11:15 ` [OT] Re: [PATCH 00/15] GMA500 KMS and GEM Lukasz
2011-06-08 12:24   ` Alan Cox
2011-06-14  9:24     ` Pasi Kärkkäinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110613164403.4cb74675@lxorguk.ukuu.org.uk \
    --to=alan@lxorguk.ukuu.org.uk \
    --cc=airlied@redhat.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=patrik.r.jakobsson@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®