Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 05f6ece6 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6

parents 35d138ae 58b6c58c
Loading
Loading
Loading
Loading
+10 −10
Original line number Original line Diff line number Diff line
@@ -29,9 +29,9 @@
#include <asm/processor.h>
#include <asm/processor.h>
#include <asm/sections.h>
#include <asm/sections.h>


int split_tlb;
int split_tlb __read_mostly;
int dcache_stride;
int dcache_stride __read_mostly;
int icache_stride;
int icache_stride __read_mostly;
EXPORT_SYMBOL(dcache_stride);
EXPORT_SYMBOL(dcache_stride);




@@ -45,29 +45,29 @@ DEFINE_SPINLOCK(pa_tlb_lock);
EXPORT_SYMBOL(pa_tlb_lock);
EXPORT_SYMBOL(pa_tlb_lock);
#endif
#endif


struct pdc_cache_info cache_info;
struct pdc_cache_info cache_info __read_mostly;
#ifndef CONFIG_PA20
#ifndef CONFIG_PA20
static struct pdc_btlb_info btlb_info;
static struct pdc_btlb_info btlb_info __read_mostly;
#endif
#endif


#ifdef CONFIG_SMP
#ifdef CONFIG_SMP
void
void
flush_data_cache(void)
flush_data_cache(void)
{
{
	on_each_cpu((void (*)(void *))flush_data_cache_local, NULL, 1, 1);
	on_each_cpu(flush_data_cache_local, NULL, 1, 1);
}
}
void 
void 
flush_instruction_cache(void)
flush_instruction_cache(void)
{
{
	on_each_cpu((void (*)(void *))flush_instruction_cache_local, NULL, 1, 1);
	on_each_cpu(flush_instruction_cache_local, NULL, 1, 1);
}
}
#endif
#endif


void
void
flush_cache_all_local(void)
flush_cache_all_local(void)
{
{
	flush_instruction_cache_local();
	flush_instruction_cache_local(NULL);
	flush_data_cache_local();
	flush_data_cache_local(NULL);
}
}
EXPORT_SYMBOL(flush_cache_all_local);
EXPORT_SYMBOL(flush_cache_all_local);


@@ -332,7 +332,7 @@ void clear_user_page_asm(void *page, unsigned long vaddr)
}
}


#define FLUSH_THRESHOLD 0x80000 /* 0.5MB */
#define FLUSH_THRESHOLD 0x80000 /* 0.5MB */
int parisc_cache_flush_threshold = FLUSH_THRESHOLD;
int parisc_cache_flush_threshold __read_mostly = FLUSH_THRESHOLD;


