linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
To: Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
	H Peter Anvin <hpa@zytor.com>, Nick Piggin <npiggin@suse.de>,
	Hugh Dickins <hugh@veritas.com>,
	Roland Dreier <rdreier@cisco.com>,
	Jesse Barnes <jbarnes@virtuousgeek.org>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	Arjan van de Ven <arjan@infradead.org>
Cc: linux-kernel@vger.kernel.org,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	Suresh Siddha <suresh.b.siddha@intel.com>
Subject: [patch 7/8] x86 PAT: add pgprot_writecombine() interface for drivers
Date: Wed, 12 Nov 2008 13:26:54 -0800	[thread overview]
Message-ID: <20081112212900.860540000@intel.com> (raw)
In-Reply-To: 20081112212647.259698000@intel.com

[-- Attachment #1: add_pgprot_writecombine.patch --]
[-- Type: text/plain, Size: 2135 bytes --]


Add pgprot_writecombine. pgprot_writecombine will be aliased to
pgprot_noncached when not supported by the architecture.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>

---
 arch/x86/include/asm/pgtable.h |    3 +++
 arch/x86/mm/pat.c              |    8 ++++++++
 include/asm-generic/pgtable.h  |    4 ++++
 3 files changed, 15 insertions(+)

Index: tip/include/asm-generic/pgtable.h
===================================================================
--- tip.orig/include/asm-generic/pgtable.h	2008-11-12 12:03:41.000000000 -0800
+++ tip/include/asm-generic/pgtable.h	2008-11-12 12:09:34.000000000 -0800
@@ -129,6 +129,10 @@ static inline void ptep_set_wrprotect(st
 #define move_pte(pte, prot, old_addr, new_addr)	(pte)
 #endif
 
+#ifndef pgprot_writecombine
+#define pgprot_writecombine pgprot_noncached
+#endif
+
 /*
  * When walking page tables, get the address of the next boundary,
  * or the end address of the range if that comes earlier.  Although no
Index: tip/arch/x86/include/asm/pgtable.h
===================================================================
--- tip.orig/arch/x86/include/asm/pgtable.h	2008-11-12 12:09:31.000000000 -0800
+++ tip/arch/x86/include/asm/pgtable.h	2008-11-12 12:09:34.000000000 -0800
@@ -168,6 +168,9 @@
 
 #ifndef __ASSEMBLY__
 
+#define pgprot_writecombine	pgprot_writecombine
+extern pgprot_t pgprot_writecombine(pgprot_t prot);
+
 /*
  * ZERO_PAGE is a global shared page that is always zero: used
  * for zero-mapped memory areas etc..
Index: tip/arch/x86/mm/pat.c
===================================================================
--- tip.orig/arch/x86/mm/pat.c	2008-11-12 12:06:50.000000000 -0800
+++ tip/arch/x86/mm/pat.c	2008-11-12 12:09:34.000000000 -0800
@@ -797,6 +797,14 @@ void untrack_pfn_vma(struct vm_area_stru
 	}
 }
 
+pgprot_t pgprot_writecombine(pgprot_t prot)
+{
+	if (pat_enabled)
+		return __pgprot(pgprot_val(prot) | _PAGE_CACHE_WC);
+	else
+		return pgprot_noncached(prot);
+}
+
 #if defined(CONFIG_DEBUG_FS) && defined(CONFIG_X86_PAT)
 
 /* get Nth element of the linked list */

-- 


  parent reply	other threads:[~2008-11-12 23:22 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-12 21:26 [patch 0/8] x86 PAT: track pfnmap mappings with remap_pfn_range and vm_insert_pfn Venkatesh Pallipadi
2008-11-12 21:26 ` [patch 1/8] x86 PAT: store vm_pgoff for all linear_over_vma_region mappings Venkatesh Pallipadi
2008-11-12 21:26 ` [patch 2/8] x86 PAT: set VM_PFNMAP flag in vm_insert_pfn Venkatesh Pallipadi
2008-11-12 23:23   ` Nick Piggin
2008-11-13  0:02     ` Pallipadi, Venkatesh
2008-11-13  3:44       ` Nick Piggin
2008-11-13 18:47         ` Pallipadi, Venkatesh
2008-11-14  2:05           ` Nick Piggin
2008-11-14 21:35             ` Pallipadi, Venkatesh
2008-11-17  2:30               ` Nick Piggin
2008-11-18 21:37                 ` Ingo Molnar
2008-11-20 23:42                   ` Pallipadi, Venkatesh
2008-11-21  0:50                     ` Nick Piggin
2008-11-15  7:38     ` Benjamin Herrenschmidt
2008-11-12 21:26 ` [patch 3/8] x86 PAT: Add follow_pfnmp_pte routine to help tracking pfnmap pages Venkatesh Pallipadi
2008-11-12 23:27   ` Nick Piggin
2008-11-12 23:54     ` Pallipadi, Venkatesh
2008-11-12 21:26 ` [patch 4/8] x86 PAT: hooks in generic vm code to help archs to track pfnmap regions Venkatesh Pallipadi
2008-12-16 19:57   ` Andrew Morton
2008-12-16 20:07     ` Pallipadi, Venkatesh
2008-12-16 20:13       ` Andrew Morton
2008-11-12 21:26 ` [patch 5/8] x86 PAT: Implement track/untrack of pfnmap regions for x86 Venkatesh Pallipadi
2008-12-16 20:07   ` Andrew Morton
2008-12-16 23:19     ` Pallipadi, Venkatesh
2008-11-12 21:26 ` [patch 6/8] x86 PAT: change pgprot_noncached to uc_minus instead of strong uc Venkatesh Pallipadi
2008-11-12 21:26 ` Venkatesh Pallipadi [this message]
2008-11-12 21:26 ` [patch 8/8] x86 PAT: update documentation to cover pgprot and remap_pfn related changes Venkatesh Pallipadi

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=20081112212900.860540000@intel.com \
    --to=venkatesh.pallipadi@intel.com \
    --cc=arjan@infradead.org \
    --cc=hpa@zytor.com \
    --cc=hugh@veritas.com \
    --cc=jbarnes@virtuousgeek.org \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=npiggin@suse.de \
    --cc=rdreier@cisco.com \
    --cc=suresh.b.siddha@intel.com \
    --cc=tglx@linutronix.de \
    /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;
as well as URLs for NNTP newsgroup(s).