From: Greg KH <gregkh@linuxfoundation.org>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: chris@chris-wilson.co.uk, dri-devel@lists.freedesktop.org,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: drm: add helper to clflush a virtual address range
Date: Fri, 25 May 2012 14:24:32 +0900 [thread overview]
Message-ID: <20120525052432.GA15480@kroah.com> (raw)
In-Reply-To: <20120524195529.234567C007E@ra.kernel.org>
Hi Daniel,
I see you say you wanted the patch below for the stable tree, due to
some later patch needing it, yet this patch was not "marked" for the
stable tree, and I can't seem to figure out which "later patch" you are
referring to here.
Any hints on what I should do for the 3.4-stable kernel tree with this?
thanks,
greg k-h
On Thu, May 24, 2012 at 07:55:29PM +0000, Linux Kernel Mailing List wrote:
> Gitweb: http://git.kernel.org/linus/;a=commit;h=6d5cd9cb1e32e4f4e4468704430b26bcb0bfb129
> Commit: 6d5cd9cb1e32e4f4e4468704430b26bcb0bfb129
> Parent: dbf7bff074d5fdc87c61b1b41d8e809109cf0bf8
> Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> AuthorDate: Sun Mar 25 19:47:30 2012 +0200
> Committer: Daniel Vetter <daniel.vetter@ffwll.ch>
> CommitDate: Tue Mar 27 13:19:45 2012 +0200
>
> drm: add helper to clflush a virtual address range
>
> Useful when the page is already mapped to copy date in/out.
>
> For -stable because the next patch (fixing phys obj pwrite) needs this
> little helper function.
>
> Tested-by: Chris Wilson <chris@chris-wilson.co.uk>
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: dri-devel@lists.freedesktop.org
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
> drivers/gpu/drm/drm_cache.c | 23 +++++++++++++++++++++++
> include/drm/drmP.h | 1 +
> 2 files changed, 24 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_cache.c b/drivers/gpu/drm/drm_cache.c
> index 5928653..c7c8f6b 100644
> --- a/drivers/gpu/drm/drm_cache.c
> +++ b/drivers/gpu/drm/drm_cache.c
> @@ -98,3 +98,26 @@ drm_clflush_pages(struct page *pages[], unsigned long num_pages)
> #endif
> }
> EXPORT_SYMBOL(drm_clflush_pages);
> +
> +void
> +drm_clflush_virt_range(char *addr, unsigned long length)
> +{
> +#if defined(CONFIG_X86)
> + if (cpu_has_clflush) {
> + char *end = addr + length;
> + mb();
> + for (; addr < end; addr += boot_cpu_data.x86_clflush_size)
> + clflush(addr);
> + clflush(end - 1);
> + mb();
> + return;
> + }
> +
> + if (on_each_cpu(drm_clflush_ipi_handler, NULL, 1) != 0)
> + printk(KERN_ERR "Timed out waiting for cache flush.\n");
> +#else
> + printk(KERN_ERR "Architecture has no drm_cache.c support\n");
> + WARN_ON_ONCE(1);
> +#endif
> +}
> +EXPORT_SYMBOL(drm_clflush_virt_range);
> diff --git a/include/drm/drmP.h b/include/drm/drmP.h
> index 92f0981..d33597b 100644
> --- a/include/drm/drmP.h
> +++ b/include/drm/drmP.h
> @@ -1332,6 +1332,7 @@ extern int drm_remove_magic(struct drm_master *master, drm_magic_t magic);
>
> /* Cache management (drm_cache.c) */
> void drm_clflush_pages(struct page *pages[], unsigned long num_pages);
> +void drm_clflush_virt_range(char *addr, unsigned long length);
>
> /* Locking IOCTL support (drm_lock.h) */
> extern int drm_lock(struct drm_device *dev, void *data,
> --
> To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next parent reply other threads:[~2012-05-25 5:24 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20120524195529.234567C007E@ra.kernel.org>
2012-05-25 5:24 ` Greg KH [this message]
2012-05-25 7:35 ` drm: add helper to clflush a virtual address range Daniel Vetter
2012-05-25 7:35 ` Daniel Vetter
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=20120525052432.GA15480@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=chris@chris-wilson.co.uk \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.