void parisc_setup_cache_timing(void)
void parisc_setup_cache_timing(void)
{
{
+9 −4
Original line number Original line Diff line number Diff line
@@ -39,7 +39,7 @@
#include <asm/parisc-device.h>
#include <asm/parisc-device.h>


/* See comments in include/asm-parisc/pci.h */
/* See comments in include/asm-parisc/pci.h */
struct hppa_dma_ops *hppa_dma_ops;
struct hppa_dma_ops *hppa_dma_ops __read_mostly;
EXPORT_SYMBOL(hppa_dma_ops);
EXPORT_SYMBOL(hppa_dma_ops);


static struct device root = {
static struct device root = {
@@ -515,8 +515,13 @@ alloc_pa_dev(unsigned long hpa, struct hardware_path *mod_path)
			(iodc_data[5] << 8) | iodc_data[6];
			(iodc_data[5] << 8) | iodc_data[6];
	dev->hpa.name = parisc_pathname(dev);
	dev->hpa.name = parisc_pathname(dev);
	dev->hpa.start = hpa;
	dev->hpa.start = hpa;
	if (hpa == 0xf4000000 || hpa == 0xf6000000 ||
	/* This is awkward.  The STI spec says that gfx devices may occupy
	    hpa == 0xf8000000 || hpa == 0xfa000000) {
	 * 32MB or 64MB.  Unfortunately, we don't know how to tell whether
	 * it's the former or the latter.  Assumptions either way can hurt us.
	 */
	if (hpa == 0xf4000000 || hpa == 0xf8000000) {
		dev->hpa.end = hpa + 0x03ffffff;
	} else if (hpa == 0xf6000000 || hpa == 0xfa000000) {
		dev->hpa.end = hpa + 0x01ffffff;
		dev->hpa.end = hpa + 0x01ffffff;
	} else {
	} else {
		dev->hpa.end = hpa + 0xfff;
		dev->hpa.end = hpa + 0xfff;
+1 −1
Original line number Original line Diff line number Diff line
@@ -80,7 +80,7 @@ static unsigned long pdc_result2[32] __attribute__ ((aligned (8)));


/* Firmware needs to be initially set to narrow to determine the 
/* Firmware needs to be initially set to narrow to determine the 
 * actual firmware width. */
 * actual firmware width. */
int parisc_narrow_firmware = 1;
int parisc_narrow_firmware __read_mostly = 1;
#endif
#endif


/* On most currently-supported platforms, IODC I/O calls are 32-bit calls
/* On most currently-supported platforms, IODC I/O calls are 32-bit calls
+1 −0
Original line number Original line Diff line number Diff line
@@ -551,6 +551,7 @@ static struct hp_hardware hp_hardware_list[] __initdata = {
	{HPHW_BCPORT, 0x804, 0x0000C, 0x10, "REO I/O BC Merced Port"}, 
	{HPHW_BCPORT, 0x804, 0x0000C, 0x10, "REO I/O BC Merced Port"}, 
	{HPHW_BCPORT, 0x782, 0x0000C, 0x00, "REO I/O BC Ropes Port"}, 
	{HPHW_BCPORT, 0x782, 0x0000C, 0x00, "REO I/O BC Ropes Port"}, 
	{HPHW_BCPORT, 0x784, 0x0000C, 0x00, "Pluto I/O BC Ropes Port"}, 
	{HPHW_BCPORT, 0x784, 0x0000C, 0x00, "Pluto I/O BC Ropes Port"}, 
	{HPHW_BRIDGE, 0x05D, 0x0000A, 0x00, "SummitHawk Dino PCI Bridge"}, 
	{HPHW_BRIDGE, 0x680, 0x0000A, 0x00, "Dino PCI Bridge"}, 
	{HPHW_BRIDGE, 0x680, 0x0000A, 0x00, "Dino PCI Bridge"}, 
	{HPHW_BRIDGE, 0x682, 0x0000A, 0x00, "Cujo PCI Bridge"}, 
	{HPHW_BRIDGE, 0x682, 0x0000A, 0x00, "Cujo PCI Bridge"}, 
	{HPHW_BRIDGE, 0x782, 0x0000A, 0x00, "Elroy PCI Bridge"}, 
	{HPHW_BRIDGE, 0x782, 0x0000A, 0x00, "Elroy PCI Bridge"}, 
+3 −3
Original line number Original line Diff line number Diff line
@@ -38,7 +38,7 @@
*/
*/
#undef DEBUG_PAT
#undef DEBUG_PAT


int pdc_type = PDC_TYPE_ILLEGAL;
int pdc_type __read_mostly = PDC_TYPE_ILLEGAL;


void __init setup_pdc(void)
void __init setup_pdc(void)
{
{
@@ -120,8 +120,8 @@ set_pmem_entry(physmem_range_t *pmem_ptr, unsigned long start,
	 * pdc info is bad in this case).
	 * pdc info is bad in this case).
	 */
	 */


	if (   ((start & (PAGE_SIZE - 1)) != 0)
	if (unlikely( ((start & (PAGE_SIZE - 1)) != 0)
	    || ((pages4k & ((1UL << PDC_PAGE_ADJ_SHIFT) - 1)) != 0) ) {
	    || ((pages4k & ((1UL << PDC_PAGE_ADJ_SHIFT) - 1)) != 0) )) {


		panic("Memory range doesn't align with page size!\n");
		panic("Memory range doesn't align with page size!\n");
	}
	}
Loading